Cronometro particolare x gare di pattinaggio

ho trovato su youtube un vecchio video, ma fa vedere esattamente come si svolgono queste gare, cosi da aggiungere qualche info.

https://www.youtube.com/watch?v=EC_SjTsa0Pw

Ho anche letto su questo forum, che utilizzando il clock interno di arduino, il cornometro non è molto preciso, quindi anche se omplicato dovrò seguire la strada del quarzo, per una maggiore accuratezza (ormai che lavoro, lo faccio bene!!!)

Grazie

Ivan

Personalmente vedo due aspetti potenzialmente critici su cui fare qualche riflessione:

  1. L’uso di cavi stesi a terra per collegare il tutto, potrebbero far inciampare gli/le atleti/te. Anche se fai percorsi obbligati c’è sempre quello che taglia e prende strade inesplorate…
  2. L’uso di collegamenti wireless, richiede una analisi ed eventuale protezione dai disturbi elettromagnetici, con tutta la gente attorno potrebbero non essere trascurabili e mandare in tilt il sistema. Magari questo è un problema poco probabile, chi è più esperto di me potrà smarcare meglio la cosa, ma se il problema fosse statisticamente rilevante potresti avere il cronometraggio che salta all’improvviso solo perchè entra uno con una radiolina guasta o un cellulare difettoso.

EDIT:
Ok, aspetti già valutati. Perfetto.
[Rispondo qui al post seguente per non aggiungere sporco inutile]

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.

Ciao e grazie
Ivan

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.

Grazie
ivan

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.

Ciao, P.

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.

Ciao, P.

Ciao Pgiagno,

l'arduino Nano é questo (l'ho preso da link che mi avevi mandato): https://www.ebay.it/itm/Nano-V3-microcontrollore-Atmega328p-Compatibile-Arduino-CH340G-Contatti-saldati/182557978962?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

Il Display è questo: https://www.ebay.it/itm/DISPLAY-LCD-20x4-2004-ARDUINO-RETROILLUMINATO-LED-BLU-MODULO-SERIALE-IIC-I2C/223196656649?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

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.

Grazie Ivan

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.

Ciao, P.

Ciao,

il pulsante rosso che ho preso è questo, ma penso che qualsiasi pulsante NO con blocco vada bene...

https://www.ebay.it/itm/Interruttore-di-arresto-di-emergenza-1NO-1NC-Fungo-rosso-DPST-660V-10A-T9K9-K2T2/253247212079?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

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)

https://www.ebay.it/itm/CONNETTORE-6-VIE-TENUTA-STAGNA-KIT-SUPERSEAL-MASCHIO-FEMMINA-X-AUTO-MOTO-NAUTICA/162021983161?hash=item25b94343b9:g:zdUAAOSwBnVW-lHr

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.

Ciao 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!!!!

Sto ampliando un po troppo il progetto :O :O

Ciao Ivan

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.

Ciao, P.

ebbene si, l'appetito vien mangiando!!!!!

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?

Come collego i pulsanti e i led?

CIao Ivan

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)

Ciao, P.

Ciao Pgiagno,

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 e grazie ancora

Ivan

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

cosa sto sbagliando?

Grazie

Ivan

Manca la libreria :-) Scaricala e installala!

Vai a questo indirizzo https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library Segui le istruzioni del file README.md Oppure: Vai su: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library 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.

Ciao, P.

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++.

Ciao, P.

Buonasera,

ecco il funzionamento: Circuto Alimentato

Pulsanti Stop rilasciati (contatto aperto) – led verdi su consolle comando e corsie accesi – led rossi spenti

Start da consolle di comando o base – led verdi spenti – Led rossi spenti

Inizio cronometraggio su tutte le 4 corsie

Pulsante Corsia 1 premuto (contatto chiuso) – Led verde spento e led rosso acceso

Stop cronometraggio corsia 1

Pulsante Corsia 2 premuto (contatto chiuso) – Led verde spento e led rosso acceso

Stop cronometraggio corsia 2

Pulsante Corsia 3 premuto (contatto chiuso) – Led verde spento e led rosso acceso

Stop cronometraggio corsia 3

Pulsante Corsia 4 premuto (contatto chiuso) – Led verde spento e led rosso acceso

Stop cronometraggio corsia 4

Pronti per nuova sessione di cronometraggio

Rilasciare i pulsanti di stop

Variabile

Pulsante di stop NON rilasciato (contatto chiuso) – Led verde spento – led rosso acceso

Start da consolle di comando o base

Il cronometraggio non parte nella corsia dove il pulsante sto non è rilasciato

per quel che riguarda il display, non riesco a caricare la libreria!!!! sto litigando ma non mi arrendo.

Grazie

Ivan