See also
Potmeter needs some tweaking
New code
#include <Keypad.h>
int buzzer=9;
int lastsensorread;
int prevkey;
int push=450;
int pull=550;
const byte ROWS = 8; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'#','0','*'},
{'A','B','C'},
{'D','E','F'},
{'G','H','I'},
{'J','K','L'}
};
byte rowPins[ROWS] = {5, 6, 7, 8, 10, 11, 12, 13}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {2, 3, 4 }; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
pinMode(buzzer,OUTPUT);
}
void loop(){
char key = keypad.getKey();
// if (key == NO_KEY){
// key = prevkey;
// }
// if (key != NO_KEY){
int freq = 0;
int sensorValue = analogRead(A0);
//sensorValue = ((sensorValue+4)/5)*5;
if (sensorValue > push && sensorValue < pull ) {
// Serial.println("No pull or push");
noTone(buzzer);
}
else if (key == NO_KEY){
switch (keypad.getState()){
case RELEASED:
noTone(buzzer);
}
}
else
{
if (key == '1' && sensorValue < push ) { tone(buzzer,415); }; // G push
if (key == '1' && sensorValue > pull ) { tone(buzzer,466); }; // A pull
if (key == '2' && sensorValue < push ) { tone(buzzer,392); }; // G push
if (key == '2' && sensorValue > pull ) { tone(buzzer,440); }; // A pull
if (key == '3' && sensorValue < push ) { tone(buzzer,587); }; // G push
if (key == '3' && sensorValue > pull ) { tone(buzzer,659); }; // A pull
if (key == '4' && sensorValue < push ) { tone(buzzer,440); };
if (key == '4' && sensorValue > pull ) { tone(buzzer,392); };
if (key == '5' && sensorValue < push ) { tone(buzzer,329); };
if (key == '5' && sensorValue > pull ) { tone(buzzer,349); };
if (key == '6' && sensorValue < push ) { tone(buzzer,493); };
if (key == '6' && sensorValue > pull ) { tone(buzzer,523); };
//8l f/e
if (key == '8' && sensorValue < push ) { tone(buzzer,261); };
if (key == '8' && sensorValue > pull ) { tone(buzzer,587); };
if (key == 'A' && sensorValue < push ) { tone(buzzer,783); };
if (key == 'A' && sensorValue > pull ) { tone(buzzer,739); };
if (key == 'B' && sensorValue < push ) { tone(buzzer,523); };
if (key == 'B' && sensorValue > pull ) { tone(buzzer,493); };
if (key == 'D' && sensorValue < push ) { tone(buzzer,987); };
if (key == 'D' && sensorValue > pull ) { tone(buzzer,880); };
if (key == 'E' && sensorValue < push ) { tone(buzzer,659); };
if (key == 'E' && sensorValue > pull ) { tone(buzzer,587); };
if (key == 'H' && sensorValue < push ) { tone(buzzer,783); };
if (key == 'H' && sensorValue > pull ) { tone(buzzer,698); };
//tone(buzzer,freq);
}
Serial.println(sensorValue);
Serial.println(key);
Serial.println(freq);
// lastsensorread = sensorValue;
prevkey = key;
// }
}















































