Coulisse con Arduino e Processing

gavinca   marzo 23, 2016   Commenti disabilitati su Coulisse con Arduino e Processing
Print Friendly, PDF & Email

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 traguardo 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 GAS TT 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 ognuno 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.

Coulisse_baseNella 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 si può giocare con il simulatore della coulisse