Sommario:

Tobias - Arduino Music Box con uscita TV: 5 passaggi (con immagini)
Tobias - Arduino Music Box con uscita TV: 5 passaggi (con immagini)

Video: Tobias - Arduino Music Box con uscita TV: 5 passaggi (con immagini)

Video: Tobias - Arduino Music Box con uscita TV: 5 passaggi (con immagini)
Video: Quando provi a fare un complimento a una ragazza... 2024, Dicembre
Anonim
Tobias - Arduino Music Box con uscita TV
Tobias - Arduino Music Box con uscita TV
Tobias - Arduino Music Box con uscita TV
Tobias - Arduino Music Box con uscita TV
Tobias - Arduino Music Box con uscita TV
Tobias - Arduino Music Box con uscita TV

Prima di tutto, lasciate che vi presenti Tobias, l'orsacchiotto gigante della mia ragazza, che è l'ispirazione per questo progetto.

Tobias ha una personalità, costruita nel tempo mentre ci chiediamo scherzosamente nella nostra mente cosa fa mentre lei è al lavoro.

Il progetto doveva essere un semplice regalo, un Arduino con un altoparlante piezo che suona la sua canzone preferita. Rapidamente è sfuggito al mio controllo ed è diventato un carillon:

  • Stampato in 3D
  • in grado di riprodurre musica senza la necessità di una connessione USB utilizzando batterie AA
  • con i “tasti” del pianoforte che si illuminano ad ogni nota
  • in grado di riprodurre immagini su un vecchio televisore CRT tramite connettori RCA

Forniture

  • Arduino Nano
  • Altoparlante (l'ho preso da una vecchia radio danneggiata)
  • Interruttore a levetta (3 pin) - selettore di modalità
  • Potenziometro rotativo - controllo del volume
  • 2x resistore da 220Ω
  • 1x resistore da 440Ω o 2x resistore da 220Ω
  • 1x resistenza da 1kΩ
  • 11 led da 3mm
  • 2x connettori RCA femmina
  • fili
  • Acrilico bianco da 3,5 mm
  • colla a caldo o supercolla

Utensili:

  • kit di saldatura
  • stampante 3d
  • computer con Arduino IDE per caricare il codice

Passaggio 1: codice - Carica

Avrai bisogno:

  • Libreria TVout - consente ad Arduino di inserire immagini e suoni su un televisore con connessione RCA o SCART
  • arduino-volume1 - Questa libreria migliora la qualità del suono, viene utilizzata in modalità 1 (solo Arduino senza connessione TV). Tuttavia, in modalità 2, non è possibile utilizzarlo contemporaneamente poiché la libreria TVout utilizza lo stesso timer di volume1

Se vuoi cambiare la musica o l'immagine, guarda i passaggi successivi, altrimenti carica semplicemente il codice sul tuo Arduino, ma prima assicurati di avere entrambe le librerie installate.

Passaggio 2: codice (cambia la musica)

Codice (cambia la musica)
Codice (cambia la musica)

Qui potete trovare la canzone:

Divido la musica in parti, assegnando lettere a ciascuna parte che si ripete. Quindi ho assegnato un valore da 1 a 16 per ogni nota e le ho posizionate sulla riga 0 di ogni array. I valori corrispondono alla frequenza della nota da suonare (array freq ). Nella riga 1 ho messo la durata di ogni nota sopra. Esempio:

const byte melB1[2][6] PROGMEM={

{11, 8, 0, 8, 7, 6}, //nota

{ 1, 3, 1, 1, 1, 1}}; // durata

Se vuoi usare un'altra canzone:

  • modificare l'array freq con le nuove frequenze desiderate (note)
  • cambia gli array corrispondenti a ciascuna parte della canzone
  • in void music() scegli l'ordine da riprodurre
  • cambia la “X” nella dichiarazione dell'array per il numero di elementi in ogni riga e cambia anche nel corrispondente void, esempio:

melB1[2][X]

melodia voidB1(){

for (a=0; a<X; a++){

Passaggio 3: codice (cambia l'immagine / foto)

Codice (cambia l'Immagine/Foto)
Codice (cambia l'Immagine/Foto)
Codice (cambia l'Immagine/Foto)
Codice (cambia l'Immagine/Foto)
Codice (cambia l'Immagine/Foto)
Codice (cambia l'Immagine/Foto)

Ho usato GIMP per cambiare una foto in bianco e nero, passaggi:

Colori / Saturazione = 0

L'immagine deve essere modificata con una risoluzione di 95x95 pixel. La libreria TVout consente risoluzioni più elevate ma a causa delle dimensioni del codice che intendevo utilizzare, sono stato costretto ad abbassare la risoluzione.

  • Strumento selezione rettangolo (proporzioni - fisso 1:1)
  • Modifica/Copia
  • File/Crea/Dagli appunti
  • Immagine/Immagine in scala (95x95)

È indispensabile convertire l'immagine in bianco e nero e non in scala di grigi.

  • Strumento di selezione fuzzy e strumento di selezione libera per selezionare le aree che voglio visualizzare in nero.
  • Matita (nera) per rendere la nostra selezione nera
  • Seleziona / Inverti (inverte la nostra selezione)
  • Matita (bianca) per colorare di bianco il resto dell'area
  • Colori/Contrasto luminosità (contrasto al massimo per garantire che il nero sia nero)

Ora che abbiamo l'immagine in bianco e nero con una risoluzione di 95x95 pixel

File/Esporta come (. BMP)

Per convertire la nuova immagine in codice ho usato Image2Code

Il che ci dà un assortimento quasi buono. Quindi l'ho copiato e incollato nell'IDE di Arduino.

Usando Modifica/Trova:

  • cercare tutto "0xFF" e sostituirlo con "0" (Sostituisci tutto)
  • fai lo stesso per "0x00" e sostituiscilo con "1"
  • Elimina tutti i "{" e "}"

"0" sarà un pixel nero

"1" sarà un pixel bianco

Passaggio 4: modello 3D

Modello 3D
Modello 3D

Per creare il modello 3D della scatola ho usato SketchUp. A causa dei limiti della mia stampante 3D e della difficoltà che immaginavo avrebbe dovuto fare i collegamenti interni, ho deciso di creare il modello in 4 parti.

Ho caricato il file SketchUp se vuoi cambiare qualcosa sul design, in caso contrario, stampa i file.stl

Passaggio 5: assemblaggio

Assemblea
Assemblea
Assemblea
Assemblea
Assemblea
Assemblea

Il montaggio non è complesso ma è difficile a causa delle dimensioni della scatola e della quantità di cavi da collegare.

Consigliato: