KEYBOARD.ino 917 B

1234567891011121314151617181920212223242526272829303132
  1. #include <M5Stack.h>
  2. #define KEYBOARD_I2C_ADDR 0X08
  3. #define KEYBOARD_INT 5
  4. void setup() {
  5. M5.begin();
  6. M5.Power.begin();
  7. Wire.begin();
  8. M5.Lcd.setTextFont(2);
  9. M5.Lcd.println("FACES Keyboard I2C Read Example");
  10. pinMode(KEYBOARD_INT, INPUT_PULLUP);
  11. }
  12. void loop() {
  13. if (digitalRead(KEYBOARD_INT) == LOW) {
  14. Wire.requestFrom(KEYBOARD_I2C_ADDR, 1); // request 1 byte from keyboard
  15. while (Wire.available()) {
  16. uint8_t key_val = Wire.read(); // receive a byte as character
  17. if (key_val != 0) {
  18. if (key_val >= 0x20 && key_val < 0x7F) { // ASCII String
  19. Serial.print((char)key_val);
  20. M5.Lcd.print((char)key_val);
  21. } else {
  22. Serial.printf("0x%02X ", key_val);
  23. M5.Lcd.printf("0x%02X ", key_val);
  24. }
  25. }
  26. }
  27. }
  28. }