Recensisci!
Diventa un recensore per ricevere prodotti gratuiti o scontati!
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» Recensione Umidigi A3 Pro - Smartphone sotto i 100€
Da Admin Gio Apr 04, 2019 12:22 pm

» [Arduino] aiuto programma
Da Glak Mar Mar 12, 2019 9:30 am

» ERRORE NELLA COMPILAZIONE NEXTION
Da papat Mar Feb 26, 2019 7:11 am

» Comandare la Smart TV con Alexa senza broadlink (gratis)
Da Admin Mar Feb 19, 2019 4:31 pm

» Google Home diventa un traduttore simultaneo
Da Admin Mar Feb 19, 2019 4:27 pm

» Recensione Xiaomi Redmi 5 - Edizione 2019
Da Admin Mar Feb 19, 2019 4:24 pm

» Guadagnare lavorando per Google Street View
Da Admin Mar Feb 19, 2019 4:20 pm

» UMIDIGI F1 - Specifiche tecniche
Da Admin Mar Feb 19, 2019 4:14 pm

» display oled 168x64
Da fulvio Dom Feb 10, 2019 9:47 am

I postatori più attivi del mese

Come creare due semafori azionati da un pulsante (circuito e codice) con Arduino

Andare in basso

Come creare due semafori azionati da un pulsante (circuito e codice) con Arduino Empty Come creare due semafori azionati da un pulsante (circuito e codice) con Arduino

Messaggio Da Admin il Sab Nov 22, 2014 5:59 pm

Come creare due semafori azionati da un pulsante (circuito e codice) con Arduino 20141110

In questo tutorial andremo a vedere come realizzare due semafori con Arduino che avranno la funzione principale di gestire il traffico di due corsie opposte in un incrocio. Una particolarità di questo progetto è che se lo colleghiamo alla corrente, il semaforo non sarà subito operativo ma i due LED gialli lampeggeranno finché l'utente non deciderà di azionare i semafori.

In che modo verranno azionati questi semafori? I semafori verranno azionati da un pulsante posizionato sulla basetta (breadboard). Ora che abbiamo capito a grandi linee il funzionamento del circuito che andremo a realizzare, vediamo il materiale necessario per fare questo circuito:

  • Arduino.
  • Da 6 ai 10 fili.
  • Una basetta (breadboard).
  • Un pulsante.
  • Sei LED (preferibilmente due rossi, due gialli e due verdi).
  • Tre resistenze che vanno da 400 Ohm a 1kOhm.
  • Una resistenza da 10kOhm.


Per prima cosa dovremo posizionare i sei led. Per comodità è consigliato mettere il catodo (la parte più corta del LED) nel "-" della nostra breadboard mentre l'anodo (la parte più lunga del LED) lo posizioniamo nella seconda parte della breadboard, come rappresentato in figura:
Come creare due semafori azionati da un pulsante (circuito e codice) con Arduino Arduin10
Nel modo in cui l'ho rappresentato in figura è in modo tale che riuscite a capire in che modo bisogna inserire i LED. Io vi consiglio, dato che si tratta di realizzare due semafori, di rendere il tutto più compatto come nell'immagine iniziale di questo tutorial.

Una volta posizionati i LED, colleghiamoli tramite le tre resistenze che vanno da 400 Ohm a 1kOhm in modo da avere la seconda e la terza parte della basetta collegata. Fatto ciò, posizioniamo dove più preferiamo il pulsante al centro della breadboard, colleghiamo i fili e la relativa resistenza come in figura:
Come creare due semafori azionati da un pulsante (circuito e codice) con Arduino Pulsan10
Fatto ciò colleghiamo il tutto ad Arduino, ricordandoci di inserire il filo 5V e GND, e l'unica cosa che dovremo fare e la realizzazione del codice in modo da regolare in che modo devono lavorare i due semafori.
Come creare due semafori azionati da un pulsante (circuito e codice) con Arduino Arduin11

Il codice per fare funzionare il tutto è il seguente:
Codice:

int ledr1= 5;
int ledg1= 6;
int ledv1= 7;
int ledr2= 4;
int ledg2= 3;
int ledv2= 2;
int pulsante= 8;
int val = 0;
int stato = 0;


void setup() {
  pinMode(ledr1, OUTPUT);
  pinMode(ledg1, OUTPUT);
  pinMode(ledv1, OUTPUT);
  pinMode(ledr2, OUTPUT);
  pinMode(ledg2, OUTPUT);
  pinMode(ledv2, OUTPUT);
  pinMode(pulsante, INPUT);
  
}


void loop() {
  val = digitalRead(pulsante);
  if (val == HIGH) {
  stato = 1 - stato;
  }
    
    
  if (stato == 1) {  
  digitalWrite(ledr1, HIGH);
  digitalWrite(ledv2, HIGH);
  delay(5000);
  digitalWrite(ledv2, LOW);
  delay(1);
  digitalWrite(ledg2, HIGH);
  delay(2000);
  digitalWrite(ledg2, LOW);
  delay(1);
  digitalWrite(ledr1, LOW);
  delay(1);
  digitalWrite(ledr2, HIGH);
  digitalWrite(ledv1, HIGH);
  delay(5000);
  digitalWrite(ledv1, LOW);
  delay(1);
  digitalWrite(ledg1, HIGH);
  delay(2000);
  digitalWrite(ledg1, LOW);
  delay(1);
  digitalWrite(ledr2, LOW);
  delay(1);
  }
  else
  {
  digitalWrite(ledg1, HIGH);
  digitalWrite(ledg2, HIGH);
  delay(1000);              
  digitalWrite(ledg1, LOW);
  digitalWrite(ledg2, LOW);
  delay(1000);
  }
 }


Una volta fatto questo, abbiamo il nostro semaforo pronto! Possiamo vedere una dimostrazione sia tramite video e sia tramite un software online:

 

Admin
Admin
♔ Amministratore

Messaggi Messaggi : 4364
Crediti Crediti : 12158
Reputazione Reputazione : 187
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 20
Località Località : Brescia

Visualizza il profilo https://wikiinfo.forumattivo.it

Torna in alto Andare in basso

Torna in alto


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