سلام من هم این ماژول را دارم ولی هنوز نتونستم راه اندازیش کنم چندتا سوال دارم اولا اینکه چطوری مسافت رو روی lcd نشون بدم،
دوم :چجور مشخص میشه که سنسور داره کار میکنه وقتی کار کنه led چشمک میزنه یا اینکه فقط یه بار روشن میشه؟
سوم:مقاومت pull upرا چقدر بزارم؟ حتما باید باشه؟
چهارم:مشکل کد منه چیه چرا جواب نمیده لطفا راهنمایی کنید که خیلی واجبه
اینم کد:
کد:
#include <mega8.h>
// I2C Bus functions
#asm
.equ __i2c_port=0x15 ;PORTC
.equ __sda_bit=4
.equ __scl_bit=5
#endasm
#include <i2c.h>
#include <stdio.h>
#include <delay.h>
#include <alcd.h>
#asm
.equ __lcd_port=0X18
#endasm
void main(void)
{
unsigned char str[20]="";
unsigned char x,y ;
unsigned char z ;
TWCR=0x00;
TWBR=0x02;
i2c_init();
lcd_init(16);
while (1)
{
delay_ms(50);
i2c_start();
i2c_write(0xE0);
i2c_write(0x00);
i2c_write(0x51);
i2c_stop();
i2c_start();
i2c_write(0xE0);
i2c_write(0x02);
x=i2c_read(0);
i2c_stop();
i2c_start();
i2c_write(0x03);
y=i2c_read(0);
i2c_stop();
z = x * 256;
z = z + y;
delay_ms(60);
lcd_clear();
lcd_gotoxy(0,0);
sprintf(str,"%u",z);
lcd_puts(str);
delay_ms(60);
}
}