Utilizzare un micropulsante come lettera alfabeto

Allora ragazzi,
mi dovete innanzitutto scusare, ripeto che sono nuovo sia nell'ambiente arduino e sia nel linguaggio C (per me ancor più complesso dell'Arduino stesso).
Mi scuso soprattutto perchè me ne sono accorto che non sono stato affatto chiaro, aumentando ancor di più la confusione con quella "specie" di programma che ho postato :~ , frutto malsano dell'unione di un progetto per keypad + il progetto per accendere un led come era scritto in quel tutorial :frowning: :frowning: :frowning: . Vorrei in pratica collegare i micropulsanti alle uscite digitali di arduino e l'uscita digitale n.13 il led. Devo far riconoscere ad Arduino che, una volta schiacciato il pulsante posto, per esempio, sul pin digitale n.2, venga inviata la lettera "A" e via discorrendo per gli altri pulsanti, cioè il micropulsante posto sul pin digitale n.3, una volta schiacciato, faccia riconoscere ad Arduino che è stata schiacciata la lettera "B", il micropulsante posto sul pin digitale n.4 la "C" e via discorrendo sino al micropulsante posto sul pin 10 che rappresenterebbe la lettera "J". Poi, una volta fatto ciò, vorrei creare due password (una per esempio "ABC" e l'altra "DEF") così che, una volta schiacciati i pulsanti che rappresentano ciascuno le lettere "A"; "B" e "C", arduino riconosca la password ed accenda il led, se, invece, si schiacciassero i pulsanti che rappresentano ciascuno le lettere "D"; "E" e "F", arduino riconosca la nuova password immessa e spegne il led. Perdonatemi la confusione ma più chiaro di così non riesco ad essere, vi ringrazio per la pazienza dimostratami sino ad ora, ma ho scelto questo forum perchè so che qui c'è veramente il top della professionalità (e non lo dico tanto per dire ma perchè ci credo veramente :slight_smile: ) e, soprattutto, gente veramente capace ad aiutare chi di programmazione e di elettronica ahimè è alle prime armi come il sottoscritto che ha tanta ma tantissima voglia di imparare attraverso esempi, illustrazioni che solo voi ragazzi potete dare. Grazie infinite. :slight_smile:

Comunque, per farvi capire come sia nato quella specie di "mostro" che ho spacciato per codice, vi do i codici da cui, a mio modo, ho preso spunto:

  1. Arduino keypad:

int i, k, pwcount=0;
char password[] = "1342", entry[10];
void setup()
{
Serial.begin(9600);

for(i=2; i<=5; i++)
pinMode(i, INPUT);
for(i=6; i<=9; i++)
pinMode(i, OUTPUT);
}

void loop()
{

for(i=6; i<=8; i++){
reset();
digitalWrite(i, HIGH);
if(digitalRead(2)==HIGH && i==6){
blinker();
entry[pwcount] = '1';
pwcount++;
delay(200);
Serial.print('1');
}
if(digitalRead(3)==HIGH && i==6){
blinker();
entry[pwcount] = '4';
pwcount++;
delay(200);
Serial.print('4');
}
if(digitalRead(4)==HIGH && i==6){
blinker();
entry[pwcount] = '7';
pwcount++;
delay(200);
Serial.print('7');
}
if(digitalRead(5)==HIGH && i==6){
blinker();
entry[pwcount] = '';
pwcount++;
delay(200);
Serial.print('
');
}

if(digitalRead(2)==HIGH && i==7){
blinker();
entry[pwcount] = '2';
pwcount++;
delay(200);
Serial.print('2');
}
if(digitalRead(3)==HIGH && i==7){
blinker();
entry[pwcount] = '5';
pwcount++;
delay(200);
Serial.print('5');
}
if(digitalRead(4)==HIGH && i==7){
blinker();
entry[pwcount] = '8';
pwcount++;
delay(200);
Serial.print('8');
}
if(digitalRead(5)==HIGH && i==7){
blinker();
entry[pwcount] = '0';
pwcount++;
delay(200);
Serial.print('0');
}

if(digitalRead(2)==HIGH && i==8){
blinker();
entry[pwcount] = '3';
pwcount++;
delay(200);
Serial.print('3');
}
if(digitalRead(3)==HIGH && i==8){
blinker();
entry[pwcount] = '6';
pwcount++;
delay(200);
Serial.print('6');
}
if(digitalRead(4)==HIGH && i==8){
blinker();
entry[pwcount] = '9';
pwcount++;
delay(200);
Serial.print('9');
}
if(digitalRead(5)==HIGH && i==8){
blinker();
delay(200);
Serial.println('#');
pwcount=0;
for(k=0; k<=4; k++){
if(k==4){
Serial.println("Access Granted");
digitalWrite(9, HIGH);
break;
}
if(password[k] != entry[k]){
Serial.println("Denied");
break;
}
}
for(k=0; k<10; k++)
entry[k]=0;
}
}}

void reset(){
int j;
for(j=6; j<=8; j++)
digitalWrite(j, LOW);
}

void blinker(){
digitalWrite(9, HIGH);
delay(20);
digitalWrite(9, LOW);

}

  1. Arduino Led:

const int buttonPin = 2;
const int buttonPin2 = 3;

const int ledPin = 13;

int buttonState = 0;
int buttonState2 = 0;

void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
pinMode(buttonPin2, INPUT);
}

void loop()
{
buttonState = digitalRead(buttonPin); /
buttonState2 = digitalRead(buttonPin2);

if (buttonState == HIGH){
digitalWrite(ledPin, HIGH);
}
if (buttonState2 == HIGH){
digitalWrite(ledPin, LOW);
}
}