• 1
  • info@lungolagocapodimonte.it

    Guida Tutorial - Usare un pulsante per controllare un Led Arduino Uno o Duemilanove

    Usare un pulsante per controllare un Led con Arduino Uno o Duemilanove - Prima Parte

     


    Usare un pulsante per controllare un Led

    Far lampeggiare un Led è stato facile, ma non penso che il fatto che la lampada della vostra scrivania lampeggi in continuazione mentre cercate di leggere un libro farebbe bene al vostro equilibrio. Quindi, bisogna imparare a controllarlo con un sensore.

    In questo caso, useremo la forma più semplice di sensore esistente: un pulsante.

    Se smontate un pulsante, vedrete che si tratta di un dispositivo molto semplice: due parti di metallo separate da una molla e un cappuccio di plastica che, quando viene premuto, fa entrare in contatto le due parti di metallo. Quando le parti di metallo sono separate, nel pulsante non circola corrente; quando lo premiamo, creiamo un collegamento.

    Per controllare lo stato di un interruttore, esiste un'istruzione di Arduino che ora useremo: la funzione " digitalRead() ".

    " digitalRead() " controlla che al pin specificato tra le parentesi sia applicato un voltaggio e restituisce un valore pari a HIGH o LOW, a seconda di quanto rileva. Grazie a " digitalRead() " possiamo " porre una domanda " ad Arduino e ricevere una risposta che può essere conservata da qualche parte nella memoria e usata per prendere decisioni, subito o più tardi.

    Schema di collegamento


    In questo caso ci occorrono i seguenti componenti:

    1) 1 pulsante MicroSwitch

    2) 1 Resistenza da 10 Kohm

    3) 1 Led

     

    Codice ( Sketch ) per l'accesione del Led

    Diamo un'occhiata al codice che useremo per controllare il Led con il nostro pulsante:

    Esempio: accensione del Led mentre è premuto il pulsante

     

    {codecitation class="brush:cpp"}

    #define Led 13   // Definisco il Pin del Led
    #define Pulsante 7 // Il Pin di Input dove è collegato il pulsante
    int Valore = 0; // Si userà Valore per conservare lo stato del Pin di Input

    void setup()
    {
    pinMode(Led, OUTPUT); // Segnala ad Arduino che Led è un Output
    pinMode(Pulsante, INPUT); // E che Pulsante è un Input
    }

    void loop(){
    Valore = digitalRead(Pulsante); // Legge il valore dell'input e lo conserva
    if (Valore == HIGH) // Controlla che l'Input sia HIGH ( Pulsante Premuto )
    {
    digitalWrite(Led, HIGH); // Accende il Led
    }
     else
    {
    digitalWrite(Led, LOW);
    }
    }

    {/codecitation}

    Se tutto è corretto il Led si accende quando premete il pulsante.

    Come funziona ?


    L'istruzione IF è forse l'istruzione più importante dei linguaggi di programmazione, perchè permette al computer ( e Arduino è un piccolo computer ) di prendere decisioni. Dopo la parola chiave IF dovete scrivere una " domanda " tra parantesi e se la " risposta ", o il risultato, è vera, viene eseguito il primo blocco di codice; altrimenti, viene eseguito il blocco di codice che segue ELSE. Notate che invece di = ho usato il simbolo ==. Questo viene usato quando si confrontano due entità e restituisce TRUE o FALSE; il primo simbolo invece assegna un valore a una variabile.

    Nota: Avete notato che in Arduino, tutte le istruzioni, con una sola eccezione (#define), finiscono con il punto e virgola ? Sono così perchè il compilatore ( la parte di Arduino che converte lo Sketch in un programma che il microcontrollore può eseguire ) possa riconoscere dove finisce un'istruzione e ne comincia una nuova. Ricordatevi di usarlo sempre, tranne che nelle righe che cominciano con #define. Le istruzioni #define vengono sostituite da compilatore prima che il codice venga tradotto in un eseguibile per Arduino.

    Aggiungi commento


    Codice di sicurezza
    Aggiorna