Выкладываю исходный код емкотных кнопок для Arduino, который будет работать с программой HKey
Внимание если у вас резисторы стоят на одной или двух кнопках, то остальные кнопки в коде нужно закоментировать, иначе программа корректно работать не будет. Или придется использовать все семь кнопок которые прописаны в коде.
Если кому потребуется большее число кнопок то вы можете добавлять сами вплоть до 13-го цифрового порта, думаю как это сделать понятно по коду
PHP код:
#include <CapSense.h> // подключить библиотеку
byte bytes[2] = {0, 0};
CapSense Sensor1 = CapSense(2,3); // назначить пины для сенсора
CapSense Sensor2 = CapSense(2,4); // назначить пины для сенсора
CapSense Sensor3 = CapSense(2,5); // назначить пины для сенсора
CapSense Sensor4 = CapSense(2,6); // назначить пины для сенсора
CapSense Sensor5 = CapSense(2,7); // назначить пины для сенсора
CapSense Sensor6 = CapSense(2,8); // назначить пины для сенсора
CapSense Sensor7 = CapSense(2,9); // назначить пины для сенсора
void setup()
{
// Sensor1.set_CS_AutocaL_Millis(0xFFFFFFFF); //отключить автокалибровку
// Sensor1.set_CS_Timeout_Millis(999999); //время таймаута
Serial.begin(115200); // настроить скорость порта
}
void loop()
{
byte sens_on = 0;
long temp1 = Sensor1.capSense(30); // измерить емкость и сохранить
long temp2 = Sensor2.capSense(30); // измерить емкость и сохранить
long temp3 = Sensor3.capSense(30); // измерить емкость и сохранить
long temp4 = Sensor4.capSense(30); // измерить емкость и сохранить
long temp5 = Sensor5.capSense(30); // измерить емкость и сохранить
long temp6 = Sensor6.capSense(30); // измерить емкость и сохранить
long temp7 = Sensor7.capSense(30); // измерить емкость и сохранить
if (temp1 > 60) { sens_on = 10; }
if (temp2 > 60) { sens_on = 20; }
if (temp3 > 60) { sens_on = 30; }
if (temp4 > 60) { sens_on = 40; }
if (temp5 > 60) { sens_on = 50; }
if (temp6 > 60) { sens_on = 60; }
if (temp7 > 60) { sens_on = 70; }
bytes[0] = sens_on ;
Serial.write( bytes, 2);
delay(100); //Пауза между повторными нажатиями
}