Codice:
/************************************************************************
*************************************************************************
***********************SSoundsOnPhat*v1.0*by*lapht***********************
*************************************************************************
************************************************************************/
//*dichiarazioni*costanti*e*variabili
int spk=3;
int eject=4;
int pwr=0;
int dbgled=13;
int ejcsnd=1046;
int pwrsnd1=523;
boolean giasuonato=false;
//*procedura*iniziale*che*imposta*i*vari*pin
void setup(){
**pinMode(spk,OUTPUT);
**pinMode(eject,INPUT);
**pinMode(dbgled,OUTPUT);
}
//*blink*del*led*di*debug
void blinkdbgled(){
**digitalWrite(dbgled,HIGH);
**delay(500);
**digitalWrite(dbgled,LOW);
}
//*procedura*per*il*suono*di*avvio
void pwrsound(){
**tone(spk,pwrsnd1); // suona
**delay(150); // aspetta
**noTone(spk); // ferma suono
**tone(spk,ejcsnd);
**delay(500);
**noTone(spk);
**blinkdbgled();*****// richiama la procedura di blink
}
//*procedura*per*il*suono*di*eject
void ejectsound(){
**tone(spk,ejcsnd);
**delay(500);
**noTone(spk);
**blinkdbgled();
}
void loop(){
**digitalWrite(dbgled,LOW); // spegne il led di debug
**if ((digitalRead(eject)==LOW) && (giasuonato=false)){ // controlla se è premuto il tasto eject e se non ha già suonato una volta
****giasuonato=true; // imposta la variabile booleana di controllo
****ejectsound();***************************************// suono eject
**}*else {
****giasuonato=false;
**}
**if (analogRead(pwr)<102){ // controlla se è premuto il tasto power
****pwrsound();*****************************************// suono power
**}
}
Segnalibri