Sommario:

Campanile/Carillon controllato da Arduino: 5 passaggi (con immagini)
Campanile/Carillon controllato da Arduino: 5 passaggi (con immagini)

Video: Campanile/Carillon controllato da Arduino: 5 passaggi (con immagini)

Video: Campanile/Carillon controllato da Arduino: 5 passaggi (con immagini)
Video: Carillon - Cathédrale Saint-Pierre de Genevè 2024, Dicembre
Anonim
Campanile/Carillon controllato da Arduino
Campanile/Carillon controllato da Arduino
Campanile/Carillon controllato da Arduino
Campanile/Carillon controllato da Arduino

Questo è un insieme di campane musicali azionate da solenoidi e controllate da un microcontrollore Arduino. Ci sono 8 campane che coprono un'ottava. Le campane sono controllabili da un PC, oppure la torre può stare in piedi da sola e riprodurre melodie pre-programmate. Dai un'occhiata alla pagina finale per il video in azione.

Passaggio 1: parti

Parti
Parti

Sono state utilizzate le seguenti parti: 1 set di campanelli cromatici. Li ho presi dal mio Aldi locale per $ 20. Coprono la gamma da C a C. (cioè c, d, e, f, g, A, B, C). Pannello e staffe in legno per tenere in posizione le campane e i solenoidi. $10,8 Solenoidi per suonare le campane. Li avevo in giro nella mia cassetta delle cianfrusaglie. Li ho presi da un riparatore di macchine da scrivere che li stava buttando via. Probabilmente puoi trovare simili sul microcontrollore Ebay. Arudino. ~ $ 45. Ho preso il mio da SparkFun electronics. Scheda Proto/Perf e componenti vari per creare il mio "scudo" personalizzato per l'arduino. $ 10. Scheda driver Darlington. Ne ho usato uno che avevo in giro, ma credo che non siano venduti separatamente. Dovrebbe essere possibile farlo usando il chip ULN2803 per un paio di dollari.

Passaggio 2: lavorazione del legno

Lavorazione del legno
Lavorazione del legno

Abbastanza sorprendentemente questo passaggio ha richiesto più tempo. La codifica e il cablaggio hanno richiesto meno tempo rispetto all'asciugatura della colla. Il telaio per questo era piuttosto semplice. Solo un pezzo di compensato per contenere tutte le campane, più alcune staffe di pino per i solenoidi. Tutto è stato incollato insieme con colla PVA. Per rendere più ripetibili le staffe del solenoide, ho realizzato uno stencil in MS Visio e poi l'ho incollato al legno. Questo ha aiutato molto avere tutti i solenoidi a distanza costante dalla campana. Se lo fai non posso sottolineare abbastanza per misurare attentamente le posizioni degli attaccanti. Le campane suonano in modo abbastanza diverso a seconda di dove le colpisci e del "lancio" del solenoide.

Passaggio 3: elettronica e cablaggio

Elettronica e cablaggio
Elettronica e cablaggio

Lato conducente: ho avuto la fortuna di avere un pilota darlington in giro, il che ha semplificato molto il design. Il darlington è un transistor di potenza che puoi usare per pilotare carichi più pesanti di quelli che i minuscoli pin del microcontrollore normalmente supporterebbero. La scheda che ho usato è basata sul chip ULN2803, che è abbastanza comune ed economico. Nota: i solenoidi (di solito) non sono progettati per essere guidati costantemente! Potrebbero sciogliersi se lo fai! Vedi la sezione software per maggiori informazioni. Lato Arduino: si trattava solo di trovare 8 pin IO dall'arduino per pilotare gli ingressi Darlington. Poiché volevo inviare e ricevere dati seriali, non potevo usare i pin 0 e 1, quindi ho finito per utilizzare i digitali 2, 3, 4 e 5 su un lato e utilizzando quattro dei pin di ingresso analogico sull'altro lato come uscite digitali. Ho anche aggiunto un potenziometro collegato all'ingresso analogico n. 5, che viene utilizzato per controllare il tempo. Vengono utilizzati due LED per il feedback visivo del driver. I pin 8-13 non erano di alcuna utilità a causa della spaziatura dei pin arduino funky (grr …) Note sull'alimentazione: anche se originariamente l'ho cablato per utilizzare un alimentatore esterno per guidare i solenoidi, ho scoperto (per caso) che l'alimentazione USB era sufficiente. Ero preoccupato che l'improvviso impulso di corrente avrebbe causato la caduta della tensione e il "brown-out" del microcontrollore, ma questo non sembra accadere. Il tuo chilometraggio può variare. Dal momento che è molto più conveniente per me usare solo l'alimentazione USB, continuerò a farlo finché non avrò un problema.

Passaggio 4: progettazione del software

Progettazione software
Progettazione software
Progettazione software
Progettazione software

Strategia di progettazione L'obiettivo era di far pilotare il campanile dal PC. Il collegamento USBSerial di Arduino era il modo ideale per farlo. L'arduino riceve i dati seriali dal PC che corrispondono alle note da suonare. Il protocollo è semplice; le note sono tutte nei loro equivalenti di testo ASCII. C'è anche un numero numerico come ritardo variabile. E.g. Il PC invia: "cde2fgABC" e l'Arduino suona le campane 1, 2, 3, riposa per mezza nota e poi suona le campane 4, 5, 6, 7 e 8. Punta del cappello a John Plocher per il suo progetto ServoBells, che in parte ha ispirato questo progetto. Arduino Side Code:Il codice arduino riceve i dati seriali, decodifica quale nota o ritardo da riprodurre e quindi commuta opportunamente i solenoidi. A proposito. Assicurati che il tuo codice sia progettato in modo che i solenoidi non siano tenuti accesi!. Se lasci un solenoide acceso per errore, si scioglierà. Ho risolto questo problema bloccando le mie routine di note fino a quando il solenoide non viene spento, anziché eseguire costantemente il polling, ecc. Codice lato PC: il programma client è stato scritto in C#. Dispone di pulsanti per ogni singola nota, nonché di pulsanti per le melodie preprogrammate. I dati della nota vengono inviati alla porta seriale. Il codice sorgente di tutto è allegato. Spazio per miglioramenti:

Note polifoniche

Ho tralasciato la possibilità di suonare due note contemporaneamente, poiché non pensavo che nessun brano in grado di adattarsi a 1 ottava li avrebbe richiesti. Inoltre sparare più di un solenoide può

Uccidere la coda

Il PC invia grandi frasi di note all'arduino, che quindi le elabora fino allo svuotamento della coda. Tuttavia, per grandi brani questo può essere noioso e potrebbe essere desiderabile poter interrompere un brano in esecuzione. Ciò potrebbe essere ottenuto inserendo un'altra lettera nella frase seriale (ad esempio "x") come codice per svuotare il buffer.

Passaggio 5: azionare le campane

Azionare le campane
Azionare le campane
Azionare le campane
Azionare le campane

Il funzionamento delle campane è piuttosto semplice. Collegare il cavo USB e aprire il software per PC. È possibile fare clic sui singoli pulsanti del campanello per riprodurre una melodia. Facoltativamente ci sono pulsanti per riprodurre scale, brani pre-programmati e anche una casella di testo per l'immissione di testo a mano libera. Ho incluso un video delle campane che suonano. Finora sono programmati solo brani semplici in.video è qui: https://blip.tv/file/1521415 (Se qualcuno sa come suonare il tema di Futurama in un'ottava da Do a Do, per favore fatemelo sapere ….)

Consigliato: