Mundarija:
- Ta'minotlar
- 1 -qadam: o'lchamini o'lchang
- 2 -qadam: Brosh yarating
- 3 -qadam: Zaxira nusxasini yarating
- 4 -qadam: O'chirish moslamasini yarating
- 5 -qadam: biriktiring
- 6 -qadam: Fitni sinab ko'ring
- 7 -qadam: kod
- 8 -qadam: tugating va kiying
Video: Ovoz va musiqani sezuvchi kvarts kristalli broshli o'yin maydonchasi: 8 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
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
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
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
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
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
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
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
- 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
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:
Ovoz sezuvchi lampochka: 5 qadam
Ovozni sezuvchi lampochka. Dizayn - bu biror narsani yaratishni rejalashtirish va o'ylash. Sizning tasavvuringizdan kelib chiqqan va uni haqiqatga aylantiradigan loyiha. Loyihalashda siz dizayn fikrlash nima ekanligini bilishingiz kerak. Dizayn fikrlash - bu hamma narsani oldindan rejalashtirish. Uchun
O'yin maydonchasi ekspresidan foydalangan holda harakatlanuvchi Cosplay qanotlari - 1 -qism: 7 qadam (rasmlar bilan)
O'yin maydonchasi ekspresidan foydalangan holda harakatlanuvchi faollashtirilgan kosplay qanotlari - 1 -qism: Bu ikki qismli loyihaning birinchi qismi, men sizga avtomatlashtirilgan peri qanotlarini ishlab chiqarish jarayonini ko'rsataman. Loyihaning birinchi qismi - bu qanotlarning mexanikasi, ikkinchi qismi esa uni kiyiladigan qilib qo'yish va qanotlarni qo'shish
HackerBox 0060: O'yin maydonchasi: 11 qadam
HackerBox 0060: O'yin maydonchasi: Butun dunyodagi HackerBox xakerlariga salom! HackerBox 0060 yordamida siz kuchli shimoliy yarimo'tkazgichli nRF52840 ARM Cortex M4 mikrokontroleriga ega bo'lgan Adafruit Circuit Bluefruit o'yin maydonchasi bilan tajriba o'tkazasiz. O'rnatilgan dasturlashni o'rganing
O'yin maydonchasi Express bilan xavfsizlik birinchi dubulg'asi: 10 qadam
O'yin maydonchasi ekspressli birinchi dubulg'ali xavfsizlik: Siz velosipedda yurganmisiz va qay tomonga burilayotganingizni bildirish uchun qo'lingizni ruldan tortib olishdan xavotirlanganmisiz? Endi bu qo'rquv o'tmishda bo'lishi mumkin! Ushbu qo'llanma sizga C-dan foydalanib, dubulg'ali qo'llarsiz dubulg'alash tizimini qanday yaratishni ko'rsatib beradi
O'yin bosimiga sezgir prokladkalar (raqamli o'yin maydonchalari uchun - va boshqalar): 11 qadam (rasmlar bilan)
O'yin bosimiga sezgir prokladkalar (raqamli o'yin maydonchalari uchun - va boshqalar): Bu sizga raqamli o'yinchoqlar yoki o'yinlar yaratish uchun ishlatilishi mumkin bo'lgan bosim sezgir yostiq yasashni ko'rsatadigan ko'rsatma. U katta kuchga sezgir rezistor sifatida ishlatilishi mumkin va o'ynoqi bo'lsa ham, undan jiddiy loyihalarda foydalanish mumkin edi