M5Stack ATOM Matrix + UiFLOW(つまり,MicroPython)でI2Cを扱うにはどうするか,なかなかわからなかった。Blocklyでも動く(import i2c_bus
という方式)のだが,Writeできるのは1/2/4バイトの整数1個だけのようだ。
結論,MicroPythonの Quick reference for the ESP32 というページでわかった。
i2c = I2C(scl=Pin(21), sda=Pin(25), freq=100000)
i2c.writeto(slave_addr, buf)
i2c.readfrom(slave_addr, 4)
といったコードだ。
ところで,UiFlow(M5FLOW?)でSaveしてもSaveされるのはBlocklyだけで,手で書いたPythonコードはSaveされないことが判明。ええ?エディタに Copy & Paste してコードとして保存。