Ciao Maubarzi,
Avevamo pensato di alzarci fino a 2.50mt e far passare i cavi in alto, quattro pali portapulsanti, con sopra i relativi fili, che poi convergono in una palo unico dove c’è la giuria. Il cavo sarà lungo circa 20 Mt.
Avevo anche io pensato che il wireless avrebbe potuto aver disturbi da tutti i segnali presenti.
Buongiorno a tutti,
Oggi è arrivato Arduino mini e anche il display.
Se mi indicate come collegare il tutto, inizio le prove. Inoltre ho già scaricato il programma per caricarci le stringhe di programma.
Ok. Spero che tu per Arduino mini intenda Arduino NANO
Ho bisogno dei link ai prodotti che hai acquistato. Mi interessano i pulsanti e soprattutto il display 20x4 che DEVE essere con interfaccia I2C.
Per cominciare a lavorare con il display puoi cominciare a leggerti questo.
Dicci anche che pulsanti di stop intendi usare e come lavorano (normalmente chiusi = NC, o normalmente aperti = NO), perché ce ne sono di tipi diversi e influiranno sul programma.
big-ivan:
...Ho anche letto su questo forum, che utilizzando il clock interno di arduino, il cornometro non è molto preciso...
Per quello che devi fare il clock dell'Arduino Nano è basato su un quarzo da 16 MHz con una precisione più che sufficiente per i tuoi scopi se, come hai detto, la gara dura al massimo qualche minuto. Inoltre per come sarà fatto il programma la precisione sarà identica per tutte e quattro le corsie.
Per i pulsanti di stop, pensavo di utilizzare un NO (normalmente aperto), cosi da far chiudere il contatto allo stop. (se rimane premuto non riparte il cronometraggio nella manches sucessiva).
Il pulsante di start li ho presi dove me li hai indicati, e non sono ancora arrivati, ma credo che siano dei comunissimi NO.
Bene il Nano e il display. Puoi cominciare a sperimentare nel link che ti ho dato. Usa l'Arduino Nano al posto dell'Arduino UNO.
Per il pulsante di stop va bene il NO, ma cerca il modello che vuoi acquistare e posta il link. Devi accertarti che sia un modello con DUE stati stabili.
altra domanda, stavo pensando di mettere dei connettori a vite per periferiche (scatola con led e pulsanti di stop), a quanti contatti li devo pendere?
Stavo pensando a questi, (anche perchè in officina ne ho e li uso regolarmente)
cosi posso fare dei cavi da 10mt e se devo allungare ultriormente il cavo, lo posso fare tranquillamente, cosi anche se devo cambiare una scatola con il pulsante in caso di rottura del fungo, ho una connessione.
Pensavo anche di mettere un secondo pulsante (in parallelo) di start in una scatolina a parte oltre che nel case sul tavolo giuria. la lunghezza del filo non credo che sia influente se sto sotto il metro? potrei metterci anche dei led bicolori cosi chi da lo start con il "comando esterno" può vedere se i pulsanti sono riarmati!!!!
big-ivan:
...il pulsante rosso che ho preso è questo---
Il pulsante va bene purché abbia DUE posizioni STABILI. Controlla con un tester che a pulsante premuto il contatto NO si chiuda E RESTI CHIUSO e che a pulsante rilasciato (riarmato) il contatto NO si apra E RESTI APERTO.
big-ivan:
...stavo pensando di mettere dei connettori a vite per periferiche (scatola con led e pulsanti di stop), a quanti contatti li devo pendere?
Stavo pensando a questi, (anche perchè in officina ne ho e li uso regolarmente)...
Io sono rimasto al punto in cui ciascuna scatola con led e pulsanti di stop contiene un led verde (ce ne potrebbero essere più in parallelo), un led rosso (ce ne potrebbero essere più in parallelo) e un pulsante di stop. Occorre quindi: 1 conduttore comando led verde; 1 conduttore comando led rosso; 1 conduttore per pulsante di stop; 1 conduttore per Vcc; 1 conduttore per ground. Totale 5 contatti. Sulla scatola di comando dovranno trovar posto quattro connettori a 5 conduttori, uno per ognuna delle 4 scatole con led e pulsante di stop. A seconda di come comanderai i led potrebbero bastare 4 contatti (mancherebbe il Vcc).
big-ivan:
Pensavo anche di mettere un secondo pulsante (in parallelo) di start in una scatolina a parte oltre che nel case sul tavolo giuria. la lunghezza del filo non credo che sia influente se sto sotto il metro? potrei metterci anche dei led bicolori cosi chi da lo start con il "comando esterno" può vedere se i pulsanti sono riarmati!!!!
L'appetito vien mangiando eh?
Sì, si può fare. Considera che dovrai portare a questa scatola ben 11 conduttori: 4 per comando led verdi; 4 per comando led rossi; 1 per Vcc; 1 per GND; 1 per pulsante di start.
Buonasera, rieccomi dopo qualche gg, di stop per via del lavoro.
Ho collegato il display e si illumina, ho i pulsanti di start, adesso devo caricare un programma giusto?
Comincerei con cercare di scrivere qualcosa sul display.
Negli esempi allegati alla libreria LiquidCrystal_I2C.h ce n'è uno intitolato "HelloWorld". Provalo e vedi se il display, oltre che illuminarsi, funziona.
Nel frattempo, dato che il tuo progetto mi intriga parecchio, ho messo su un layout di prova, con led bicolori e pulsanti vari. Ho intenzione di seguirti su questo progetto e portarti a meta. Io ho organizzato pulsanti e led così:
CORSIA 1 led verde al pin 2, led rosso al pin 6, pulsante di stop al pin A0
CORSIA 2 led verde al pin 3, led rosso al pin 7, pulsante di stop al pin A1
CORSIA 3 led verde al pin 4, led rosso al pin 8, pulsante di stop al pin A2
CORSIA 4 led verde al pin 5, led rosso al pin 9, pulsante di stop al pin A3
sirena di start al pin 10
pulsante di start al pin 11
Ovviamente i led sono tutti connessi attraverso una resistenza da 270 ohm.
Appena ho tempo ti metto lo schema elettrico completo.
Per il programma, dimmi da 1 a 10 quanto sei bravo a programmare in C++ (non scherzare, perché non forniamo pappa pronta ma solo cibo di consistenza adatta ai tuoi denti)
Sono molto lusingato che il progetto ti intrighi!!! purtroppo di programmazione C++ non so proprio nulla, l'ultima volta che ho provato a fare un programmino semplice avrò avuto 15 anni, con il Commodore 64!!!!!
non voglio un programma già fatto, vorrei capire come digitare le stringhe di programmazione, e sopratutto capire il motivo di tale stringa. ho visto qua sul forum vari esempi di stringhe e non ci ho capito molto.
Per quel che riguarda la programmazione (so che è una domanda da stupidi) attacco la classica USB (quella che uso anche per alimentare il Nano) al computer (imac) per caricare la stringa di programma giusto?
ciao, ho provato a caricare "hello world", ma mi da un messaggio di errore
Arduino:1.8.9 (Mac OS X), Scheda:"Arduino/Genuino Uno"
HelloWorld:5:31: error: LiquidCrystal_I2C.h: No such file or directory
compilation terminated.
exit status 1
LiquidCrystal_I2C.h: No such file or directory
Segui le istruzioni del file README.md
Oppure:
Vai su:
Clicca sul bottone verde: Clone or Download
Ti verrà scaricata da qualche parte (su Linux in "Scaricati") la libreria LiquidCrystal_I2C-1.1.2.zip
Vai sul IDE di Arduino. Clicca su: Sketch -> #include libreria -> Aggiungi libreria da file .ZIP
Ti si apre una pagina da cui selezionare la libreria appena scaricata. L'IDE di Arduino dovrebbe fare tutto da solo e installare la libreria.
Chiudi l'IDE e riaprilo. Poi riprova a lanciare l'esempio.
Tutte le periferiche I2C (e il display che hai è una di queste) vengono comandate da due soli pin di Arduino (A4 e A5). Ogni periferica ha cablato un "indirizzo" di default differente. In generale i display hanno indirizzo 0x27 (è il primo parametro che fornisci al momento in cui istanzi l'oggetto LiquidCrystal_I2C e lo chiami lcd alla riga 5). Se il programma ancora non funziona significa che il display ha un indirizzo differente. Puoi provare con 0x3F (l'ho trovato su un display 16x2). Se non funziona ancora ti fornisco uno scanner che trova l'indirizzo. Ma 0x27 in generale funziona.
Per cominciare con Arduino questo manuale mi è sembrato molto buono.
Penso che ogni programma debba PRIMA essere descritto in italiano e DOPO in C++. Quindi COMUNQUE dovrai descrivere il funzionamento di quello che vuoi ottenere. Dopo penseremo al C++.
A mio avviso sarebbe meglio che le luci verdi si accendessero allo start, indicando l'inizio del cronometraggio e, come dici tu, solo per le corsie attive. Quelle non attive restano con le luci rosse accese- Ma se a te piace più come hai scritto va benissimo.
All'accensione il display potrebbe riportare lo stato delle corsie, esaminando il pulsante rosso. Le scritte potrebbero essere:
segnalando oltre al tempo anche l'ordine di arrivo.
Bene per la libreria. Ora prova a fargli scrivere sul display le righe all'inizio.
Poi devi scrivere un pezzetto di programma che testi lo stato del pulsante rosso e aggiorni la scritta sul display. Se il pulsante è premuto la prima riga deve essere
CORSIA n NON ATTIVA
Se il pulsante è rilasciato la prima riga deve diventare:
CORSIA n PRONTA
dove "n" è il numero della corsia.
La scritta deve cambiare dinamicamente, perché non è stato ancora premuto il pulsante di start