Altro Programma Con Arduino

Davide27

Utente Bronze
4 Marzo 2022
40
19
1
25
Salve a tutti! Devo creare un programmi con Arduino un led e un pulsante... Qualcuno sa aiutarmi? Il testo chiede di far lampeggiare il led 20 volte se premo il pulsante, invece 10 volte se il pulsante non è premuto!
Grazie a tutti!!!
 
Ecco un piccolo codice spero sià chiaro, altrimenti non esitare a dare domande.
C++:
//Bottone pin D2
//Led pin D3
#define BOTTONE 2
#define LED 3


void setup(){
    //Imposto il pin D2 come input e resistenza di pull-up interna
    pinMode(BOTTONE, INPUT_PULLUP);
    //Pin led come output
    pinMode(LED, OUTPUT);
    //Spengo il led, non necessario ma metterlo non fa male
    digitalWrite(LED, LOW);
}


void lampeggia(uint8_t n_volte){
    //Accendo e spengo il led per n volte
    //delay in millisecondi; 1 secondo == 1000 millisecondi
    for(uint8_t i = 0; i < n_volte; i++){
        digitalWrite(LED, HIGH);
        delay(500);
        digitalWrite(LED, LOW);
        delay(500);
    }
}



void loop(){
    //digitalRead legge lo stato del pin in input, in questo caso se il bottone non
    //è premuto sta ad 1 perchè ha una resistenza interna che lo tiene constantemente
    //su 5Volt, questo per evitare di lasciare il pin di input in floating, cioè in uno
    //stato incerto
    if(digitalRead(BOTTONE) == true){
        //Bottone non premuto lampeggia solo 10 volte
        lampeggia(10);
    }
    //Bottone premuto lampeggia 20 volte
    else{
        lampeggia(20);
    }
    
    //Fermo l'esecuzione del codice
    while(true){}
}
 
  • Mi piace
Reazioni: 0xbro e JunkCoder