int readCharButton()
{
for(int j = 0 ; j<=11 ; j++)
{
if(digitalRead(fin[j]) == LOW)
{
return j;
}
else
{
return -1;
}
}}
Du kontrollierst das erste Pin und springst dann auf jeden Fall mit 0 oder -1 heraus. Die for Schleife wird nicht durchlaufen.
Du mußt die ganze for Schleife durchlaufen lassen und nur im Fall, daß keine Taste gedrückt ist, mit -1 zurückspringen.
Diese Code findet bei mehreren gedrückten Tasten nur die am niedrigrsten Pin angeschlossenen.
int readCharButton()
{
for(int j = 0 ; j<=11 ; j++)
{
if(digitalRead(fin[j]) == LOW)
{
return j;
}
}
return -1;
}
Grüße Uwe