Mundarija:

Ovoz va musiqani sezuvchi kvarts kristalli broshli o'yin maydonchasi: 8 qadam (rasmlar bilan)
Ovoz va musiqani sezuvchi kvarts kristalli broshli o'yin maydonchasi: 8 qadam (rasmlar bilan)

Video: Ovoz va musiqani sezuvchi kvarts kristalli broshli o'yin maydonchasi: 8 qadam (rasmlar bilan)

Video: Ovoz va musiqani sezuvchi kvarts kristalli broshli o'yin maydonchasi: 8 qadam (rasmlar bilan)
Video: Abdulloh domla | 4 Xil Uyqu (Анимация) 2024, Noyabr
Anonim
Image
Image
O'yin maydonchasi ekspressli tovush va musiqani sezuvchi kvarts kristalli brosh
O'yin maydonchasi ekspressli tovush va musiqani sezuvchi kvarts kristalli brosh

Bu tovushli reaktiv brosh, tez o'yin maydonchasi, tezkor kvarts kristallari, sim, karton, topilgan plastmassa, pin, igna va ip, issiq elim, mato va turli xil asboblar yordamida amalga oshiriladi. Bu dizaynning prototipi yoki birinchi qoralama.

Sim bilan ishlash borasida ma'lum darajada bilimga ega bo'lish foydali, lekin kerak emas! Kirish dasturlash bilimlari ham yordam berishi mumkin, lekin o'yin maydonchasi ekspress va unga tegishli dasturlar yordamida o'rganish oson. Qurilish usuli va tafsilotlarga e'tiboringizga qarab, bu loyiha bir necha soatdan bir necha kungacha davom etishi mumkin.

Ta'minotlar

Batareya to'plami va USB kabeliga ulangan O'yin maydoni O'chirish Express

Kvarts kristallari

- Zargarlik simlari (har qanday rang yaxshi, siz uchun oson ishlaydigan o'lchagichga yopishib oling! Men 20 o'lchagichdan foydalandim)

Karton

- Shaffof plastmassa topildi (men qahva idishining qopqog'ini ishlatardim)

Xavfsizlik pimi

- Mato (Sizning tanlovingiz - men eski qora futbolkadan foydalanardim)

Issiq yopishtiruvchi qurol va yopishtiruvchi tayoqlar

Qaychi

Qalam

Sharpie

Igna pense va sim kesgichlar

- Majburiy emas: igna va ip

- Ixtiyoriy: ikki tomonlama velkro tasmasi

1 -qadam: o'lchamini o'lchang

Hajmini o'lchang
Hajmini o'lchang
Hajmini o'lchash
Hajmini o'lchash

Qog'oz yoki kartonda "Playground Circuit Express" o'yinini kuzatib boring. Uni kesib tashlang. Sizda tuzilmani yaratishda foydalanish uchun shablon mavjud. Circuit Express -ni xavfsiz joyga qo'ying!

2 -qadam: Brosh yarating

Brosh yarating
Brosh yarating
Brosh yarating
Brosh yarating
Brosh yarating
Brosh yarating

Uzoq uzunlikdagi simni kesib oling va o'lchamini ko'rsatma sifatida qog'oz shablonidan foydalanib halqa qilib ishlay boshlang. Siz shablondan biroz kattaroq bo'lishini xohlaysiz. Keyin simni bir tomondan gumbaz shaklida qurishni boshlang. Kristallar qayerga mos kelishini yodda tuting, lekin ular faqat yuqoriga qaraganligiga ishonch hosil qiling (o'yin maydonchasi tezligi ostiga hali ham joylashishi uchun ruxsat bering)!

Kristalli nuqtalaringizni o'rash va ulash uchun sim yordamida joylashtiring. Biroz joyni issiq elim bilan mahkamlang. Kvarts strukturani qoplaguncha va kompozitsiyadan qoniqmaguningizcha davom eting.

3 -qadam: Zaxira nusxasini yarating

Zaxira nusxasini yarating
Zaxira nusxasini yarating
Zaxira nusxasini yarating
Zaxira nusxasini yarating

Shaffof plastmassadan foydalanib, shablonni shtamp yordamida aniqlang. Buni qaychi bilan kesib oling va broshingizning orqa qismiga issiq elim yordamida mahkamlang.

4 -qadam: O'chirish moslamasini yarating

O'chirish ushlagichini yarating
O'chirish ushlagichini yarating
O'chirish ushlagichini yarating
O'chirish ushlagichini yarating
O'chirish ushlagichini yarating
O'chirish ushlagichini yarating

Yana shablonni oling! Uning atrofida karton bo'lagini kuzatib turing, lekin shablonni har tomondan 1/4 dyuym atrofida qoldiring. Buni kesib oling va kartonga yana bir necha marta chizib qo'ying (kamida beshtasi).

Karton doiralarning uchtasini bir -biriga yopishtiring.

Qo'shimcha doiralarni oling va ularni yarmiga bo'ling. "Dudak" ni qaychi bilan kesib oling (rasmlarda ko'rsatilgandek) va karton qolipning bir tomoniga 2-3 tadan yopishtiring. Siz o'zingizning sxemangizni samarali "ushlab turadigan" qalin, karton doiraga ega bo'lishingiz kerak.

5 -qadam: biriktiring

Qo'shish!
Qo'shish!
Qo'shish!
Qo'shish!

Siz tanlagan matodan va siz tanlagan usuldan (issiq elim, igna va ip) foydalanib, karton konstruktsiyangizni "yumshoq qilib" qo'ying. Matoni "lab" ga bosganingizga ishonch hosil qiling.

Matoni mahkamlagandan so'ng, kristalli tuzilishini ko'tarilgan labiga yopishtirish uchun issiq elimdan (va/yoki yana igna va ipdan) foydalaning. U ishonchli o'tirishi kerak, o'yin maydonchasi zanjiri keyinchalik joylashishi uchun bo'sh joy hali ham ochiq bo'lishi kerak. Keyin, broshning orqa qismiga xavfsizlik pinini (yoki pin biriktirgichini) yopishtiring.

6 -qadam: Fitni sinab ko'ring

Fitni sinab ko'ring!
Fitni sinab ko'ring!
Fitni sinab ko'ring!
Fitni sinab ko'ring!

Sizning broshingiz hozir yig'ilishi kerak. O'zingizning broshyurangizdagi o'yin maydonchangizning mosligini tekshiring. U mahkam o'rnashib, ushlab turishi kerak. Agar u biroz bo'shashsa va sirg'alib ketmoqchi bo'lsa, PCE ning orqa qismiga Velcro lentasining kichik qismini, ikkinchisini esa broshingizning ochilishining ichki qismiga joylashtirishni o'ylab ko'ring.

7 -qadam: kod

Kod
Kod
Kod
Kod

- Boring:

- Tizim uchun to'g'ri o'rnatishni o'rnating

- "Mu" ilovasini qidiring va ishga tushiring

- O'yin maydonchangizning elektron tezligini ulang

Ilova sizning kirishingizni sezishi va kodni avtomatik ravishda shaxsiy kompyuteringizga o'tkazishi kerak.

- Kodni qarzga oling! Men qarz olgan va biroz tahrir qilgan kod Adafruit va MITdan

Siz ranglar va boshqalar bilan o'ynashingiz mumkin! Yoki - o'z kodingizni qiling: MakeCode -ga o'ting

Agar siz to'g'ridan -to'g'ri nusxa ko'chirishni xohlasangiz, men ishlatgan kod:

import arrayimport matematika import audiobusio import taxtasi import neopixel # Eksponensial miqyosi koeffitsienti. # Aqlli bo'lish uchun, ehtimol, -10.. 10 oralig'ida bo'lishi kerak. CURVE = 2 SCALE_EXPONENT = math.pow (10, CURVE * -0.1) PEAK_COLOR = (100, 0, 255) NUM_PIXELS = 10 # Bir vaqtning o'zida o'qiladigan namunalar soni. NUM_SAMPLES = 160 # Qavat va ship orasidagi qiymatni cheklang. def constrain (qiymat, qavat, ship): qaytish max (qavat, min (qiymat, ship)) # Chiqish_min va chiqish_maxi o'rtasidagi kirish qiymatini eksponent sifatida. def log_scale (input_value, input_min, input_max, output_min, output_max): normalized_input_value = (input_value - input_min) / (input_max - input_min) return output_min + / math.pow (normalized_input_value, SCALE_EXPONENT) * (output_max) # RMSni hisoblashdan oldin noto'g'ri. def normalized_rms (qadriyatlar): minbuf = int (o'rtacha (qiymatlar)) sample_sum = sum (float (namuna - minbuf) * (namuna - minbuf) namunadagi qiymatlar) math.sqrt (sample_sum / len (qadriyatlar)) def o'rtacha (qadriyatlar): sum (qiymatlar) / len (qiymatlar) def volume_color (tovush): qaytish 200, tovush * (255 // NUM_PIXELS), 0 # Asosiy dastur # NeoPixel -ni o'rnating va hammasini o'chiring. piksel = neopixel. NeoPixel (taxta. NEOPIXEL, NUM_PIXELS, yorqinlik = 0,1, auto_write = Noto'g'ri) piksel.fill (0) piksel.show ()

"" " # CircuitPython 2.x uchun: mic = audiobusio. PDMIn (board. MICROPHONE_CLOCK, board. MICROPHONE_DATA, chastota = 16000, bit_depth = 16) # Circuitpython 3.0 va undan yuqori" chastota "endi" sample_rate "deb nomlanadi. # Yuqoridagi satrlarga izoh bering va pastdagi qatorlarga izoh qoldiring. "" "Mic = audiobusio. PDMIn (board. MICROPHONE_CLOCK, board. MICROPHONE_DATA, sample_rate = 16000, bit_depth = 16) # Kalibrlash uchun dastlabki namunani yozib oling. Biz boshlaganimizda jim bo'lsin deb o'ylang. namunalar = array.array ('H', [0] * NUM_SAMPLES) mic.record (namunalar, len (namunalar)) # Kutish uchun eng past darajani belgilang va ortiqcha. input_floor = normallashtirilgan_rms (namunalar) + 10 # YOKI: sobit qavat ishlatilgan # input_floor = 50 # Boshqa qiymatlarni moslashtirish uchun input_floor -ni chop etishingiz mumkin. # print (input_floor) # Sezuvchanlikka mos keladi: past - past piksellar ko'proq ovoz bilan yonadi degan ma'noni anglatadi # Buni xohlaganingizcha sozlang. input_ceiling = input_floor + 500 pik = 0, To'g'ri: mic.record (namunalar, len (namunalar)) magnitudasi = normalizatsiya qilingan_rms (namunalar) # Siz qiymatlarni ko'rish uchun uni chop etishingiz mumkin. # bosma (kattalik) # 0 dan NUM_PIXELS gacha bo'lgan log_algali o'lchovli logarifmik o'qishni hisoblang (cheklash (kattalik, kirish_floor, kirish_ceiling), kirish_qavat, kirish_qoplama, 0, NUM_PIXELS) # O'lchovli va interpolatsiyalangan kattalikdan past piksellarni yoqing. pixel.fill (0) i uchun diapazonda (NUM_PIXELS): agar i = tepalik: tepalik = min (c, NUM_PIXELS - 1) elif tepasi> 0: tepalik = tepalik - 1 bo'lsa tepalik> 0: piksel [int (tepalik)] = PEAK_COLOR piksel.show ()

8 -qadam: tugating va kiying

Image
Image

Siz shunchaki ovozli reaktiv kristalingizga qoyil qolishingiz mumkin, lekin men tavsiya qilaman:

- USB kabelini noutbukdan uzing (kod uzatilganligiga ishonch hosil qiling)- O'yin maydonchangizning elektron zaryadini batareya paketiga ulang- PCEni broshingizga joylashtiring- Yoki batareykani oldingi ko'ylak cho'ntagiga soling (men qilganimdek) yoki uni ko'ylagingizga mahkamlang - Brochni mahkamlang, musiqani yoqing (va batareya to'plamini) va zavqlaning!

Tavsiya: