Как реализовать выполнение действия не одной цифрой а несколькими , мучаюсь с сенсорной клавиатурой Скетч: #include <TTP229.h> const int SCL_PIN = 2; // The pin number of the clock pin. const int SDO_PIN = 3; // The pin number of the data pin. TTP229 ttp229(SCL_PIN, SDO_PIN); // TTP229(sclPin, sdoPin) void setup() { Serial.begin(9600); //Serial.println("Start !"); pinMode(13, OUTPUT); } void loop() { uint8_t key = ttp229.ReadKey16(); // Blocking if (key==2) { digitalWrite(13,HIGH); } }
без понятия - просто не получается реализовать не 1 цифру а несколько, сенсор вот такой https://www.avito.ru/tolyatti/tovar...ya_klaviatura_xd-62b_ttp229_arduino_746234619
а зачем там мультитач? Просто последовательное заполнение и проверка массива. Код (C++): #include <TTP229.h> const byte SCL_PIN = 2; // The pin number of the clock pin. const byte SDO_PIN = 3; // The pin number of the data pin. TTP229 ttp229(SCL_PIN, SDO_PIN); // TTP229(sclPin, sdoPin) const byte numberKeys = 4; // количество цифр в пароле const byte password[numberKeys] = {2, 2, 1, 4}; // пароль void setup() { Serial.begin(9600); pinMode(BUILTIN_LED, OUTPUT); } void loop() { // вводим пароль byte key[numberKeys]; for (byte i = 0; i < numberKeys; i++) key[i] = ttp229.ReadKey16(); // Blocking // проверяем пароль byte errorCounter = 0; for (byte i = 0; i < numberKeys; i++) if (key[i] != password[i]) errorCounter++; // если пароль верный if (errorCounter == 0) digitalWrite(BUILTIN_LED, HIGH); }
Так если код Tomasina в чистом виде то в serial он ничего и не будет писать насколько я вижу, там не хватает вывода в порт, допишите и проверьте.
Код (C++): for (byte i = 0; i < numberKeys; i++) { key[i] = ttp229.ReadKey16(); Serial.print(key[i]); } и смотрим читает ли оно вообще что нибудь
#include <TTP229.h> const byte SCL_PIN =2;// The pin number of the clock pin. const byte SDO_PIN =3;// The pin number of the data pin. TTP229 ttp229(SCL_PIN, SDO_PIN);// TTP229(sclPin, sdoPin) const byte numberKeys =4; // количество цифр в пароле const byte password[numberKeys]={2, 2, 1, 4};// пароль void setup() { Serial.begin(9600); pinMode(13, OUTPUT); } void loop() { // вводим пароль byte key[numberKeys]; for(byte i =0; i < numberKeys; i++) key= ttp229.ReadKey16();// Blocking // проверяем пароль byte errorCounter =0; for(byte i =0; i < numberKeys; i++)if(key!= password) errorCounter++; // если пароль верный if(errorCounter ==0) digitalWrite(13, HIGH); }
#include <TTP229.h> const byte SCL_PIN = 2; // The pin number of the clock pin. const byte SDO_PIN = 3; // The pin number of the data pin. TTP229 ttp229(SCL_PIN, SDO_PIN); // TTP229(sclPin, sdoPin) const byte numberKeys = 4; // количество цифр в пароле const byte password[numberKeys] = {2, 2, 1, 4}; // пароль void setup() { Serial.begin(9600); pinMode(13, OUTPUT); } void loop() { // вводим пароль byte key[numberKeys]; for (byte i = 0; i < numberKeys; i++) { key = ttp229.ReadKey16(); Serial.print(key); } // проверяем пароль byte errorCounter = 0; for (byte i = 0; i < numberKeys; i++) if (key != password) errorCounter++; // если пароль верный if (errorCounter == 0) digitalWrite(13, HIGH); }