12345678910111213141516171819202122232425262728293031323334 |
- #include <M5Stack.h>
- #define KEYBOARD_I2C_ADDR 0X08
- #define KEYBOARD_INT 5
- void setup()
- {
- M5.begin();
- M5.Power.begin();
- Wire.begin();
- M5.Lcd.setTextFont(2);
- M5.Lcd.println("FACES Keyboard I2C Read Example");
- pinMode(KEYBOARD_INT, INPUT_PULLUP);
- }
- void loop()
- {
- if(digitalRead(KEYBOARD_INT) == LOW) {
- Wire.requestFrom(KEYBOARD_I2C_ADDR, 1); // request 1 byte from keyboard
- while (Wire.available()) {
- uint8_t key_val = Wire.read(); // receive a byte as character
- if(key_val != 0) {
- if(key_val >= 0x20 && key_val < 0x7F) { // ASCII String
- Serial.print((char)key_val);
- M5.Lcd.print((char)key_val);
- } else {
- Serial.printf("0x%02X ",key_val);
- M5.Lcd.printf("0x%02X ",key_val);
- }
- }
- }
- }
- }
|