Talaan ng mga Nilalaman:

Tobias - Arduino Music Box With TVout: 5 Hakbang (na may Mga Larawan)
Tobias - Arduino Music Box With TVout: 5 Hakbang (na may Mga Larawan)

Video: Tobias - Arduino Music Box With TVout: 5 Hakbang (na may Mga Larawan)

Video: Tobias - Arduino Music Box With TVout: 5 Hakbang (na may Mga Larawan)
Video: Tobias - Arduino Music Box 2024, Hulyo
Anonim
Tobias - Arduino Music Box With TVout
Tobias - Arduino Music Box With TVout
Tobias - Arduino Music Box With TVout
Tobias - Arduino Music Box With TVout
Tobias - Arduino Music Box With TVout
Tobias - Arduino Music Box With TVout

Una sa lahat, ipakilala ko kay Tobias, ang higanteng teddy bear ng aking kasintahan, na siyang inspirasyon para sa proyektong ito.

Si Tobias ay may pagkatao, nabuo sa paglipas ng panahon habang biro kaming nagtataka sa aming isipan kung ano ang ginagawa niya habang wala siya sa trabaho.

Ang proyekto ay inilaan upang maging isang simpleng regalo, isang Arduino na may isang piezo speaker na tumutugtog ng kanyang paboritong kanta. Mabilis na nawala ito sa aking kontrol at naging isang music box:

  • 3D na naka-print
  • may kakayahang magpatugtog ng musika nang hindi nangangailangan ng isang koneksyon sa USB gamit ang mga baterya ng AA
  • may piano "key" na ilaw sa bawat tala
  • may kakayahang kopyahin ang mga imahe sa isang lumang telebisyon ng CRT sa pamamagitan ng mga konektor ng RCA

Mga gamit

  • Arduino Nano
  • Speaker (Kinuha ko ito mula sa isang nasirang lumang radyo)
  • Toggle Switch (3 pin) - tagapili ng mode
  • Rotary Potentiometer - kontrol sa dami
  • 2x 220Ω risistor
  • 1x 440Ω risistor o 2x 220Ω risistor
  • 1x 1kΩ risistor
  • 11 3mm leds
  • 2x RCA mga babaeng konektor
  • mga wire
  • 3.5mm puting acrylic
  • mainit na pandikit o sobrang pandikit

Mga tool:

  • kit ng panghinang
  • 3d printer
  • computer na may Arduino IDE upang mai-upload ang code

Hakbang 1: Code - Mag-upload

Kakailanganin mong:

  • Library sa TVout - pinapayagan ang Arduino na maglagay ng mga imahe at tunog sa telebisyon na may koneksyon sa RCA o SCART
  • arduino-volume1 - Pinapabuti ng library na ito ang kalidad ng tunog, ginagamit ito sa mode 1 (Mag-isa ang Arduino nang walang koneksyon sa TV). Gayunpaman, sa mode 2, hindi posible na gamitin ito nang sabay-sabay habang ginagamit ng library ng TVout ang parehong timer bilang volume1

Kung nais mong baguhin ang musika o imahe tingnan ang mga susunod na hakbang, kung hindi lamang i-upload ang code sa iyong Arduino, ngunit tiyakin muna na mayroon kang naka-install na parehong mga aklatan.

Hakbang 2: Code (baguhin ang Musika)

Code (baguhin ang Musika)
Code (baguhin ang Musika)

Mahahanap mo rito ang kanta:

Hinati ko ang musika sa mga bahagi, nagtatalaga ng mga titik sa bawat bahagi na inuulit ang sarili. Pagkatapos ay nagtalaga ako ng isang halaga ng 1 hanggang 16 para sa bawat tala at inilagay ang mga ito sa linya 0 ng bawat array. Ang mga halaga ay tumutugma sa dalas ng tala na dapat i-play (array freq ). Sa linya 1 inilalagay ko ang tagal ng bawat tala sa itaas. Halimbawa:

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

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

{1, 3, 1, 1, 1, 1}}; // tagal

Kung nais mong gumamit ng isa pang kanta:

  • baguhin ang freq array kasama ang mga bagong nais na frequency (tala)
  • baguhin ang mga arrays na naaayon sa bawat bahagi ng kanta
  • sa walang bisa na musika () piliin ang pagkakasunud-sunod na dapat i-play
  • baguhin ang "X" sa pag-aayos ng array para sa bilang ng mga elemento sa bawat linya at baguhin din sa kaukulang walang bisa, halimbawa:

melB1 [2] [X]

void melodiaB1 () {

para sa (a = 0; a <X; a ++) {

Hakbang 3: Code (baguhin ang Larawan / Larawan)

Code (baguhin ang Larawan / Larawan)
Code (baguhin ang Larawan / Larawan)
Code (baguhin ang Larawan / Larawan)
Code (baguhin ang Larawan / Larawan)
Code (baguhin ang Larawan / Larawan)
Code (baguhin ang Larawan / Larawan)

Ginamit ko ang GIMP upang baguhin ang isang larawan sa itim at puti, mga hakbang:

Mga Kulay / saturation = 0

Dapat baguhin ang imahe sa isang resolusyon na 95x95 pixel. Pinapayagan ng library ng TVout para sa mas mataas na mga resolusyon ngunit dahil sa laki ng code na nilalayon kong gamitin, napilitan akong ibaba ang resolusyon.

  • Rectangle Select Tool (Aspect Ratio - naayos na 1: 1)
  • I-edit / Kopyahin
  • File / Lumikha / Mula sa Clipboard
  • Larawan / Imahe ng Kalakasan (95x95)

Kailangang baguhin ang imahe sa itim at puti at hindi kulay-abo.

  • Fuzzy Select Tool at Libreng Piliin ang Tool upang piliin ang mga lugar na nais kong lumitaw sa itim.
  • Pencil (itim) upang gawing itim ang aming pagpipilian
  • Piliin / Baligtarin (ibabaligtad ang aming pagpipilian)
  • Pencil (puti) upang kulay ang puti sa natitirang lugar
  • Mga Kulay / Liwanag-Contrast (kaibahan sa max upang matiyak na itim ang itim)

Ngayon na mayroon kaming imahe sa itim at puti na may resolusyon na 95x95 pixel

File / Export As (. BMP)

Upang mai-convert ang bagong imahe sa code ginamit ko ang Image2Code

Na nagbibigay sa amin ng isang halos magandang array. Pagkatapos kinopya at na-paste ito sa Arduino IDE.

Paggamit ng I-edit / Hanapin:

  • hanapin ang lahat ng "0xFF" at pinalitan ito ng "0" (Palitan Lahat)
  • gawin ang pareho para sa "0x00" at palitan ito ng "1"
  • Tanggalin ang lahat ng “{“at “}”

Ang "0" ay magiging isang itim na pixel

Ang "1" ay magiging isang puting pixel

Hakbang 4: Modelo ng 3D

Modelo ng 3D
Modelo ng 3D

Upang likhain ang kahon ng modelo ng 3D ginamit ko ang SketchUp. Dahil sa mga limitasyon ng aking 3D printer at ang kahirapan naisip ko na gagawin ang mga panloob na koneksyon ay nagpasya akong lumikha ng modelo sa 4 na bahagi.

Na-upload ko ang SketchUp file kung nais mong baguhin ang isang bagay sa disenyo, kung hindi, i-print lamang ang.stl file

Hakbang 5: Assembly

Assembly
Assembly
Assembly
Assembly
Assembly
Assembly

Ang pagtitipon ay hindi kumplikado ngunit mahirap dahil sa laki ng kahon at sa dami ng mga wires na makakonekta.

Inirerekumendang: