mercoledì 31 maggio 2023

Montacarichi con arduino

Montacarichi teorico

La domanda me la sono posta io per primo, ma cosa sarebbe un Montacarichi teorico?

La risposta la trovate in questo topic sul forum di arduino: link

Visualizzatore montacarichi con Arduino nano.
l titolo del topic non menziona il Montacarichi, ma leggendo si scopre che l'utente sta seguendo un progetto scolastico nel quale non hanno ancora usato motori, servo RC e altre parti elettromeccaniche che potrebbero essere coinvolte se il progetto fosse concreto.

Per cui per mancanza di esperienza diretta si sono inventati il Montacarichi teorico. Esso è composto da 9 led a piano per 3 piani siamo al totale di 27 led e quindi è più pratico usare una scheda arduino MEGA.

Variante di progetto

Per sperimentare con le matrici di led 8x8 e il max7219 ho apportato delle varianti di progetto, vediamole:

  • Arduino nano al posto di arduino MEGA
  • 3 matrici led 8x8 una per piano.
  • Display old con SSD1306
  • 5 pulsanti gestiti con JC_Button library :
    • Pulsante rosso - Attiva/disattiva spostamento di piano
    • Pulsante blu - Spostamento in alto o spostamento di piano.
    • Pulsante verde - Spostamento in basso o spostamento di piano.
    • Pulsante grigio - Spostamento a destra.
    • Pulsante giallo - Spostamento a sinistra.

Funzionamento

All'avvio il montacarichi virtuale si trova al piano 0, prima posizione in basso a sinistra. I quattro tasti freccia UP(Blue), DOWN(Green), LEFT(Yellow) e RIGHT(Grey) permettono di posizionare il montacarichi virtuale in una delle 9 possibili posizioni. Il movimento in diagonale non è implementato.

Per cambiare piano non ho posto alcun vincolo di posizione, quindi da qualunque posizione sarà possibile salire o scendere di un piano. Premendo il pulsante rosso si attiva una specie di capslock che resta attivo per due secondi. Quando il capslock è attivo sul Display appare la scritta shift, ora i pulsanti UP e DOWN permettono lo spostamento di piano, mentre i pulsanti LEFT e RIGHT hanno la stessa funzione di prima. Per disattivare il capslock (se attivo) premere il pulsante rosso, oppure attendere che si disattivi automaticamente dopo 2 secondi.
Con il capslock disattivato i pulsanti hanno la funzione descritta ad inizio di questa sezione.

Numero di piani

Il numero di piani può essere diverso da 3, ed in effetti per test ho aggiunto un piano. Nel codice ho dovuto modificare la macro MAX_N_PIANI. Non ho idea se ci sia un limite al numero di matrici poste in cascata, se c'è un limite questo influenzerà il numero massimo di piani. Mentre il valore minimo è di 1 piani. La libreria LedControl sembra possa gestire solo fino a 8
moduli 8x8.

Montacarichi concreto

Qualora il montacarichi si dovesse concretizzare, questo visualizzatore può ancora essere utile, tuttavia servirà apportare delle modifiche per indicare che il montacarichi è in movimento verso la destinazione selezionata. Quando in movimento i 4 led della posizione di destinazione dovranno alternare acceso spento ad indicare movimento. Raggiunta la destinazione si accenderanno tutti e 4.

Vai alla simulazione.


Nessun commento:

Posta un commento