با سلام سنسور دیجیتال پروکسیمیتی VCNL4000 با باس i2c کار میکنه
ولی نمیدونم چرا جواب نمیده و هیچ دیتایی برنمیگردونه
برای کسایی که با این سنسور تجربه دارن میشه بگن چیه
یه کد ساده برای خوندن ID گزاشتم
ولی نمیدونم چرا جواب نمیده و هیچ دیتایی برنمیگردونه
برای کسایی که با این سنسور تجربه دارن میشه بگن چیه
یه کد ساده برای خوندن ID گزاشتم
$regfile = "m8def.dat"
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0
Config Scl = Portb.1
Config Sda = Portb.2
I2cinit
Const Vcnl_w = &H26
Const Vcnl_r = &H27
Dim Id As Byte
Waitms 50
Cursor Off
Cls
Lcd "VCNL4000"
Locate 2 , 1
Lcd "Proximity"
Wait 1
Home
Do
I2cstart
I2cwbyte &H13
I2cwbyte &H81
I2cstart
I2cwbyte Vcnl_r
I2crbyte Id , Nack
I2cstop
Home
Lcd "ID=" ; Id ; " "
Waitms 500
Loop
End
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0
Config Scl = Portb.1
Config Sda = Portb.2
I2cinit
Const Vcnl_w = &H26
Const Vcnl_r = &H27
Dim Id As Byte
Waitms 50
Cursor Off
Cls
Lcd "VCNL4000"
Locate 2 , 1
Lcd "Proximity"
Wait 1
Home
Do
I2cstart
I2cwbyte &H13
I2cwbyte &H81
I2cstart
I2cwbyte Vcnl_r
I2crbyte Id , Nack
I2cstop
Home
Lcd "ID=" ; Id ; " "
Waitms 500
Loop
End
دیدگاه