Seguimi su Youtubue
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Pubblicità Google AdSense
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» Trasformare un collegamento di un dislay LCD in uno con I2C
Da papat Ven Ott 20, 2017 7:57 am

» Stray"\226" in programm
Da papat Ven Ott 20, 2017 7:52 am

» Recensione cuffie che non cadono dalle orecchie: Acorce-705C
Da Poderak Gio Ott 19, 2017 9:30 pm

» Anteprima esclusiva Platinum Edition Farming Simulator 17:
Da Poderak Mar Ott 10, 2017 8:59 pm

» Anteprima esclusiva Pure Farming 18 - Scenario Giapponese
Da Poderak Mar Ott 10, 2017 8:57 pm

» Timer relè con arduino
Da Poderak Dom Ott 08, 2017 4:07 pm

» Recensione di Saal-Digital.it
Da Poderak Dom Ott 08, 2017 3:59 pm

» PROBLEMA SU LIBRERIE
Da papat Sab Set 30, 2017 7:16 am

» Recensione luci e bussola militare
Da Poderak Mar Set 19, 2017 10:45 pm

I postatori più attivi del mese
Poderak
 
papat
 
falcio1515
 


Software: Gestione di due led con due pulsanti - Arduino

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso

Software: Gestione di due led con due pulsanti - Arduino

Messaggio Da Poderak il Mer Ott 14, 2015 2:47 pm

In questa guida andremo a vedere come realizzare un software per Arduino che ci permette di accendere due led con due pulsanti. Questo codice potrete utilizzarlo poi come scheletro per altri circuiti che hanno la necessità di avere due pulsanti.

Prima di continuare, ecco delle piccole note che possono aiutarvi nel caso in cui non vi ricordiate come si realizza il circuito:
+ Per il pulsante:
Una volta collegato in questo modo il nostro pulsante, dovremo collegare con un filo dal piedino sinistro del pulsante (nella stessa colonna della breadboard dove abbiamo anche collegato un'estremità della resistenza) fino ad un PIN del nostro Arduino. Dato che il software che dovremo realizzare consisterà nella gestione di due pulsanti, dovremo raddoppiare il circuito. Ovviamente il collegamento con l'Arduino da parte del secondo pulsante deve essere inserito in un altro PIN di Arduino.
+ Per il LED: Vi ricordo che il collegamento dei diodi luminosi è la seguente: La gamba meno lunga va al GND (il - della vostra breadboard) mentre la gamba più lunga va collegata al +5V del nostro Arduino (Ricorda! I LED normali di solito non sopportano il 5V diretto per cui dovremo aggiungerci una resistenza tra i 300-1000Ω tra la gamba più lunga e il PIN di Arduino).

Ora che abbiamo accennato qualcosa sul circuito, passiamo alla parte che ci interessa di più di questo argomento ovvero la parte software (documentata):
Codice:

/*
Titolo: Gestione di due pulsanti e due led
Scritto da: Poderak
Sito: http://wikiinfo.forumattivo.it
*/
//dichiariamo i PIN dei componenti riguardanti il led rosso
int ledr=2; //led rosso
int pulr=3; //pulsante del led rosso

int ledv=4; //led verde
int pulv=5; //pulsante del led verde

//variabili
int rval=0; //contenitore del valore del pulsante rosso
int vval=0; //contenitore del valore del pulsante verde

void setup() { //impostazioni hardware
pinMode(ledr, OUTPUT); //diciamo che il led rosso è OUTPUT
pinMode(ledv, OUTPUT); //diciamo che il led verde è OUTPUT
pinMode(pulr, INPUT);  //diciamo che il pulsante del led rosso è INPUT
pinMode(pulv, INPUT);  //diciamo che il pulsante del verde rosso è INPUT
//Ricorda:
// INPUT=Il componente invia dati
// OUTPUT=Il componente riceve dati da Arduino
}

void loop() { //impostiamo le istruzioni della funzione loop
rval=digitalRead(pulr); //leggiamo il val. del puls. rosso e inseriamolo in rval
vval=digitalRead(pulv); //leggiamo il val. del puls. verde e inseriamolo in vval

if (rval==1) { //condizione: nel caso in cui è premuto il pulsante del led rosso
digitalWrite(ledr, HIGH); //il led rosso si accende
}
else { //condizione falsa nel caso non è premuto il pulsante del led rosso
digitalWrite(ledr, LOW); //il led rosso è spento
}

if (vval==1) { //condizione: nel caso in cui è premuto il pulsante del led verde
digitalWrite(ledv, HIGH); //il led verde si accende
}
else { //condizione falsa nel caso non è premuto il pulsante del led verde
digitalWrite(ledv, LOW); //il led verde si spegne
}
}

 
avatar
Poderak
♔ Amministratore

Messaggi Messaggi : 4216
Crediti Crediti : 11770
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 19
Località Località : Brescia

Vedi il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto


 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum