Mundarija:

Tobias - Arduino musiqiy qutisi TVout bilan: 5 qadam (rasmlar bilan)
Tobias - Arduino musiqiy qutisi TVout bilan: 5 qadam (rasmlar bilan)

Video: Tobias - Arduino musiqiy qutisi TVout bilan: 5 qadam (rasmlar bilan)

Video: Tobias - Arduino musiqiy qutisi TVout bilan: 5 qadam (rasmlar bilan)
Video: It Became Unliveable! ~ Abandoned Home Of The Spenser's In The USA 2024, Iyul
Anonim
Tobias - Arduino TVout bilan musiqa qutisi
Tobias - Arduino TVout bilan musiqa qutisi
Tobias - Arduino TVout bilan musiqa qutisi
Tobias - Arduino TVout bilan musiqa qutisi
Tobias - Arduino TVout bilan musiqa qutisi
Tobias - Arduino TVout bilan musiqa qutisi

Avvalo, bu loyihaning ilhomlantiruvchisi bo'lgan qiz do'stimning ulkan ayiqchasi Tobias bilan tanishtiray.

Tobiasning shaxsiyati bor, u vaqt o'tishi bilan shakllangan, biz hazillashib u ishda bo'lmaganida nima qilayotganini ongimizda hayron qoldiramiz.

Loyiha oddiy sovg'a bo'lishi kerak edi, Arduino o'zining sevimli qo'shig'ini ijro etadigan piezo karnay bilan. Tezda u mening nazoratimdan chiqib, musiqiy qutiga aylandi:

  • 3D bosilgan
  • AA batareyalaridan foydalangan holda USB ulanishisiz musiqa ijro etishga qodir
  • har bir notada yonib turadigan pianino "tugmachalari" bilan
  • eski CRT televizoridagi tasvirlarni RCA ulagichlari orqali qayta ishlab chiqarishga qodir

Ta'minotlar

  • Arduino Nano
  • Karnay (men uni buzilgan eski radiodan oldim)
  • Toggle Switch (3 pinli) - rejim tanlash
  • Aylanadigan potentsiometr - tovushni boshqarish
  • 2x 220Ω qarshilik
  • 1x 440Ω qarshilik yoki 2x 220Ω qarshilik
  • 1x 1kΩ qarshilik
  • 11 3 mm diodli lampalar
  • 2x RCA ayol ulagichlari
  • simlar
  • 3,5 mm oq akril
  • issiq elim yoki super elim

Asboblar:

  • lehim to'plami
  • 3D printer
  • Kodni yuklash uchun Arduino IDE o'rnatilgan kompyuter

1 -qadam: Kod - yuklash

Sizga kerak bo'ladi:

  • TVout kutubxonasi - Arduino -ga tasvir va ovozni RCA yoki SCART -ga ulangan televizorga qo'yishga ruxsat beradi
  • arduino -volume1 - Bu kutubxona ovoz sifatini yaxshilaydi, u 1 rejimda ishlatiladi (faqat Arduino televizorga ulanmagan). Biroq, 2-rejimda, uni bir vaqtning o'zida ishlatish mumkin emas, chunki TVout kutubxonasi 1-sonli taymerdan foydalanadi

Agar siz musiqani yoki tasvirni o'zgartirmoqchi bo'lsangiz, keyingi qadamlarni ko'ring, agar kodni Arduino -ga yuklamasangiz, lekin avval ikkala kutubxonani ham o'rnatganingizga ishonch hosil qiling.

2 -qadam: kod (musiqani o'zgartirish)

Kod (musiqani o'zgartirish)
Kod (musiqani o'zgartirish)

Bu erda siz qo'shiqni topishingiz mumkin:

Men musiqani qismlarga ajratdim, har bir qismga harflar tayinlanib, takrorlanadi. Keyin men har bir eslatma uchun 1 dan 16 gacha qiymat tayinladim va ularni har bir qatorning 0 qatoriga qo'ydim. Qiymatlar ijro etiladigan notaning chastotasiga mos keladi (frek [array ). 1 -qatorda men har bir eslatmaning davomiyligini yuqoriga qo'yaman. Misol:

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

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

{1, 3, 1, 1, 1, 1}}; // davomiyligi

Agar siz boshqa qo'shiqni ishlatmoqchi bo'lsangiz:

  • frek qatorini yangi kerakli chastotalar bilan o'zgartiring (eslatmalar)
  • qo'shiqning har bir qismiga mos keladigan massivlarni o'zgartiring
  • in void music () ijro etiladigan tartibni tanlang
  • har bir satrdagi elementlar soni uchun qator deklaratsiyasida "X" ni o'zgartiring va mos keladigan bo'shliqni o'zgartiring, masalan:

melB1 [2] [X]

void melodiaB1 () {

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

3 -qadam: kod (rasm / rasmni o'zgartirish)

Kod (rasm / rasmni o'zgartirish)
Kod (rasm / rasmni o'zgartirish)
Kod (rasm / rasmni o'zgartirish)
Kod (rasm / rasmni o'zgartirish)
Kod (rasm / rasmni o'zgartirish)
Kod (rasm / rasmni o'zgartirish)

Men rasmni qora va oq rangga o'zgartirish uchun GIMP -dan foydalanganman:

Ranglar / to'yinganlik = 0

Rasmni 95x95 pikselli piksellar soniga o'zgartirish kerak. TVout kutubxonasi yuqori aniqliklarga ruxsat beradi, lekin men foydalanmoqchi bo'lgan kodning kattaligi tufayli piksellar sonini pasaytirishga majbur bo'ldim.

  • To'rtburchak tanlash vositasi (Aspekt nisbati - 1: 1)
  • Tahrirlash/nusxalash
  • Fayl/Yaratish/Buferdan
  • Rasm/o'lchovli rasm (95x95)

Tasvirni kulrang emas, qora va oq rangga o'tkazish juda muhimdir.

  • Qora rangda ko'rsatmoqchi bo'lgan joylarni tanlash uchun Fuzzy Select Tool va Free Select Tool.
  • Bizning tanlovimizni qora qilish uchun qalam (qora)
  • Tanlash / teskari aylantirish (tanlovimizni o'zgartiradi)
  • Qolgan joyni oq rangga bo'yash uchun qalam (oq)
  • Ranglar / Yorqinlik-Kontrast (qora rangni ta'minlash uchun maxdan farqli o'laroq)

Endi bizda tasvir oq va oq rangda, 95x95 pikselli

Fayl/eksport qilish (. BMP)

Yangi tasvirni kodga aylantirish uchun Image2Code -dan foydalandim

Bu bizga deyarli yaxshi qatorni beradi. Keyin men uni Arduino IDE -ga nusxa ko'chirdim va joylashtirdim.

Tahrirlash / Topish -dan foydalanish:

  • barcha "0xFF" ni qidiring va "0" bilan almashtiring (Hammasini almashtirish)
  • "0x00" uchun ham xuddi shunday qiling va uni "1" bilan almashtiring.
  • Hamma "{" va "}" ni o'chirish

"0" qora pikselga aylanadi

"1" oq piksel bo'ladi

4 -qadam: 3D model

3D model
3D model

3D model qutisini yaratish uchun men SketchUp -dan foydalandim. 3D -printerim cheklanganligi va ichki aloqalarni o'rnatishni tasavvur qilgan qiyinchiliklar tufayli men modelni 4 qismdan iborat qilib yaratishga qaror qildim.

Agar siz dizayndagi biror narsani o'zgartirmoqchi bo'lsangiz, SketchUp faylini yukladim, agar bo'lmasa,.stl fayllarini chop eting.

5 -qadam: yig'ish

O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish
O'rnatish

O'rnatish murakkab emas, lekin qutining kattaligi va ulanadigan simlar soni tufayli qiyin.

Tavsiya: