Controllo di una coulisse con Arduino & Processing
Prima parte: l'idea
Dal mio punto di vista il metodo migliore per imparare un linguaggio di programmazione � iniziare fin da subito a "smanettare" e sopratutto avere un traquardo da raggiungere o un progetto da realizzare.
Con questo intento mi sono posto come progetto la realizzazione di una coulisse con queste caratteristiche:
- Controllo con Arduino UNO
- Interfaccia grafica per l'utente scritta con Processing
- Movimento con motore passo-passo
- Sensori di presenza, posizione, ecc. reperiti tra gli accessori per Arduino disponibili sul mercato
- Alimentazione loco in analogico
Al termine del progetto se la coulisse sar� funzionante e si sar� dimostrata affidabile potr� essere usata nel plastico modulare del GasTT oppure in un plastico casalingo.
Il primo problema da affrontare � quello di definire i ruoli !
Come detto in precedenza il progetto prevede la stesura di 2 programmi:
uno che verr� caricato in Arduino (che chiameremo Arduino_Coulisse) e l'altro in Processing (Processing_Coulisse), perch� ho deciso di non utilizzare Firmata
(vedi Firmata reference)
ma di scrivere due programmi distinti che comunicano attraverso la porta seriale ed assegnare compiti precisi
ad agnuno di essi.
Il programma Processing_Coulisse ha il compito di:
- Fornire l'interfaccia grafica verso l'operatore.
- In base alle scelte effettuate dall'operatore comunica al programma Arduino_Coulisse l'itinerario da attivare.
- Il base alle informazione che riceve dal programma Arduino_Coulisse indica le presenza di convogli e i circuiti di binario attivi.
Il programma Arduino_Coulisse ha il compito di:
- Pilotare il motore passo-passo per spostare la coulisse.
- Rilevare ciclicamente tutti i sensori e comunicare a Processing_Coulisse la presenza di convogli
- In base alle istruzioni ricevute da Processing_Coulisse muovere la coulisse e attivare i circuiti di binario.
Assegnati i ruoli ai programmi � necessario definire l'interfaccia grafica. Non avendo particolari conoscenze di sinottici e banchi ACEI ho pensato di mutuare la veste grafica da Edgardo e in particolare dal suo programma di controllo per la stazione con binario di precedenza: sfondo nero con circuiti di binario blu quando inattivi e bianchi al momento dell'attivazione.
Nella parte bassa � disponibile la "pulsantiera" per attivare i vari itinerari di Arrivo, Partenza e Transito oppure selezionare la modalit� automatica. Invece il riquadro a destra riporta un piccolo log degli ultimi eventi.
Qui � disponibile un simulatore per iniziare a "giocare" con la Coulisse. Selezionere gli itinerari clickando sui
vari pulsanti posti in basso, oppure selezioanre la Modalit� automatica per "lasciar fare al sofrware".
Questi ha ancora un problemino nel simulatore dato che quando viene disattivata tutti i circuiti di binario
risultano attivi !!
Il prossimo articolo illustrer� come pilotare un motore passo-passo con Arduino e Processing