Sommario:

Arduino Chessclock: 6 passaggi
Arduino Chessclock: 6 passaggi

Video: Arduino Chessclock: 6 passaggi

Video: Arduino Chessclock: 6 passaggi
Video: Arduino UNO TFT LCD Touch Chess Clock in Action 2024, Dicembre
Anonim
Arduino Scacchi
Arduino Scacchi

Non sono riuscito a trovare istruzioni su un buon orologio per scacchi Arduino, quindi ho costruito il mio che descriverò qui.

Passaggio 1: elenco delle parti

Elenco delle parti
Elenco delle parti

ecco le cose di cui avrai bisogno: Arduino nano (o qualsiasi tipo di arduino UNO andrà bene) saldatore a saldare scheda PCB o scheda vero 2 portabatteria doppio AA 3 x 10k OHM portafusibile portafusibile 2 x pin di terra da 2 spine del Regno Unito 2 x 4 cifre display a 7 segmenti cicalino 1 interruttore a levetta 1 pulsante piccolo (premere per creare il tipo) cavo USB 1 (o qualsiasi altra cosa si adatti al tuo Arduino) raccordi per microfoni e dadi. Per questo ho fatto un'offerta e ho vinto un set meccano su ebay e ho usato quello che ho trovato Involucro (opzionale) breadboard e cavi jumper (opzionale ma consigliato per prototiparlo prima) volta, un sacco di tempo! Ho allegato un'immagine ma questa proveniva dai miei pezzi di ricambio dopo la mia costruzione, quindi mancano alcuni componenti come indicato.

Passaggio 2: prototipazione

prototipazione
prototipazione
prototipazione
prototipazione

L'intero progetto può essere suddiviso in queste parti: 1. ottenere il circuito corretto 2. il programma 3. il layout fisico Questo passaggio è facoltativo poiché ti fornirò lo schema del circuito, ma ti consiglio vivamente di provarlo in un breadboard prima in quanto confermerà (o meno) che hai tutte le parti di cui hai bisogno e ti consentirà di pensare alla disposizione fisica di tutti i pezzi per un alloggiamento o una base. Ho allegato qui un'immagine del mio prototipo in una breadboard e anche uno schema elettrico. Alcune note sul circuito: 1. In alto a sinistra dello schema circuitale è riportato il pin del display che è collegato al segmento (Cathodes) o al digit (Anodes). 2. Noterai che per ogni display i segmenti (catodi) sono collegati al rispettivo segmento sull'altro display. Questo perché il display è multiplexato per visualizzare le cifre corrette 3. l'interruttore di reset e il bilanciere sono cablati con resistori pull down in modo da mantenere l'ingresso BASSO quando il rispettivo pulsante non è premuto. vedere https://www.arduino.cc/en/tutorial/button per maggiori dettagli su questo. 4. Il circuito di alimentazione è completamente separato ma semplice. Si tratta di 4 batterie AA in serie con un interruttore saldate nei cavi rosso e nero di un cavo USB tagliato. Il cavo USB va poi nell'arduino.

Passaggio 3: il programma

Il programma
Il programma
Il programma
Il programma

Una volta che lo hai su una breadboard, devi scrivere il controller. Fortunatamente per te ho allegato il mio codice qui, ma ti incoraggio a provare o modificare questo codice. Se hai intenzione di scriverlo da zero, prima capisci quali pin impostare su cosa fare tutte e 10 le cifre, ho quindi codificato altri 2 modelli, uno per quando il tempo è scaduto e uno per rappresentare 10 in un singolo cifra (vedi immagine). Il passaggio successivo consiste nel multiplexare le cifre in modo da poter potenzialmente visualizzare un numero o un motivo diverso su ciascuna delle 8 cifre. Ho modificato la velocità del multiplexing finché non sembrava giusto, troppo veloce ei numeri si uniscono tra cifre vicine e troppo lenti e l'occhio nudo può notare il multiplexing. Il prossimo passo è contare i numeri alla rovescia come 2 serie di 4 numeri che rappresentano 2 conti alla rovescia. Ho scelto di usare la prima cifra per i minuti, la successiva 2 per i secondi e l'ultima per i decimi di secondo, ma potresti scegliere di avere 2 per i minuti e 2 per i secondi. Il conto alla rovescia può essere calibrato con un semplice ciclo for che non fa nulla in modo che un tick di un 'secondo' sul display sia effettivamente un secondo reale. Mi sono avvicinato molto al mio, ma ho pensato che non importa molto per una partita a scacchi informale se ogni partita ha lo stesso numero di unità. Immagino che potresti voler renderlo più preciso se vuoi usare il tuo orologio di scacchi per un torneo o anche per cronometrare un uovo! L'orologio si carica in modalità di ripristino quando viene acceso. Quindi attende che i bilancieri vengano colpiti su entrambi i lati e fa il conto alla rovescia dai 5 minuti (predefiniti). Il codice ascolta il pulsante di reset quando il bilanciere è bilanciato. se viene colpito, l'orologio torna in modalità di ripristino. A questo punto è possibile utilizzare il pulsante di reset per scorrere i minuti desiderati per ogni riproduzione da 1 a 10. quando viene visualizzata l'ora desiderata, è possibile premere nuovamente il tasto per far ripartire l'orologio. infine è necessario che faccia qualcosa per indicare che il tempo è scaduto nel mio caso mostra tutti i trattini (-) e riproduce una serie di segnali acustici, quindi mostra un lato come 0000 (il perdente) e l'altro lato come qualunque ora non è stato utilizzato dal vincitore.

