Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <toneAC.h>
- #include <LiquidCrystal_I2C.h> //library
- #include <Wire.h>
- #define BACKLIGHT_PIN 13 //backlight pin
- LiquidCrystal_I2C lcd(0x3f, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
- //use for 0x2 7
- //LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
- unsigned long debounceDelay = 50;
- int threshold = 0;
- int count = 0;
- #define buttonPin1 2
- int buttonState1;
- int lastButtonState1 = LOW;
- unsigned long lastDebounceTime1 = 0;
- #define buttonPin2 3
- int buttonState2;
- int lastButtonState2 = LOW;
- unsigned long lastDebounceTime2 = 0;
- #define buttonPin3 4
- int buttonState3;
- int lastButtonState3 = LOW;
- unsigned long lastDebounceTime3 = 0;
- #define buttonPin4 5
- int buttonState4;
- int lastButtonState4 = LOW;
- unsigned long lastDebounceTime4 = 0;
- #define buttonPin5 6
- int buttonState5;
- int lastButtonState5 = LOW;
- unsigned long lastDebounceTime5 = 0;
- #define buttonPin6 7
- int buttonState6;
- int lastButtonState6 = LOW;
- unsigned long lastDebounceTime6 = 0;
- #define buttonPin7 8
- int buttonState7;
- int lastButtonState7 = LOW;
- unsigned long lastDebounceTime7 = 0;
- #define buttonPin8 9
- int buttonState8;
- int lastButtonState8 = LOW;
- unsigned long lastDebounceTime8 = 0;
- #define buttonPin9 10
- int buttonState9;
- int lastButtonState9 = LOW;
- unsigned long lastDebounceTime9 = 0;
- #define buttonPin10 11
- int buttonState10;
- int lastButtonState10 = LOW;
- unsigned long lastDebounceTime10 = 0;
- void setup()
- {
- Serial.begin(9600);
- pinMode(buttonPin1, INPUT_PULLUP);
- pinMode(buttonPin2, INPUT_PULLUP);
- pinMode(buttonPin3, INPUT_PULLUP);
- pinMode(buttonPin4, INPUT_PULLUP);
- pinMode(buttonPin5, INPUT_PULLUP);
- pinMode(buttonPin6, INPUT_PULLUP);
- pinMode(buttonPin7, INPUT_PULLUP);
- pinMode(buttonPin8, INPUT_PULLUP);
- pinMode(buttonPin9, INPUT_PULLUP);
- pinMode(buttonPin10, INPUT_PULLUP);
- }
- void loop() {
- readBtn1();
- readBtn3();
- readBtn2();
- readBtn4();
- readBtn5();
- readBtn6();
- readBtn7();
- readBtn8();
- readBtn9();
- readBtn10();
- booleanCheck();
- Serial.println(threshold);
- }
- void readBtn1() {
- int reading = digitalRead(buttonPin1);
- if (reading != lastButtonState1) {
- lastDebounceTime1 = millis();
- }
- if ((millis() - lastDebounceTime1) > debounceDelay) {
- if (reading != buttonState1) {
- buttonState1 = reading;
- if (buttonState1 == LOW) {
- count = 1;
- }
- }
- }
- lastButtonState1 = reading;
- }
- void readBtn2() {
- int reading = digitalRead(buttonPin2);
- if (reading != lastButtonState2) {
- lastDebounceTime2 = millis();
- }
- if ((millis() - lastDebounceTime2) > debounceDelay) {
- if (reading != buttonState2) {
- buttonState2 = reading;
- if (buttonState2 == LOW) {
- count = 2;
- }
- }
- }
- lastButtonState2 = reading;
- }
- void readBtn3() {
- int reading = digitalRead(buttonPin3);
- if (reading != lastButtonState3) {
- lastDebounceTime3 = millis();
- }
- if ((millis() - lastDebounceTime3) > debounceDelay) {
- if (reading != buttonState3) {
- buttonState3 = reading;
- if (buttonState3 == LOW) {
- count = 3;
- }
- }
- }
- lastButtonState3 = reading;
- }
- void readBtn4() {
- int reading = digitalRead(buttonPin4);
- if (reading != lastButtonState4) {
- lastDebounceTime4 = millis();
- }
- if ((millis() - lastDebounceTime4) > debounceDelay) {
- if (reading != buttonState4) {
- buttonState4 = reading;
- if (buttonState4 == LOW) {
- count = 4;
- }
- }
- }
- lastButtonState4 = reading;
- }
- void readBtn5() {
- int reading = digitalRead(buttonPin5);
- if (reading != lastButtonState5) {
- lastDebounceTime5 = millis();
- }
- if ((millis() - lastDebounceTime5) > debounceDelay) {
- if (reading != buttonState5) {
- buttonState5 = reading;
- if (buttonState5 == LOW) {
- count = 5;
- }
- }
- }
- lastButtonState5 = reading;
- }
- void readBtn6() {
- int reading = digitalRead(buttonPin6);
- if (reading != lastButtonState6) {
- lastDebounceTime6 = millis();
- }
- if ((millis() - lastDebounceTime6) > debounceDelay) {
- if (reading != buttonState6) {
- buttonState6 = reading;
- if (buttonState6 == LOW) {
- count = 6;
- }
- }
- }
- lastButtonState6 = reading;
- }
- void readBtn7() {
- int reading = digitalRead(buttonPin7);
- if (reading != lastButtonState7) {
- lastDebounceTime7 = millis();
- }
- if ((millis() - lastDebounceTime7) > debounceDelay) {
- if (reading != buttonState7) {
- buttonState7 = reading;
- if (buttonState7 == LOW) {
- count = 7;
- }
- }
- }
- lastButtonState7 = reading;
- }
- void readBtn8() {
- int reading = digitalRead(buttonPin8);
- if (reading != lastButtonState8) {
- lastDebounceTime8 = millis();
- }
- if ((millis() - lastDebounceTime8) > debounceDelay) {
- if (reading != buttonState8) {
- buttonState8 = reading;
- if (buttonState8 == LOW) {
- count = 8;
- }
- }
- }
- lastButtonState8 = reading;
- }
- void readBtn9() {
- int reading = digitalRead(buttonPin9);
- if (reading != lastButtonState9) {
- lastDebounceTime9 = millis();
- }
- if ((millis() - lastDebounceTime9) > debounceDelay) {
- if (reading != buttonState9) {
- buttonState9 = reading;
- if (buttonState9 == LOW) {
- count = 9;
- }
- }
- }
- lastButtonState9 = reading;
- }
- void readBtn10() {
- int reading = digitalRead(buttonPin10);
- if (reading != lastButtonState10) {
- lastDebounceTime10 = millis();
- }
- if ((millis() - lastDebounceTime10) > debounceDelay) {
- if (reading != buttonState10) {
- buttonState10 = reading;
- if (buttonState10 == LOW) {
- count = 10;
- }
- }
- }
- lastButtonState10 = reading;
- }
- void booleanCheck()
- {
- lcd.setCursor(0, 0);
- lcd.print(F("Button Pressed"));
- lcd.setCursor(0, 1);
- switch (count)
- {
- case 0:
- threshold = 0;
- lcd.print(F("Nothing pressed"));
- break;
- case 1:
- threshold = 10;
- lcd.print(F("10hz pressed"));
- break;
- case 2:
- threshold = 20;
- lcd.print(F("20hz pressed"));
- break;
- case 3:
- threshold = 50;
- lcd.print(F("50hz pressed"));
- break;
- case 4:
- threshold = 100;
- lcd.print(F("100hz pressed"));
- break;
- case 5:
- threshold = 200;
- lcd.print(F("200hz pressed"));
- break;
- case 6:
- threshold = 500;
- lcd.print(F("500hz pressed"));
- break;
- case 7:
- threshold = 1000;
- lcd.print(F("20hz pressed"));
- break;
- case 8:
- threshold = 1500;
- lcd.print(F("1500hz pressed"));
- break;
- case 9:
- threshold = 2000;
- lcd.print(F("2000hz pressed"));
- break;
- case 10:
- threshold = 2500;
- lcd.print(F("2500hz pressed"));
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment