Innehållsförteckning:

Tobias - Arduino Music Box With TVout: 5 Steps (with Pictures)
Tobias - Arduino Music Box With TVout: 5 Steps (with Pictures)

Video: Tobias - Arduino Music Box With TVout: 5 Steps (with Pictures)

Video: Tobias - Arduino Music Box With TVout: 5 Steps (with Pictures)
Video: DIY: Multimedia Bluetooth Boombox Speaker 2024, November
Anonim
Tobias - Arduino musiklåda med TVout
Tobias - Arduino musiklåda med TVout
Tobias - Arduino musiklåda med TVout
Tobias - Arduino musiklåda med TVout
Tobias - Arduino musiklåda med TVout
Tobias - Arduino musiklåda med TVout

Låt mig först och främst presentera Tobias, min flickväns gigantiska nallebjörn, som är inspirationen för detta projekt.

Tobias har en personlighet, byggd upp med tiden medan vi skämtsamt undrar i sinnet vad han gör medan hon är borta på jobbet.

Projektet var tänkt att vara en enkel gåva, en Arduino med en piezohögtalare som spelar hennes favoritlåt. Det gick snabbt ur min kontroll och blev en musiklåda:

  • 3D -tryckt
  • kan spela musik utan att det behövs en USB -anslutning med hjälp av AA -batterier
  • med pianotangenter som lyser med varje ton
  • kan återge bilder på en gammal CRT -tv via RCA -kontakter

Tillbehör

  • Arduino Nano
  • Högtalare (jag tog den från en skadad gammal radio)
  • Vippströmställare (3 -stift) - lägesväljare
  • Rotary Potentiometer - volymkontroll
  • 2x 220Ω motstånd
  • 1x 440Ω motstånd eller 2x 220Ω motstånd
  • 1x 1kΩ motstånd
  • 11 3 mm lysdioder
  • 2x RCA -honkontakter
  • trådar
  • 3,5 mm vit akryl
  • varmt lim eller superlim

Verktyg:

  • lödkit
  • 3d skrivare
  • dator med Arduino IDE för att ladda upp koden

Steg 1: Kod - Ladda upp

Du kommer behöva:

  • TVout -bibliotek - låter Arduino sätta bilder och ljud på en TV med RCA- eller SCART -anslutning
  • arduino -volume1 - Detta bibliotek förbättrar ljudkvaliteten, det används i läge 1 (Arduino ensam utan TV -anslutning). I läge 2 är det dock inte möjligt att använda det samtidigt som TVout-biblioteket använder samma timer som volym1

Om du vill ändra musiken eller bilden se nästa steg, om inte bara ladda upp koden till din Arduino, men se först till att båda biblioteken är installerade.

Steg 2: Kod (ändra musiken)

Kod (ändra musik)
Kod (ändra musik)

Här hittar du låten:

Jag delar upp musiken i delar och tilldelar bokstäver till varje del som upprepar sig. Sedan tilldelade jag värdet 1 till 16 för varje anteckning och placerade dem på rad 0 i varje array. Värdena motsvarar frekvensen för noten som ska spelas (arrayfrekvens ). På rad 1 sätter jag varaktigheten för varje anteckning ovan. Exempel:

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

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

{1, 3, 1, 1, 1, 1}}; // varaktighet

Om du vill använda en annan låt:

  • ändra frekvens -matrisen med de nya önskade frekvenserna (anteckningar)
  • ändra arrays som motsvarar varje del av låten
  • i ogiltig musik () välj den ordning som ska spelas
  • ändra "X" i arraydeklarationen för antalet element i varje rad och ändra även i motsvarande tomrum, exempel:

melB1 [2] [X]

void melodiaB1 () {

för (a = 0; a <X; a ++) {

Steg 3: Kod (ändra bild / foto)

Kod (ändra bild / foto)
Kod (ändra bild / foto)
Kod (ändra bild / foto)
Kod (ändra bild / foto)
Kod (ändra bild / foto)
Kod (ändra bild / foto)

Jag använde GIMP för att ändra ett foto till svartvitt, steg:

Färger / mättnad = 0

Bilden måste ändras till en upplösning på 95x95 pixlar. TVout -biblioteket möjliggör högre upplösningar men på grund av storleken på koden som jag tänkte använda tvingades jag sänka upplösningen.

  • Rektangelvalverktyg (bildförhållande - fast 1: 1)
  • Redigera/kopiera
  • Arkiv/Skapa/Från Urklipp
  • Bild/skalbild (95x95)

Det är absolut nödvändigt att konvertera bilden till svartvitt och inte gråskala.

  • Fuzzy Select Tool och Free Select Tool för att välja de områden som jag vill ska visas i svart.
  • Penna (svart) för att göra vårt urval svart
  • Välj / invertera (inverterar vårt urval)
  • Penna (vit) för att färga resten av området vitt
  • Färger / ljusstyrka-kontrast (kontrast till max för att säkerställa att svart är svart)

Nu när vi har bilden i svartvitt med en upplösning på 95x95 pixlar

Fil/Exportera som (. BMP)

För att konvertera den nya bilden till kod använde jag Image2Code

Vilket ger oss en nästan bra uppsättning. Sedan kopierade jag och klistrade in den i Arduino IDE.

Använda Redigera / Sök:

  • sök efter alla "0xFF" och ersätt det med "0" (Ersätt alla)
  • gör samma sak för “0x00” och ersätt det med “1”
  • Radera alla "{" och "}"

"0" kommer att vara en svart pixel

"1" kommer att vara en vit pixel

Steg 4: 3D -modell

3D -modell
3D -modell

För att skapa box -3D -modellen använde jag SketchUp. På grund av min 3D -skrivares begränsningar och svårigheten jag trodde att det skulle vara att göra de interna anslutningarna bestämde jag mig för att skapa modellen i 4 delar.

Jag laddade upp SketchUp -filen om du vill ändra något på designen, om inte, skriv bara ut.stl -filerna

Steg 5: Montering

hopsättning
hopsättning
hopsättning
hopsättning
hopsättning
hopsättning

Montering är inte komplext men det är svårt på grund av lådans storlek och mängden ledningar som ska anslutas.

Rekommenderad: