I’m new to Arduino and electronics and I’m learning with some hardware. I’ve bought an I²C 20x4 LCD from byvac (BV4218) and I’m trying to send commands to it. Especially one which can modify address of device on bus.
Here’s list of commands available : http://www.i2c.byvac.com/sys_commands.php
I would use 0x98 or 0x99 command to change addresse of my I²C device. Actually it works on 42 (0x21 on Arduino) and I would take it to 44 (0x22).
I tried this code:
Well I’m curious now… does the temporary address change even work?
Try changing it during the setup, and using it in the loop. Also, try << instead.
The i2c website on byvac says all of their devices are 8 bit, so you do need to shift it over, but I’m not sure if you need to shift before sending, or if you can shift as you send. You can try setting address before hand and shifting then, not sure if it would make a difference?
byte ADDRESS = 0x22 >> 1; // or << 1
If you do figure it out and it’s not that, do let us know! Waiting for some eeprom and hopefully I can work out any problems I might have later, now!
No , the i2c address whats a left bit shift , but all the other command are the same.
if you want to tell it to save at 0x22 , it need a bit shift right
Name: Test
Format: < S-addr><0x55><
Value>
This command simply returns an incrementing
value until NACK is sent by the master prior to
stop. This can be useful for testing that the
interface is working.