# Robotica educativa/Telepass

Robotica educativa

## Introduzione

* PrerequisitiRobotica educativa/Prerequisiti
* Etica della roboticaRobotica educativa/Etica della robotica

## Robotica con Arduino

* Le basi dell'informaticaRobotica educativa/Le basi dell'informatica
* Le basi dell'elettronicaRobotica educativa/Le basi dell'elettronica

## Primi passi nella robotica

* Invio di un SOSRobotica educativa/Invio di un SOS
* Che tempo che faRobotica educativa/Temperatura e umidità
* TermostatoRobotica educativa/Termostato
* Misurazione della distanzaRobotica educativa/Misurazione della distanza
* Sensore di parcheggioRobotica educativa/Sensore di parcheggio
* Gestione di un servomotoreRobotica educativa/Servomotore
* TelepassRobotica educativa/Telepass
* Dal computer ad ArduinoRobotica educativa/Dal computer ad Arduino
* Musica maestro!Robotica educativa/Musica maestro

## Ora che abbiamo un'idea...

Modifica il sommario
Ora che si è imparato come misurare una distanza e come emettere un segnale acustico è possibile aggiungere un servomotore per alzare e abbassare una sbarra al passaggio di un veicolo ricostruendo, così, il funzionamento di un tipico telepass autostradale.

## Descrizione del progetto

Il sistema ha il seguente funzionamento:
* in ingresso il sensore di prossimità rileva la distanza dell'oggetto di fronte a lui, distanza che poi verrà convertita in centimetri;
* in uscita si hanno:
** un segnale acustico, generato dal cicalino piezoelettrico;
** un servomotore, per alzare e abbassare la sbarra.
Questo processo ha il suo avvio quando il sensore a ultrasuoni rileva un valore al di sotto di un livello stabilito dall'utente. A questo punto si eseguono i seguenti eventi:
* il cicalino produce un suono ($800~{\text{Hz}}$) per un breve istante;
* il servomotore alza la sbarra alla velocità scelta dall'utente;
* si attende il passaggio dell'autoveicolo;
* il cicalino produce un altro suono ($700~{\text{Hz}}$) per un breve istante;
* si richiude la sbarra.
Tutti i parametri sono gestibili attraverso le variabili nella prima sezione del codice.
Il sensore capta la distanza, convertita in centimetri nel codice, inviando e ricevendo un segnale a ultrasuoni.
Se il segnale è minore o uguale a un valore prestabilito (distanza massima del veicolo dal telepass), si attiva il cicalino piezoelettrico, il quale riproduce un segnale acustico la cui tonalità è regolabile; mentre il servomotore viene utilizzato per alzare e abbassare una sbarra (realizzata con una cannuccia).

## Schema di montaggio

Rispetto al progetto precedente è stato inserito soltanto il servomotore. Questo si controlla inviando un numero corrispondente all'angolo della sbarra in gradi sessagesimali.

## Codice

Di seguito viene riportato il codice sorgente. Per una maggior comprensibilità viene suddiviso in tre parti:
* inclusione di librerie, definizione delle costanti e variabili;
* codice da eseguire all'avvio del programma e alla pressione del tasto di reset;
* programma di controllo.

### Inizializzazione

Inizializzazione del progetto, dove vengono identificate le uscite e le entrate di Arduino verso i vari componenti, e si inizializza il servomotore.

### Programma principale
## Espansioni suggerite

* Una possibile espansione di questo progetto è il conteggio delle automobili in ingresso (utile per un parcheggio, zone a traffico limitato e altro). Attenzione: se le autovetture entrano ed escono dal medesimo ingresso saranno necessari due sensori di prossimità, per determinare il verso di percorrenza.
* Un'altra – che richiede una sensoristica ulteriore – è l'apertura della sbarra solo alle automobili autorizzate (possibile con sensore RFID).