Nota: TUTTI i prodotti OSOYOO per Arduino sono schede di terze parti completamente compatibili con Arduino.

Introduzione

In questa lezione mostreremo come accendere/spegnere un LED utilizzando una porta I/O e un pulsante. La “porta di I/O” si riferisce alle porte di INGRESSO e di USCITA. In questo caso, la porta INPUT della scheda Osoyoo Basic viene utilizzata per leggere l’uscita di un dispositivo esterno. Poiché la scheda stessa dispone di un LED (collegato al pin 13), è possibile utilizzare questo LED per eseguire questo esperimento per comodità.

Preparazione

Hardware

Scheda base OSOYOO (completamente compatibile con Arduino UNO rev.3) x 1
Tavoletta di pane x 1
Pulsante interruttore x 1
Resistenza da 10k ohm x 1
Ponticelli M/M
Cavo USB x 1
PC x 1

Software

Arduino IDE (version 1.6.4+)

Informazioni sul pulsante

I pulsanti sono un componente comunemente utilizzato per controllare i dispositivi elettronici. Di solito vengono utilizzati come interruttori per collegare o scollegare i circuiti. Sebbene i pulsanti siano di varie dimensioni e forme, quello utilizzato in questo caso è un 12mm medium-size button come mostrato nelle immagini seguenti.

Il bottoncino utilizzato in questa lezione ha quattro connessioni, il che può creare un po’ di confusione.

In realtà, le connessioni elettriche sono solo due, in quanto all’interno del pacchetto di interruttori i pin B e C sono collegati insieme, così come A e D.

Connessione

Sebbene i corpi degli interruttori siano quadrati, i pin sporgono dai lati opposti dell’interruttore. Ciò significa che i pin saranno sufficientemente distanti tra loro solo se posizionati nel modo corretto sulla breadboard.Costruite il circuito come segue:

Avviso:

In genere, il pulsante è collegato direttamente a un circuito LED per accendere o spegnere il LED. Questo collegamento è relativamente semplice. Tuttavia, a volte il LED si accende automaticamente senza premere il pulsante, a causa di varie interferenze. Per evitare queste interferenze esterne, si utilizza un resistore di pull-down, ovvero si collega un resistore da 1K-10KΩ tra la porta del pulsante e GND. Questo resistore è utilizzato per assorbire le interferenze esterne mentre è collegato a GND per tutto il tempo in cui l’interruttore del pulsante è spento.

Carica schizzo

Al termine delle operazioni sopra descritte, collegare la scheda di base OSOYOO al computer tramite il cavo USB. Il LED verde di alimentazione (PWR) dovrebbe accendersi.

Codice Programma

È possibile download the sketch da questo link o copiare il codice sottostante nella finestra dell’IDE Arduino:

const int keyPin = 12; //the number of the key pin const int ledPin = 13;//the number of the led pin void setup() { pinMode(keyPin,INPUT);//initialize the key pin as input  pinMode(ledPin,OUTPUT);//initialize the led pin as output } void loop() { //read the state of the key value //and check if the kye is pressed //if it is,the state is HIGH  if(digitalRead(keyPin) ==HIGH ) { digitalWrite(ledPin,HIGH);//press the button to turn on the led } else { digitalWrite(ledPin,LOW);//release the button to turn off the led } }

Compilazione e caricamento

Aprite l’IDE Arduino e selezionate il tipo di scheda e il tipo di porta corrispondenti alla vostra scheda di base OSOYOO.

A questo punto, è sufficiente fare clic sul pulsante “Upload” nell’ambiente. Attendere qualche secondo: si dovrebbero vedere lampeggiare i led RX e TX sulla scheda. Se il caricamento è riuscito, nella barra di stato apparirà il messaggio “Done uploading”..

Risultato della corsa

Pochi secondi dopo il termine del caricamento, quando si preme l’interruttore, il LED si accende; quando si rilascia l’interruttore, il LED si spegne.

L’esempio di espansione

Dopo la routine di cui sopra fatto, si potrebbe pensare, se vogliamo accendere il LED in questo modo, la mano non può lasciare pulsante, non è conveniente.Come controllare le luci come normale, fare clic sulla luce, poi premere fuori? Possiamo migliorare il programma, che può realizzare il risultato che modificherà il programma per il codice seguente, e poi caricare sulla scheda di base OSOYOO.

Il circuito è lo stesso di cui sopra, potete get the sketch from this link o copiare il codice sottostante nella vostra nuova finestra IDE di Arduino e caricarlo sulla vostra scheda OSOYOO Basic. Non dimenticate di scegliere la scheda e la porta corrispondenti al vostro progetto!

#define LED 13 // Set D13 as the LED pin #define BUTTON 12 //Set D12 as the button pin //Let's say you have your push button on pin 12 int switchState = 0; // actual read value from pin12 int oldSwitchState = 0; // last read value from pin12 int lightsOn = 0; // is the switch on = 1 or off = 0 void setup() { pinMode(BUTTON, INPUT); // set the push button as input pinMode(LED, OUTPUT); // anything you want to control using a switch e.g. a Led } void loop() { switchState = digitalRead(BUTTON); // read the pushButton State if (switchState != oldSwitchState) // catch change { oldSwitchState = switchState; if (switchState == HIGH) { // toggle lightsOn = !lightsOn; } } if(lightsOn) { digitalWrite(LED, HIGH); // set the LED on } else { digitalWrite(LED, LOW); // set the LED off } }

Dopo la compilazione e il caricamento del programma, è possibile ottenere: fare clic sul pulsante per accendere il LED, quindi premere questo pulsante per spegnere il LED.