0
TTP229(16キーまたは8キータッチパッド検出器)から2つの異なるバイトを読み取る必要があります。
私はPythonでI2Cを使用します。 TTP229 datasheet PDF。
2番目のバイトは読み取れませんが、最初のバイトを取得できます。Python I2C通信TTP229
Pythonコード:
import smbus
bus = smbus.SMBus(1)
adressTTP229 = 0x57 #0xAF>>1
byte1 = bus.read_byte(adressTTP229)
byte2 = bus.read_byte(adressTTP229)
byte1
は常にbyte2
に等しいです。
このArduinoのコードは、[OK]を動作します:
#include <Wire.h>
#define ttp229 (0xAF>>1)
void setup() {
Serial.begin(9600); // start serial for output
Wire.begin();
}
void loop() {
delay(50);
bool isNewData = false;
Wire.requestFrom(ttp229,2,true);
while (Wire.available()) {
uint16_t b1 = Wire.read(); // receive a first byte
uint16_t b2 = Wire.read(); // receive a second byte
if (b1==b2 && b2==0) {break;}
//...
}
}
は、どのように私はPythonでのArduinoのrequestFrom()
機能を使用していますか?
書かれたモジュールをテストします。 [github libttp229](https://github.com/Skaper/libttp229) –