void asterisco(){
tone(buzzer, 500, 100);
codice_nascosto = codice_nascosto + "*";
testo1 = "Codice";
testo2 = const_cast<char*>(codice_nascosto.c_str());
picture_loop();
}
void getNumber()
{
int touchNumber = 0;
uint16_t touchstatus;
char digits;
touchstatus = getTouchStatus();
for (int j=0; j<12; j++) // Check how many electrodes were pressed
{
if ((touchstatus & (1<<j)))
touchNumber++;
}
if (touchNumber == 1)
{
if (touchstatus & (1<<SEVEN))
{
digits = '7';
codice_inserito = String(codice_inserito) + String(digits);
asterisco();
}
else if (touchstatus & (1<<FOUR))
{
digits = '4';
codice_inserito = String(codice_inserito) + String(digits);
asterisco();
}
else if (touchstatus & (1<<ONE))
{
digits = '1';
codice_inserito = String(codice_inserito) + String(digits);
asterisco();
}
else if (touchstatus & (1<<EIGHT))
{
digits = '8';
codice_inserito = String(codice_inserito) + String(digits);
asterisco();
}
else if (touchstatus & (1<<FIVE))
{
digits = '5';
codice_inserito = String(codice_inserito) + String(digits);
asterisco();
}
else if (touchstatus & (1<<TWO))
{
digits = '2';
codice_inserito = String(codice_inserito) + String(digits);
asterisco();
}
else if (touchstatus & (1<<NINE))
{
digits = '9';
codice_inserito = String(codice_inserito) + String(digits);
asterisco();
}
else if (touchstatus & (1<<SIX))
{
digits = '6';
codice_inserito = String(codice_inserito) + String(digits);
asterisco();
}
else if (touchstatus & (1<<THREE))
{
digits = '3';
codice_inserito = String(codice_inserito) + String(digits);
asterisco();
}
else if (touchstatus & (1<<ZERO))
{
digits = '0';
codice_inserito = String(codice_inserito) + String(digits);
asterisco();
}
else if (touchstatus & (1<<HASHTAG))
{
digits = '#';
Serial.println("Codice inserito: " + codice_inserito);
ok_codice = true;
}
else if (touchstatus & (1<<ASTERISK))
{
digits = '*';
codice_annullato = true;
}
Serial.println(digits);
//codice_inserito = String(codice_inserito) + String(digits);
}
//do nothing if more than one button is pressed, or if all are released
else if (touchNumber == 0)
;
else
;
}
/* getTouchStatus() will return a 16-bit value that relates the
current touched status of each button. The LSB represents electrodes
0-7 (bit 0 = electrode 0), and the lowest 4 bits of the MSB
represent electrods 8-11. A 1 means a button is being touched.*/
int getTouchStatus()
{
int touch;
touch = mpr121Read(0x01) << 8;
touch |= mpr121Read(0x00);
return touch;
}
Comments