Mundarija:
- 1 -qadam: materiallar
- 2 -qadam: elektron komponentlarni yig'ish
- 3 -qadam: Modelning dizayni
- 4 -qadam: modelni yaratish
- 5 -qadam: kodlash
- 6 -qadam: tugatish
Video: Ovozli pulsatsiyalanuvchi kalit: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Siz to'shakda yotganingizda muammoga duch keldingiz, lekin to'satdan chiroqlar hali ham yonib turganini tushunib eting. Biroq, siz shunchalik charchadingizki, siz karavotda chiroqni o'chirishni xohlamaysiz, yoki Philip Hue atrof -muhit chiroqini sotib olish uchun sakson dollar sarflamaysiz, bu sizga telefon yordamida chiroqni o'chirishga imkon beradi. Agar siz an'anaviy chiroqni kalit bilan ishlatayotgan bo'lsangiz, nega bu dangasalikni hal qilish uchun Arduino -ning yangi romanini ko'rib chiqmaysiz?
Men bu loyiha g'oyasini taxminan bir yil oldin, yangi uyimga ko'chib kelganimda, yoritgichim to'shagimga yaqin emasligini bilib, har kecha to'shagimni charchatib yotqizganimda, to'shagimni tashlab ketishga majbur qilgandim., faqat Chiroqni O'chirish uchun (har kecha meni asabiylashtiradi)! Ammo, bu loyihani amalga oshirganimdan so'ng, menga katta foyda keltirdi va men bu g'oyani hamma INSTRUCTABLE foydalanuvchilariga aytib berishga umid qilaman, ular hozir ham yorug'lik o'chirgichi muammosidan aziyat chekmoqda.
Ovozli pulsing kalitining asosiy g'oyasi-KY-037 tovush detektori sensorini bir qator harakatlar qilish uchun ishga tushirish, shu jumladan uni o'chirish uchun haqiqiy yorug'lik tugmachasini bosish uchun servo dvigatelni yoqish. Shunday qilib, KY-037 tovush detektori sensori qanday ishlaydi: asosan, u har 20 millisekundda, atrofdagi tovushning intensivligini aniqlaydi (buni kodlash bo'limida, 5-qadamda o'rnatish mumkin) va qachon "Osiloskop izi" da g'ayrioddiy baland ovozli to'lqinni aniqlasa, u hisobni ishga tushiradi, ikkita ko'rsatkichga yetganda esa servo dvigatelni ishga tushiradi va chiroqlarni o'chiradi.
1 -qadam: materiallar
Ovozli pulsatsiyalanuvchi kalitni yaratish uchun bizga ba'zi materiallar kerak bo'ladi, masalan:
Elektronika:
- Arduino Nano kartasi
- Non paneli
- Jumper simlari (Ayol - Ayol, Ayol - Erkak, Erkak - Erkak)
- KY-037 tovushni aniqlash sensori moduli
- Alyuminiy elektrolitik kondansatkichlar 220uF 25V
- Servo dvigatel
- Batareya banki
- Tashqi quvvat manbai *(USB ikki boshli Du-Pont simli)
- 9V batareya
- 9V batareya ulagichi
Moddiy jihozlarni bezatish:
Karton (yoki yog'och, agar lazer bilan kesilsa)
Boshqalar
- Tez quriydigan yopishqoq elim
- Foydali pichoq
- Mato kesish
- Kompasni kesuvchi
- Qalam va silgi
- Yopishqoq loy
- Ikki tomonlama lenta
- Lenta
- Lehimlash uskunalari
2 -qadam: elektron komponentlarni yig'ish
Modelni qurishdan oldin, biz elektron komponentalarni yig'ishimiz kerak, bu juda oddiy va bir necha bosqichda bajarilishi mumkin:
- 9V batareya ulagichi Arduino Nano kartasini lehimlang. Lehimlash texnikasini bilmaydigan odamlar uchun bu biroz qiyin bo'lishi mumkin, lekin bu loyihani muvaffaqiyatli amalga oshirish uchun zarur, chunki agar taxta etarli quvvat bilan ta'minlanmasa, u to'g'ri ishlamasligi mumkin. Lehimlash uchun qizil simni VIN piniga ulang; va qora sim GND piniga, ikkalasi ham taxtaning o'ng tomonida.
-
O'tish simlarini Arduino Nano kartasiga ulang. Ushbu loyihada biz faqat A0, D2, GND va 5V pinlariga o'z hissamizni qo'shamiz.
- Pimlarni ulash uchun non paneli yordamida biz G pinini KY-037 tovushni aniqlash sensori modulidan non paneliga ulashimiz kerak; bir xil ustunda (ehtiyot bo'ling, agar bitta ustunda bo'lmasa, sizning oxirgi loyihangiz ishlamaydi), servo dvigateldan qora simni va tashqi quvvat manbaidan qora simni ulang (siz buni GND pin, lekin 5V pin emas, chunki tashqi quvvat manbai sizning Arduino yoqilmaganda umumiy nuqtai nazarga ega bo'lishi kerak), keyin boshqa bir Erkak -Ayol jumper simini mos ravishda o'sha ustunga va Nano -ga ulang.
- Keyin, KY-037 tovushni aniqlash sensori modulidagi "+" pinini o'sha ustundagi teshiklardan biriga ulang, so'ngra non panelidagi bir xil ustunga, ikkinchi tomonini esa nano-ga ulaydigan Erkak-Ayol jumper simini oling. taxta.
- Shundan so'ng, servo dvigateldagi qizil simni ishlatilganiga qaramay, boshqa ustunga ulang va batareyani quvvatlantirish uchun qizil simni tashqi quvvat manbaidan o'sha ustunga joylashtiring. Haqiqatan ham, servo motorni quvvatlantirishi uchun USB-sub boshini quvvat bankiga ulang.
- Shuningdek, GND va 5V pinli ikkita ustun ustunidan o'tib, KY-037 tovush detektori sensori uchun nisbatan barqaror muhit yaratish uchun sig'imning ikki oyog'ini ikkala ustunga joylashtiring.
- Nihoyat, servo dvigateldagi oq simni Nano d2 piniga ulang. K0-037 tovushni aniqlash sensori modulidan A0 dan A0 ga mos ravishda Arduino Nano kartasiga ulang.
Va siz hamma narsani elektronika bilan tugatdingiz!
3 -qadam: Modelning dizayni
Ushbu loyiha uchun modelni qurish juda oson, chunki biz faqat olti qirrali qutini yaratishimiz kerak. Biroq, dizayn men ko'rsatgan AutoCAD fayli kabi aniq bo'lishi kerak edi.
Agar siz haqiqatan ham ushbu loyihani yaxshi va aniq qilishni xohlasangiz, ushbu loyihaning dizayn g'oyasini bilish uchun o'qishni davom ettiring.
Ovozli pulsatsiyalanuvchi kalitda olti qirrali quti bor, uning yon tomonidagi teshiklar har biri elektron komponentlarni joylashtirish uchun joy bo'lib, ular qurilmaning ishlashini ta'minlaydi.
- Yuqori qismida servo dvigatelni joylashtirish uchun 3 * kengligi 2 uzunlikdagi teshik bor, unga ishlash va tugmani bosish uchun joy ajratiladi;
- Qarama -qarshi pastki qism sifatida, biz shuni ta'kidlaymizki, bu faqat to'rtburchaklar asos bo'lib, unda hamma narsani ushlab turish va tasdiqlash uchun teshiklari yo'q; keyin o'ng tomonda, quvvat bankini quvvatlantirish uchun quvvat bankiga ulanish uchun tashqi quvvat manbai simining chiqishi uchun teshik kerak;
- Keyinchalik, chap tomonda, u o'ng chap tomonga o'xshaydi, lekin teshiksiz;
- Nihoyat, old tomondan, biz ko'proq teshiklarga muhtojmiz, bittasi 9V batareya ulagichi qutidan tashqarida bo'lishi kerak, shunda biz elektr quvvati tugaganda batareyani osongina o'zgartirishimiz mumkin, chunki chiqindilarni oldini olish uchun kalitni o'chirib qo'yishimiz kerak. batareya quvvati, ikkinchisi-KY-037 mikrofoni, qurilma atrofdagi tovush o'zgarishini aniqlay oladi;
- Bundan tashqari, pastki qismida teshik yo'q, hamma narsani ushlab turish va tasdiqlash uchun
4 -qadam: modelni yaratish
Biz o'z rejamizni puxta tuzganimizdan so'ng, endi modelni yaratish jarayoniga o'tishimiz kerak bo'ladi. Biroq, bu jarayon oldingi bosqichga qaraganda juda oson bo'ladi, xuddi shunday:
- AutoCAD faylida oltita tomonni karton bilan kesib oling yoki lazerli kesimdan foydalaning
- Yopishqoq yopishqoqni oling va bo'laklarning yon tomonlariga yopishtiring, shunda ham biz uning tarkibiy qismlarini tartibga solishimiz mumkin.
- 9V batareya ulagichini biz modelning old tomonida kesib o'tgan teshikka joylashtirdik
- KY-037 tovush detektori sensori modulini biz kesib o'tgan teshikka joylashtiring, lekin biroz kengroq qilib kesib olishni unutmang, men bergan diametr "men" komponentining taxminiy qiymati bo'lib, u har xil bo'lishi mumkin, shuningdek to'rtburchaklar qismi. yon tomonga tegib ketishi mumkin, bu uning etarlicha tiqilib qolmasligiga olib kelishi mumkin
- Stikerni non taxtasi oldidan yirtib tashlang va uni modelingizning old qismiga yopishtiring
-
Servo dvigatelni biz modelning yuqori qismida kesib o'tgan teshikka yaxshilab joylashtiring
- Bir oz yopishqoq loyni mustahkamlash uchun servo dvigatelning orqasiga qo'yishga harakat qiling
- Bundan tashqari, uni mustahkamlash uchun ikki tomonlama lentani qo'yishni unutmang
- Tashqi USB kabelini strukturaning o'ng tomonida biz kesib o'tgan teshikdan chiqarib oling va quvvat manbaiga ulang.
- Orqa tomoningizni modelga yopishtiring, lekin agar siz o'zingizning ishingizga ishonchingiz komil bo'lmasa va siz hali ham qurilmangizni tartibga solishingiz yoki ta'mirlashingiz kerak bo'lsa, uni yopish uchun skotch lentalarini ishlating.
5 -qadam: kodlash
Va bu loyihada hech qanday qiziqarli va muhim qism yo'q, agar siz kodlamasangiz, sizning qurilmangiz hech qachon ishlamaydi, sizning modelingiz qanchalik yaxshi tuzilgan bo'lsa ham, sxemani tuzish qanchalik aniq bo'lsa ham, bu hech narsa emas. Shunday qilib, men bu erda faqat ushbu loyiha uchun kod yozdim va kodning sharhlar bo'limida har bir satr nimani anglatishini tushuntirdim, lekin agar kimdir hali ham muammoga duch kelsa, men izoh qoldirishdan xursand bo'laman. darhol javob berish (ishonaman).
Ushbu kodda men servo dvigatelni to'qson daraja va yuz sakkiz gradusga burishga ruxsat berishni tanladim, biroq har kimning uyida har xil kalitlarga ega bo'lishi mumkin va menimcha, bu hamma uchun o'zgarishi mumkin emas.. Mening kodimni ko'rib turib, shuni yodda tutingki, bu qurilma ovoz usuli yordamida yorug'likni "avtomatik" o'chirishga mo'ljallangan bo'lib, uni chalkashtirib yubormang va agar siz adashib qolsangiz, bu erdagi videoga murojaat qiling. eng boshi. Siz kodni quyida yoki Arduino veb -sayt yaratish havolasi orqali ko'rishingiz mumkin.
Arduino havola yaratish
Bundan tashqari, agar etarli odamlar kodni tushuntirish haqida so'rashsa, men bu haqda o'ylashim mumkin …
Arduino-Ovoz-Pulsing-Switch
#include // servo dvigatel uchun kutubxonani o'z ichiga oladi |
int MIC = A0; // tovushni aniqlash komponenti A0 oyog'iga ulangan |
mantiqiy o'tish = noto'g'ri; // almashtirishning dastlabki versiyasini yozib olish |
int micVal; // aniqlangan tovushni yozib oling |
Servo servo; // Servo dvigatelining nomini servo qilib o'rnating |
imzosiz uzoq oqim = 0; // joriy vaqt tamg'asini yozib oling |
imzosiz uzoq davom = 0; // oxirgi marta muhr yozing |
imzosiz uzoq farq = 0; // ikkita vaqt tamg'asi orasidagi vaqt farqini yozib oling |
imzosiz int soni = 0; // o'tish sonini yozib oling |
void setup () {// bir marta ishga tushirish |
servo.attach (2); // D-pinli oyoq 2 ga ulanish uchun servoni ishga tushiring |
Serial.begin (9600); // serialni ishga tushirish |
servo.write (180); // servoni boshlang'ich burchagiga aylantiring |
} |
void loop () {// loop abadiy |
micVal = analogRead (MIC); // analog chiqishni o'qing |
Serial.println (micVal); // atrof -muhit tovushining qiymatini chop eting |
kechikish (20); // har yigirma soniyada |
if (micVal> 180) {// agar bu erda 180 ga o'rnatgan chegaradan oshsa |
joriy = millis (); // joriy vaqt tamg'asini yozib oling |
++ soni; // hisoblagichlarga bitta qo'shing |
//Serial.print("count= "); // o'tish vaqtini chiqaring, agar xohlasangiz, oching |
//Serial.println(sayt); // raqamni chop eting, agar xohlasangiz oching |
if (count> = 2) {// agar almashtirish soni ikkidan ko'p yoki teng bo'lsa, ikki vaqt tamg'asi 0,3 ~ 1,5 soniya davom etganligini aniqlang. |
diff = joriy - oxirgi; // ikki vaqt tamg'asi orasidagi vaqt farqini hisoblang |
if (diff> 300 && diff <1500) {// ikki vaqt tamg'asi 0,3 ~ 1,5 soniya davom etganligini aniqlang |
toggle =! o'tish; // almashtirishning joriy holatini qaytarish |
hisoblash = 0; // hisobni nolga aylantiring, yana sinovga tayyorlaning |
} else {// agar vaqt cheklangan sanalar orasida davom etmasa, hisobni biriga qaytaring |
hisoblash = 1; // hisobni hisoblamang |
} |
} |
oxirgi = joriy; // keyingi taqqoslash uchun oxirgi vaqt tamg'asini yangilash uchun joriy vaqt tamg'asidan foydalaning |
if (o'tish) {// o'tish yoqilganligini aniqlang |
servo.write (90); // nurni ochish uchun servo 90 gradusga buriladi |
kechikish (3000); // 5 soniya kechiktirish |
servo.write (180); // servo asl joyiga qaytadi |
kechikish (1000); // yana 5 soniya kechiktiring |
hisoblash = 0; // qayta sanash uchun sanoqni boshlang'ich raqamga o'rnating |
} |
boshqa { |
servo.write (180); // agar almashtirish ishlamasa, boshlang'ich 180 gradusda qolishdan ko'ra |
} |
} |
} |
GitHub tomonidan ❤ mezbonlik qilingan rawArduino-Sound-Pulsing-Switch-ni ko'rish
6 -qadam: tugatish
Endi siz loyihani tugatdingiz, endi siz ovozni o'chirish tugmasi bilan o'ynashingiz mumkin, bu sizning chirog'ingizni o'chiradi, bu sizning dangasalik hech qachon muammo bo'lmaydi! Esda tutingki, agar siz ushbu loyihani amalga oshirgan bo'lsangiz, loyihaning ajoyibligini ko'rsatish uchun uni menga va dunyoga onlayn tarzda ulashing!
Qiziquvchan bo'ling va o'rganishda davom eting! Omad!
Tavsiya:
555 taymer va potansiometr yordamida pulsatsiyalanuvchi LED: 4 qadam
555 taymer va potentsiometr yordamida pulsatsiyalanuvchi LED: Salom! Bu yo'riqnomada biz sizga potentsiometr, 555 taymer va boshqa asosiy elektron komponentlar yordamida sozlanishi vaqtli pastadirda ishlaydigan LED Dimmer sxemasini qanday qurishni ko'rsatamiz. Biz birinchi bo'lib ushbu loyihaning g'oyasini oldik
Ovozli boshqariladigan aqlli kalit ushlagichi: 3 qadam (rasmlar bilan)
Ovozli boshqariladigan aqlli kalit ushlagichi: Siz kalitlarni boshqarishni yaxshi bilmaydigan va har bir kalit uchun har bir kalitni sinab ko'rishingiz kerak bo'lgan odammisiz? juda o'z ovozli boshqariladigan aqlli kalit ushlagichi
Ovozli ovozli fayllarni (Wav) Arduino va DAC yordamida ijro etish: 9 qadam
Ovozli ovozli fayllarni (Wav) Arduino va DAC yordamida ijro etish: Audino SD -kartangizdan wav faylli ovozni ijro etish. Bu ko'rsatma sizga sdCard -dagi wav faylini dinamikdan oddiy zanjir orqali qanday ijro etish mumkinligini ko'rsatib beradi. Wav fayli 8 bitli mono bo'lishi kerak. Menda 44 kHz chastotali fayllarni ijro etish muammosi yo'q edi
Pulsatsiyalanuvchi uy detektori: 6 qadam (rasmlar bilan)
Pulsatsiyalanuvchi hubbi detektori: Ushbu loyiha transmitter diapazonga kirganda pulsatsiyalanuvchi LED yurakni ishga tushirish uchun RF qabul qilish modulidan foydalanadi. Men buni bu yil Sevishganlar kuni uchun kuyovim uchun qildim. Men hali diapazonni to'liq sinab ko'rishim kerak, chunki men transmitterni qabul qilmaganman
Ovozli baland ovozli karnay: 5 qadam
Clear Loud Cube Karnay: Men akkumulyator qutisini, 10 dollarlik katlanadigan dinamik modullaridan birini, epoksi va plastmassadan yasalgan sumkani sotib oldim. Men buni juda zo'r deb o'yladim, chunki sig'im kabi elektron elementlarning barchasini yashirish o'rniga