There has been some questions as to how to actually handle this shield in the code, so I'm providing some simple examples:
MicroPython
from machine import I2C, Pin
import time
i2c = I2C(sda=Pin(4), scl=Pin(5))
while True:
print(hex(i2c.readfrom(0x20, 1)[0]))
time.sleep(1)
NodeMCU
i2c.setup(0, 1, 2, i2c.SLOW) tmr.alarm(0, 1000, 1, function () i2c.start(0) i2c.address(0, 30, i2c.RECEIVER) print(string.toHex(i2c.read(0, 1))) i2c.stop(0) end)
Arduino
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin();
}
void loop() {
Wire.requestFrom(0x20, 1);
Serial.print(Wire.read(), HEX);
delay(1000);
}
All of the above examples scan the buttons once a second and print their state as a hexadecimal number on the serial console.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.