Gestione di un telepass con Arduino: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Categorizzazione
Etichetta: Editor wikitesto 2017
laboratorio e altre correzioni
Etichetta: Editor wikitesto 2017
Riga 1:
{{Risorsa|tipo=lezionelaboratorio|materia1=Sistemi automatici per le superiori 1|avanzamento=100%|dipartimento1=Scuole}}
 
In questa lezione si mostrerà come, tramite la scheda [[w:Arduino|Arduino]], sia possibile ricostruire il funzionamento di un ipotetico [[w:Telepass|telepass]] autostradale, con l'utilizzo di un sensore ad ultrasuoni, unaun cicalinacicalino piezoelettrica per la segnaletica acustica, un monitor per la messaggistica e un servomotore per alzare e abbassare la sbarra.
 
== Descrizione del progetto ==
Riga 10:
# in ingresso si trova il sensore di prossimità, il quale rileva la distanza dell'oggetto davanti a lui, distanza che poi verrà convertita in centimetri;
# in uscita si hanno:
##un segnale acustico, generato dalladal cicalinacicalino piezoelettricapiezoelettrico;
##un segnale visivo, generato dal display LCD 16x2;
##un servomotore per alzare e abbassare la sbarra.
Riga 17:
 
# si scrive "''Benvenuti a Riccione''" nel display;
# lail cicalinacicalino produce un suono per un breve istante;
# il servomotore alza la sbarra alla velocità scelta dall'utente;
# si attende il passaggio dell'autoveicolo;
# si scrive "''Arrivederci''" nel display;
#la cicalinail cicalino produce un suono (a una differente frequenza) per un breve istante;
# si richiude la sbarra.
 
Tutti i parametri sono regolabili attraverso le variabili nella prima parte del codice.
Riga 30:
{{Vedi anche|Misurazione della distanza con sensore a ultrasuoni}}
 
Se il segnale è minore o uguale a un valore stabilito, Arduino attiva lail cicalinacicalino piezoelettrica, la quale riproduce un segnale acustico di tonalità regolabile; invece, al display LCD 16x2 sul quale viene inviato un messaggio analogo a quello autostradale (''Arrivederci'' o ''Benvenuti''); mentre il servomotore viene utilizzato per alzare e abbassare una sbarra.
 
== Schema di montaggio ==
Riga 58:
|-
| -
|Cicalino
|Cicalina
|1
|-
Riga 87:
int pos = 0; // Posizione iniziale del servomotore
 
int piezo = 7; // Pin a cui è collegata laal cicalinacicalino
int duratasuono = 300;
int tonalita = 800;
Riga 122:
pinMode(echo_pin, INPUT);
 
pinMode(piezo, OUTPUT); // Setup del pin per lail cicalinacicalino
}
</syntaxhighlight>
Riga 146:
lcd.print(messaggio);
 
tone(piezo, tonalita); // Suona lail cicalinacicalino per la durata prestabilita
delay(duratasuono);
noTone(piezo);
Riga 157:
delay (attesasbarra);
tone(piezo, tonalita2); // Suona lail cicalinacicalino per la durata prestabilita
delay(duratasuono);
noTone(piezo);