Using CardKB (not hat) with M5StickC
-
Hello,
I'm trying to use CardKB with M5 Stick C through grove port. There is an example in the library (which looks like copy paste from M5Stack with only changed header name), but i couldn't make it work. One of the odd things is that messes with gpio5 which is connected to screen. Any suggestion on how to make CardKb work?
Thanks#include <M5StickC.h>
#include <Wire.h>#define CARDKB_ADDR 0x5F
void setup()
{
M5.begin();
Serial.begin(115200);
Wire.begin();
pinMode(5, INPUT);
digitalWrite(5, HIGH);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setRotation(3);
M5.Lcd.setCursor(1, 10);
M5.Lcd.setTextColor(YELLOW);
M5.Lcd.setTextSize(2);
M5.Lcd.printf("IIC Address: 0x5F\n");
M5.Lcd.printf(">>");
}
void loop()
{
Wire.requestFrom(CARDKB_ADDR, 1);
while(Wire.available())
{
char c = Wire.read(); // re ceive a byte as characterif
if (c != 0)
{
M5.Lcd.printf("%c", c);
Serial.println(c, HEX);
// M5.Speaker.beep();
}
}
// delay(10);
} -
#include <M5StickC.h> #include <Wire.h> #define CARDKB_ADDR 0x5F void setup() { M5.begin(); Serial.begin(115200); Wire.begin(); M5.Lcd.fillScreen(BLACK); M5.Lcd.setRotation(3); M5.Lcd.setCursor(1, 10); M5.Lcd.setTextColor(YELLOW); M5.Lcd.setTextSize(2); M5.Lcd.printf("IIC Address: 0x5F\n"); M5.Lcd.printf(">>"); } void loop() { Wire.requestFrom(CARDKB_ADDR, 1); while(Wire.available()) { char c = Wire.read(); // receive a byte as characterif if (c != 0) { M5.Lcd.printf("%c", c); Serial.println(c, HEX); // M5.Speaker.beep(); } } // delay(10); }
-
Thanks! it works.