Passaggio 4: costruzione fisica

Costruzione fisica
Costruzione fisica

La fase successiva è la costruzione fisica. Interruttore a bilanciere Il primo pezzo è costruire l'interruttore a bilanciere. Questo interruttore deve chiudere una delle due connessioni ma mai entrambe. Inoltre deve essere in grado di bilanciarsi nel mezzo dove non chiude né la connessione. Questo mette in pausa l'orologio. Qui ho usato un piccolo pezzo di legno e ho avvitato un perno di messa a terra del Regno Unito a entrambe le estremità. Quindi viene costruito un perno nel mezzo per sollevare il bilanciere dalla tavola. Ancora una volta ho usato il mio meccano ebay ampiamente per questo pezzo. Quando il bilanciere è montato sulla scheda, i pin di massa devono entrare nelle clip del portafusibili per chiudere la connessione. Per rendere questo avere una sensazione liscia ho limato i bordi dei perni di terra in modo che l'ingresso nel portafusibili si muova facilmente (vedi immagine). Layout Ho prima montato i PCB vuoti su un foglio di perspex con uno spazio per il perno del bilanciere interruttore. Poi l'ho tolto e ho saldato i componenti e il filo con lo stesso spazio. Se non lo fai, potresti avere difficoltà a fissare le tavole risultanti sul perspex della base. Disegna prima il layout su carta e tieni a mente: - quanto sarà alto il lato "sopra" di ciascun bilanciere per l'alloggiamento - alcuni componenti come i portabatterie e la porta USB Arduino devono essere accessibili dopo il completamento - Se gli interruttori devono essere montati su un coperchio dell'alloggiamento, quindi collegare i loro fili con connettori in modo che il coperchio possa essere completamente rimosso. (il mio ha solo una cerniera, ma l'ho fatto comunque) - Ho inclinato i display a 7 segmenti estendendo i pin su un lato con il filo del fusibile che consente a quel lato di sedersi più in alto fuori dalla scheda Alloggiamento Avevo pianificato di costruire un alloggiamento personalizzato ma alla fine non ho avuto abbastanza tempo e il perspex è difficile da tagliare quindi ho comprato una scatola di dimensioni simili a quello che mi serviva e l'ho modificata un po'. Penso che sia bene avere un involucro trasparente in modo da poter vedere il funzionamento, ma assicurati che le batterie e la porta USB rimangano disponibili per le modifiche al programma. Questo è divertimento e buona fortuna!

Passaggio 5: altre opzioni…

Possibili miglioramenti o opzioni: - riprodurre una sequenza di segnali acustici diversa a seconda di quale parte vince - riprodurre una melodia al termine Credo che ciò sia possibile con i pin analogici e un apposito cicalino. - diversi schemi di temporizzazione ufficiali degli scacchi (ad esempio aggiungi il tempo per ogni mossa giocata) - usa il segmento 7 per essere 2 cifre per i minuti e 2 per i secondi

Passaggio 6: aggiornamento 2019

Aggiornamento 2019!
Aggiornamento 2019!
Aggiornamento 2019!
Aggiornamento 2019!
Aggiornamento 2019!
Aggiornamento 2019!

così sono tornato al mio primo Instructable e ho rifatto questo orologio!

Ho seguito più o meno gli stessi passaggi ma con i seguenti miglioramenti:

Costruzione fisica

  • L'intera costruzione è più compatta e su una base di legno (vedi foto)
  • Passato a una singola batteria da 9 V collegata direttamente a VIN e GND tramite un interruttore
  • L'interruttore a bilanciere è meccano in cui ogni lato viene tenuto premuto quando viene premuto da magneti superpotenti.

Codice

Ho anche migliorato il codice che è allegato qui. miglioramenti sono:

  • Abbandonato il display dei decimi di secondo e spostato le cifre a destra
  • Incrementi aggiunti. Aggiunti 5 minuti più 5 secondi per/movimento e 10 minuti più 5 secondi per/movimento come opzioni

Aggiunto un paio di linee per cambiare i display (L R) se dopo la build scopri che l'interruttore a bilanciere non avvia l'orologio corretto

Circuito

Consigliato: