//Touch_Pad_Class.ino application code#include "Touch_Pad_Class.h"
Touch_Pad_Class touchkey(D8,D7);void setup( ){ display.begin( ); Serial.begin(115200); touchkey.begin( );}void loop( ){ int readkey = touchkey.key( ); if (readkey){ Serial.println(readkey); display.print(readkey); }}------------------------------------------//Touch_Pad_Class.cpp Implementation File#include "Touch_Pad_Class.h"Touch_Pad_Class::Touch_Pad_Class (uint8_t sclpin, uint8_t sdopin) { _sclpin = sclpin; _sdopin = sdopin; }void Touch_Pad_Class:: begin( ){ pinMode(_sclpin,OUTPUT); digitalWrite(_sclpin,HIGH); pinMode(_sdopin,INPUT);}int Touch_Pad_Class:: key ( ) { int key = 0; //default for no key if (!digitalRead(_sdopin)) //exits loop or other actions if no key pressed { while (!digitalRead(_sdopin)); //wait for DV complete delayMicroseconds(10); //specs call for 10 uS delay for(int i=1;i< 17;i++){ //16 iterations digitalWrite(_sclpin,LOW); //toggle clock digitalWrite(_sclpin,HIGH); if(!digitalRead(_sdopin)){key=i;} //valid data found } delay(3); } return key;}--------------------------------//Touch_Pad_Class.h heder file#ifndef TOUCH_PAD_CLASS_H#define TOUCH_PAD_CLASS_H#include "Arduino.h"
class Touch_Pad_Class{ public: Touch_Pad_Class(uint8_t sclpin, uint8_t sdopin); void begin (void); int key(void); private: uint8_t _sclpin, _sdopin; };#endif-----------------------------