Mundarija:

Sharob qadahlarini ovoz bilan sindirish: 10 qadam (rasmlar bilan)
Sharob qadahlarini ovoz bilan sindirish: 10 qadam (rasmlar bilan)

Video: Sharob qadahlarini ovoz bilan sindirish: 10 qadam (rasmlar bilan)

Video: Sharob qadahlarini ovoz bilan sindirish: 10 qadam (rasmlar bilan)
Video: Inside a Local Georgia Wine Farm 🇬🇪 Blown Away! 2024, Noyabr
Anonim
Image
Image

Salom va xush kelibsiz!

Bu erda loyihaning to'liq demosi!

Karnay naychasining chetida taxminan 130 dB ni tashkil qiladi, shuning uchun eshitish himoyasi aniq talab qilinadi!

Loyihaning g'oyasi quyidagicha:

Men kichkina mikrofon yordamida sharob stakanining rezonans chastotasini yozishni xohlayman. Shunda men oynani sindirish uchun bir xil chastotani ancha baland ovozda qayta ishlab chiqarishni xohlayman. Men, shuningdek, mikrofon biroz o'chirilgan bo'lsa, chastotani aniq sozlashni xohlayman. Va nihoyat, men hammasi katta chiroqning o'lchamiga teng bo'lishini xohlayman.

Tugmalarni boshqarish va ishlatish:

- Yuqori chap terish - aylanadigan kodlovchi. U cheksiz aylana oladi va u qaysi tomonga burilayotganini tanlaydi. Bu chiqish chastotasini har ikki yo'nalishda ham sozlash imkonini beradi. Aylanadigan kodlovchi, shuningdek, "bosish" tugmachasini bosadigan tugmachaga ham ega. Menda bu chastotani dastlab "qo'lga kiritgan" narsaga qaytarish uchun menda bor. Asosan, bu sizning sozlashni o'chirib tashlaydi.

- O'ng yuqori burchakda ON/OFF tugmasi joylashgan. U butun kontaktlarning zanglashiga olib keladi yoki o'chiradi.

- Chap pastki qismida mikrofonni yozib olish tugmasi joylashgan. E'tibor bermaslik kerak bo'lgan ro'yxatga olish chastotalari va takrorlash uchun yozish chastotalari o'rtasida almashinadi. Shunday qilib, siz yashayotgan xonaning "Atrof muhit chastotalari" ni olib tashlashingiz mumkin.

- Pastki o'ngda karnay chiqish tugmasi joylashgan. Karnay bosilganda, u ilgari olingan chastotani chiqara boshlaydi.

Agar siz ham oynani sindirmoqchi bo'lsangiz, ushbu ko'rsatmaga amal qiling, ehtimol siz yo'lda toza narsalarni bilib olasiz. Shuni yodda tutish kerakki, bu loyiha ko'plab lehim va 3D bosib chiqarishni o'z ichiga oladi, shuning uchun biroz qiyin bo'lishi mumkin. Shu bilan birga, siz allaqachon narsalar yasashda juda ajoyibsiz (Siz Instrucables -da, shunday emasmi?).

Shunday qilib, o'zingizni tayyorlang va …

Robotlar yasaymiz!

1 -qadam: Materiallar, asboblar va uskunalar

Materiallar, asboblar va uskunalar
Materiallar, asboblar va uskunalar
Materiallar, asboblar va uskunalar
Materiallar, asboblar va uskunalar

Chunki bu loyihani men qilganimdek bajarish shart emas, men siz qancha qurmoqchi ekanligingizga qarab "kerakli" va "ixtiyoriy" materiallar ro'yxatini o'z ichiga olaman! Ixtiyoriy qismga karnay va elektronika uchun korpusni 3D bosib chiqarish kiradi.

Kerakli:

Materiallar:

  • Sharob ko'zoynaklari - hammasi yaxshi, men Goodwillga bordim va arzonini topdim, qanchalik yupqa bo'lsa, shuncha yaxshi
  • Tel (har xil ranglar foydali bo'ladi, men 12 o'lchagichdan foydalandim)
  • 6S 22.2v Lipo Batareyasi (Sizga haqiqatan ham yuqori mA / soat kerak emas, men 1300 ishlatganman):

    hobbyking.com/en_us/turnigy-1300mah-6s-35c…

  • Har qanday turdagi batareya ulagichi. Agar siz yuqoridagidan foydalansangiz, bu XT60:
  • Siqish haydovchisi dinamik - Sizga yuqori sezuvchanlik darajasi (~ 100 dB) kerak:

    www.amazon.com/dp/B075K3P2CL/ref=psdc_1098…

  • Arduino-ga mos keladigan mikrofon:

    www.amazon.com/Electret-Microphone-Amplifi…

  • Arduino (qotirmaslik uchun Uno yoki nano bilan ishlov berish uchun):

    www.amazon.com/ELEGOO-Arduino-ATmega328P-W…

  • Rotary kodlovchi:

    www.amazon.com/Encoder-15%C3%9716-5-Arduin…

  • O'chirish/o'chirishning bir turi ham foydalidir (men buni ishlatganman):

    www.amazon.com/Encoder-15%C3%9716-5-Arduin…

  • Tugmalar:

    www.adafruit.com/product/1009

  • Kamida 60 Vt kuchaytirgich:

    www.amazon.com/KKmoon-TPA3118-Digital-Ampl…

  • Arduino -ni yoqish uchun 5v BEC:

    www.amazon.com/Servo-Helicopter-Airplane-R…

Asboblar / uskunalar:

  • Eshitishni himoya qilish - hazillashmaydi, bu odam taxminan 130 dB ni tashkil qiladi, bu darhol zarar etkazishi mumkin.
  • Lehimlash temir
  • Lehim
  • Tel -striptizchilar
  • Qum qog'ozi
  • Issiq yopishtiruvchi qurol

TALAB ETILMAYDI:

Agar siz ham loyihangiz uchun to'liq 3D bosma korpus yasamoqchi bo'lsangiz, quyidagilar talab qilinadi

Materiallar:

  • Ok ulagichlari:
  • Issiqlik simlarining qisqarishi:
  • Ko'p ABS filamenti - men qancha ishlatganimni o'lchaganim yo'q, lekin ikkita ~ 24 soatlik bosma va bitta ~ 8 soatlik bosma bor
  • M3 vintlardek va murvatlarning assortimenti - Texnik jihatdan, agar siz teshiklarni burg'ilashni xohlasangiz, har qanday o'lchamdan foydalanishingiz mumkin. Lekin men dizaynni M3 vintlarini hisobga olgan holda qildim.

Asboblar / uskunalar:

  • 3D printer - Men Ultimaker 2 dan foydalanganman
  • Dremel, agar printer sizda qoldiq qoldirsa, foydalidir.

2 -qadam: Sinov davrini yarating

Sinov davrini yaratish
Sinov davrini yaratish
Sinov davrini yaratish
Sinov davrini yaratish
Sinov davrini yaratish
Sinov davrini yaratish

Keyinchalik, biz, ehtimol, o'tish simlari va non paneli yordamida sxemani qurmoqchimiz!

Agar siz to'g'ridan -to'g'ri Arduino Nano -ga lehimlashni xohlasangiz, texnik jihatdan bu qadam talab qilinmaydi, lekin men buni baribir qilishni tavsiya qilaman. Bu sizning barcha qismlaringizni sinab ko'rish va hamma narsani qayerda ketishini bilishingizga ishonch hosil qilishning yaxshi usuli.

Birinchi joylashtirilgan rasmda men kuchaytirgich platasini yoki quvvat tugmachasini ulamaganman, men faqat 9 va 10 -pinlarni o'zimdagi mini -sinovli karnayga ulaganman, lekin men sizni davom etishdan oldin HAMMASINI bir joyga to'plashni taklif qilaman.

Davraga:

Arduino -ni yoqish uchun uni USB kabeli yordamida kompyuterga ulang. Agar biror narsa aniq bo'lmasa, men quyida har bir qism haqida batafsil gaplashaman.

Elektr ta'minotidan boshlaylik:

Batareyaning ijobiy uchi kalitga o'tadi. Bu, agar kerak bo'lsa, kontaktlarning zanglashiga olib ketish yoki hech qanday aql bovar qilmaydigan ishni bajarish shart emas, o'z davrimizni yoqish va o'chirishga imkon beradi. Men ishlatgan haqiqiy kalit faqat ikkita terminalga ega edi va kalit ularni ulagan yoki ochiq qoldirgan.

Keyin ijobiy tugma kalitdan kuchaytirgich kartasiga o'tadi.

Batareyaning salbiy uchi kalitdan o'tishi shart emas. U to'g'ridan-to'g'ri kuchaytirgichning quvvat tugashiga o'tishi mumkin.

Keyinchalik, kuchaytirgich paneli:

Kuchaytirgich taxtasida to'rtta pin bor, ularning har birida ikkita teshik bor. Men bu taxtaning "Mute" funksiyasidan foydalanmayapman, shuning uchun bu haqda tashvishlanmang. Men yuqorida aytib o'tganmanki, Quvvat + va Quvvat batareyadan to'g'ridan -to'g'ri 22,2V olinishi kerak. Chiqish uchun siz buni to'g'ridan -to'g'ri siqish drayverining simlariga ulashingiz kerak. Qaysi qo'rg'oshinning qaysi pimga o'tishi muhim emas, lekin ba'zida ularni almashtirish ovoz sifatini yaxshilaydi. Nihoyat, Kirish + va Kirish - Arduino -dagi 10 va 9 -pinlarga o'ting, yana buyurtma muhim emas.

Mikrofon:

Mikrofon juda oddiy. Vcc arduino -dan 5v oladi, GND Arduino -da GND -ga, OUT esa Arduino -dagi A0 piniga o'tadi.

Tugmalar:

Agar siz ilgari Arduino -da tugmachalarni ishlatgan bo'lsangiz, rezistorsiz ulangan tugmachalarni ko'rsangiz biroz chalkashib ketishingiz mumkin. Buning sababi shundaki, men ularni Arduino ichidagi ichki tortishish rezistorlaridan foydalanishga sozlaganman. Bu, ularni tugmani bosmaguningizcha, har doim "YUQORI" deb o'qishga majbur qiladi, keyin ular "LOW" deb o'qiydi. Bu shunchaki simlarni osonlashtiradi va osonlashtiradi. Agar siz ko'proq ma'lumotga ega bo'lishni istasangiz, quyidagi ko'rsatmalarni ko'rib chiqing:

www.instructables.com/id/Arduino-Button-wi…

Mikrofondan o'qiladigan tugma 6 -pinga ulanadi va karnayga ovoz chiqarishni boshlashini aytadigan tugma 5 -pinda joylashgan. Boshqa tugmachalarning hammasi GND ga ulangan.

Rotary kodlovchi:

Men foydalanadigan aylanadigan kodlovchi, uning ichiga o'rnatilgan tugmani ham o'z ichiga olgan. Shunday qilib, siz terish tugmachasini bosishingiz mumkin va uni tugmani bosish sifatida o'qish mumkin.

Buning uchun simlar quyidagicha bo'ladi: GND - Arduino GND, + Arduino + 5v, SW 4 - pin, DT - 3 pin, CLK - 2 pin.

Agar siz aylanuvchi kodlovchi qanday ishlashi haqida ko'proq ma'lumotga ega bo'lishni istasangiz, bu havolaga qarang:

howtomechatronics.com/tutorials/arduino/ro…

Va bu davra uchun!

3 -qadam: Sinov kodi

Sinov kodi
Sinov kodi

Endi Arduino -ga kod yuklash vaqti keldi

Siz mening repo -ni GitHub -da yuklab olishingiz mumkin, unda sizga kerak bo'lgan barcha fayllar mavjud:

Yoki men bu oynaning oxirigacha faqat GlassGun.ino faylini yukladim

Keling, nima bo'layotgani haqida bir oz gaplashaylik, birinchi navbatda, men siz yuklamoqchi bo'lgan loyihada bir nechta kutubxonalardan foydalanayapman. Kutubxonalar - modulli kodni kimdir bilan bo'lishishning bir usuli bo'lib, ularga biror narsani o'z loyihasiga qo'shishning oson yo'li.

Men bularning barchasidan foydalanaman:

  • LinkedList -
  • ToneAC -
  • Rotary -

Ularning har birida Arduino katalogiga o'rnatish bo'yicha ko'rsatmalar mavjud. Agar sizga Arduino kutubxonalari haqida ko'proq ma'lumot kerak bo'lsa, ushbu havolani ko'ring:

www.arduino.cc/en/Guide/Libraries

Bu belgi foydalanuvchiga ketma -ketlikdagi bosma nashrlarni osongina o'chirish yoki o'chirish imkonini beradi:

// Nosozliklarni tuzatish bayrog'i

boolean printDebug = rost;

Bu chastotani olish va eng ko'p paydo bo'lganini qaytarish uchun ishlatiladigan o'zgaruvchilarni ishga tushiradi:

// Chastotani olishLinkedList freqData; LinkedList NOT_DATA; int rejimiHold; int modeCount = 1; int modeSubCount = 1; mantiqiy gotData = noto'g'ri; mantiqiy badData = rost;

Bu karnayga chiqish qiymatlarini o'rnatadi. freqModifier - bu aylanadigan kodlovchi sozlamalari asosida chiqishga qo'shadigan yoki olib tashlaydigan narsa. modeValue - bu mikrofondan yozuvni ushlab turadigan narsa. Yakuniy chiqish faqat modeValue + freqModifier.

// Chiqish chastotasi

int freqModifier = 0; int modeValue;

Kutubxona yordamida Rotary Enkoderni o'rnatadi:

// Aylanadigan kodlovchi yordamida sozlash

int val; #define encoderButtonPin 4 #dein encoderPinA 2 #deinine encoderPinB 3 Rotary r = Rotary (encoderPinA, encoderPinB);

Tugmalar biriktirilgan pinlarni belgilaydi:

// Mikrofon va karnayni ishga tushirish tugmalari

#dinamikni belgilash tugmasi 5 #aniqlovchi mikrofoni tugmasi 6

Bu qiymat yozilgan chastota juda yuqori yoki pastligini bildiradi:

// kesish indikatori o'zgaruvchilari

mantiqiy kesish = 0;

Chastotani yozishda ishlatiladi:

// ma'lumotlarni saqlash o'zgaruvchilari

bayt newData = 0; bayt prevData = 0;

Tebranishlarga asoslangan chastota sonini haqiqiy hisoblashda ishlatiladi:

// chastotali o'zgaruvchilar

unsigned int timer = 0; // to'lqin davrini hisoblaydi belgisiz int davri; int chastotasi;

Endi kodning haqiqiy tanasiga:

Bu erda biz "Mikrofon" va "Dinamik" tugmachalarini "O'chirish davri" bosqichida tasvirlanganidek, tugmani bosishda rezistordan foydalanmaslikka sozlaymiz (Qo'shimcha ma'lumot: https://www.instructables.com/id/Arduino-Button-wi…) I Bundan tashqari, resetMicInterupt-ni chaqiring, bu A0 pinini aniq vaqt oralig'ida tinglash uchun juda past darajadagi pinlarni o'rnatadi. Men bu ko'rsatmalarni ushbu qiymatlardan chastotani qanday olishimga ko'rsatma berish uchun ishlatganman:

www.instructables.com/id/Arduino-Frequency…

void setup () {pinMode (13, OUTPUT); // pinMode LED indikatori (microphoneButton, INPUT_PULLUP); // Mikrofon pin pinMode (SpeakerButton, INPUT_PULLUP); if (printDebug) {Serial.begin (9600); } resetMicInterupt (); } void resetMicInterupt () {cli (); // diable interrupts // analog pin 0 dan uzluksiz namuna olishni o'rnatish // ADCSRA va ADCSRB registrlarini tozalash ADCSRA = 0; ADCSRB = 0; ADMUX | = (1 << REFS0); // ADMUX mos yozuvlar kuchlanishini o'rnatish | = (1 << ADLAR); // ADC qiymatini chapga tekislang- shuning uchun biz ADCH registridan eng yuqori 8 bitni o'qishimiz mumkin ADCSRA | = (1 << ADPS2) | (1 << ADPS0); // ADC soatini 32 ta oldindan hisoblagich bilan o'rnatish- 16mHz/32 = 500kHz ADCSRA | = (1 << ADATE); // ADCSRA avtomatik tetikini yoqish | = (1 << ADIE); // o'lchash tugallanganda uzilishlarni yoqish ADCSRA | = (1 << ADEN); // ADC ADCSRA -ni yoqish | = (1 << ADSC); // ADC o'lchovlarini boshlash sei (); // uzilishlarni yoqish} ISR (ADC_vect) {// yangi ADC qiymati tayyor bo'lganda prevData = newData; // oldingi qiymatni saqlash newData = ADCH; // A0 dan qiymatni olish (prevData = 127)) {// agar o'rta nuqtani orttiradigan va o'tadigan vaqt = taymer; // vaqt taymerini olish = 0; // taymerni qayta o'rnatish} if (newData == 0 || newData == 1023) {// agar PORTB | = B00100000; /pin 13-ni o'rnating- kesish indikatori LEDni kesish = 1; // hozirda kesish} taymer ++; // taymerni 38,5 kHz tezligida}

O'ylaymanki, bu erda kodning aksariyati etarlicha sodda va juda o'qilishi kerak, lekin men chalkashroq joylarni ajratib ko'rsataman:

Bu qism asosan Rotari kutubxonasidan keladi. Agar siz soat yo'nalishi bo'yicha harakat qilsangiz, freqModifer -ni birma -bir oshiring, agar yuqoriga chiqmagan bo'lsangiz, demak siz pastga tushgan bo'lishingiz kerak, shuning uchun freqModifier -ni birma -bir pastga tushiring.

imzosiz char natijasi = r.process (); // Aylanadigan kodlovchi harakatlanganligini ko'ring

if (natija) {firstHold = rost; agar (natija == DIR_CW) freqModifier ++; // Agar biz soat yo'nalishi bo'yicha harakat qilsak, oshiring, aks holda boshqasini kamaytiring freqModifier--; agar (freqModifier 50) freqModifier = 50; if (printDebug) {Serial.print ("FreqMod:"); Serial.println (freqModifier); }}

Bu keyingi bo'limda men o'zimning algoritmimni qo'lga kiritgan chastota ma'lumotlarida ishlataman, vino stakanidan eng mos keladigan chastotani o'qishga harakat qilaman. Birinchidan, men mikrofon tugmachasini qisqa bosaman. Bu qisqa tugmani bosish mikrofondan "Yomon ma'lumotlar" ni yozib oladi. Bu biz e'tiborsiz qoldirishni istagan qadriyatlarga teng. Biz "yaxshi ma'lumotlar" ni olganimizda, biz ularni aylanib o'tamiz va barcha yomonlarini olib tashlaymiz.

void getMode () {boolean doAdd = true // Birinchi tugmani bosish "yomon qadriyatlar" yoki biz biladigan qiymatlarni olish uchun qisqa bo'lishi kerak // Bu "yomon ma'lumotlar" va "yaxshi ma'lumotlar" yozish o'rtasida almashadi, agar (badData) {if (printDebug) Serial.println ("Yomon ma'lumotlar:"); for (int j = 0; j <freqData.size (); j ++) {for (int i = 0; i <NOT_DATA.size (); i ++) {if (freqData.get (j) == NOT_DATA.get (i)) {doAdd = noto'g'ri; tanaffus; }} if (doAdd) {NOT_DATA.add (freqData.get (j)); } doAdd = rost; } agar (printDebug) {Serial.println ("-----"); uchun (int i = 0; i <NOT_DATA.size (); i ++) {Serial.println (NOT_DATA.get (i)); } Serial.println ("-------"); }}

Bu erda biz "Yaxshi ma'lumotlar" ni aylanib o'tamiz va "Oldindan yomon ma'lumotlar" ga mos keladigan ma'lumotlarni olib tashlaymiz.

Qachonki biz bitta elementni ro'yxatdan olib tashlasak, biz tashqariga chiqishimiz kerak (j--), chunki aks holda biz qiymatlarni o'tkazib yuboramiz.

boshqa {

if (printDebug) Serial.println ("Yomon ma'lumotlar:"); for (int j = 0; j <freqData.size (); j ++) {for (int i = 0; i <NOT_DATA.size (); i ++) {if (freqData.get (j) == NOT_DATA.get (i)) {if (printDebug) {Serial.print ("O'chirildi:"); Serial.println (freqData.get (j)); } freqData.remove (j); j--; tanaffus; }}} freqData.sort (minToMax); modeHold = freqData.get (0); modeValue = modeHold; uchun (int i = 0; i modeSubCount) {modeSubCount = modeCount; modeValue = modeHold; } modeCount = 1; modeHold = freqData.get (i); }} modeCount = 1; modeSubCount = 1; if (printDebug) {Serial.println ("--------"); Serial.println (modeValue); Serial.println ("---------"); } NOT_DATA.clear (); } if (badData) badData = false; else badData = rost; freqData.clear (); }

4 -qadam: Mikrofonni sozlash

Mikrofonni sozlang
Mikrofonni sozlang
Mikrofonni sozlang
Mikrofonni sozlang

Bu, ehtimol, men uchun eng qiyin qadamlardan biri edi, chunki men buni to'g'ri chiqish chastotasini ishlab chiqarish uchun kodni tahrir qilish bilan birga qildim.

Arduino manfiy kuchlanishlarni (tovush to'lqinlari kabi) o'qiy olmasligi sababli, mikrofonga o'rnatilgan sxema hamma narsani ijobiy kuchlanishga aylantiradi. Bir necha millivolt musbat va bir necha millivolt manfiy o'rniga, zanjir buni ijobiy 5v va 0v ga o'zgartirishga harakat qiladi. Biroq, bu sizning ovozingiz qanchalik balandligini bila olmaydi. Buni tuzatish uchun ular zanjirga kichkina potansiyometr (vint) qo'shadilar.

Bu sizga mikrofoningizni sharob ko'zoynaklarining ovoz darajasiga moslashtirishga imkon beradi.

Xo'sh, bunga qanday erishish mumkin?

Siz Arduino -ni USB kabeli orqali kompyuterga ulashingiz mumkin, Arduino muharririning o'ng yuqori burchagidagi belgini bosish orqali ketma -ket monitorni oching.

Baud tezligini 9600 ga o'rnating.

Keyin kodingizni Arduino -ga yuklaganingizda, barcha "printDebug" xabarlari yangi oynada paydo bo'lishini ko'rishingiz kerak.

Mikrofonni to'g'ri sozlash uchun men telefoningizga chastotalarda o'qiladigan dasturni o'rnatishni tavsiya qilaman (shunga o'xshash) va stakaningizning to'g'ri chastotasi nima ekanligini bilib oling. Ilovani ochib oynani torting, to'g'ri chastotani toping, so'ngra aniq natijalarga erishmaguningizcha mikrofonni sozlashni boshlang.

Shunday qilib, jarayon quyidagicha:

  1. Stakanni spektrometr yordamida oching va haqiqiy rezonans chastotasi nima ekanligini ko'ring
  2. "Yomon ma'lumotlar" ni yozib oling, kontaktlarning zanglashiga olib keladigan mikrofon tugmachasini tezda bosing
  3. Mikrofon tugmachasini ushlab turing, shunda stakanga yaqin mikrofon o'rnatilgan va oynani tornavida yoki boshqa biror narsa bilan siltang.
  4. Seriya monitoridagi chiqishga qarang va u haqiqiy chastota qiymatiga yaqinligini tekshiring
  5. Mikrofon ustidagi potentsiometr vintini biroz to'g'rilab, takrorlang

Siz shunchaki "mic_test" skriptini ishga tushirishingiz mumkin, u doimo mikrofonni ishga tushiradi va uni ekranga chiqaradi. Agar siz buni shunday qilsangiz, kod ishlayotgan vaqtda vint potensiometrini aylantirishingiz kerak bo'ladi, buning uchun eng yaxshi joy qaerda.

5 -qadam: Bir stakanni sindiring

Bir oz oynani sindiring!
Bir oz oynani sindiring!
Bir oz oynani sindiring!
Bir oz oynani sindiring!

Eski oynani sindirish vaqti keldi!

Birinchidan, ERKAKLARNI KO'RSATISHNI KIYISHINGIZGA AYOL BILING!

Stakan sinishi uchun hamma narsani joyiga qo'yish to'g'ri san'atdir.

  1. Sharob stakanining chetini silliqlash kerak
  2. Siz chastotani to'g'ri qabul qilishingiz kerak
  3. To'g'ri burchakka ega bo'lishingiz kerak
  4. sharob stakaningiz qimirlamasligi uchun qimmatbaho tebranish energiyasini yo'qotmasligiga ishonch hosil qilishingiz kerak

Shunday qilib, men buni qilishning eng yaxshi usuli:

Birinchidan, aytganimdek, sharob stakanining chetini qumlang. Agar buni qilmasangiz, stakanning boshlang'ich sinish nuqtasi yo'q va hech qachon yoriq chiqara olmaydi. Engil silliqlash kifoya, faqat bir nechta mikro-aşınmalar uchun etarli.

Chastotani yozganingizdan so'ng, oynaga somon yoki fermuar kabi narsalarni qo'yib, sizning chastotangiz to'g'ri ekanligiga ishonch hosil qiling. Bu sizga chastota qachon elementning eng ko'p tebranishiga va tebranishiga sabab bo'lishini ko'rish imkonini beradi.

Ikkinchidan, stakan bo'yniga egila boshlaguncha, karnayni oynaning eng keng qismiga yo'naltirishga harakat qiling. Bu erda somon yoki fermuar taqish tez -tez sakrashiga olib keladi, shuning uchun siz qaysi qism eng yaxshi ishlashini ko'rishingiz kerak.

Oxir -oqibat men stakanimni stolga yopishtirdim. Agar oynada butun stakanni silkitib, stol bo'ylab suzish imkoniyati bo'lsa, u tebranishni yo'qotadi, aks holda oynaning chetini silkitib qo'yish mumkin. Shunday qilib, mening tavsiyam - stakanni skotch bilan stolga erkin yopishtirish. Agar siz uni haddan tashqari lentaga solsangiz, u umuman tebranolmaydi!

Bir muncha vaqtni o'ynab vaqtni o'tkazing, shunda siz darajalarni to'g'ri topasiz va uni yozib qo'yganingizga ishonch hosil qiling, shunda siz barcha do'stlaringizni ko'rsata olasiz!

6 -qadam: (ixtiyoriy) lehim

(Majburiy emas) lehim
(Majburiy emas) lehim
(Majburiy emas) lehim
(Majburiy emas) lehim
(Majburiy emas) lehim
(Majburiy emas) lehim

Xo'sh, siz hamma narsani o'zingiz qilishga qaror qildingizmi? Xo'sh, sizga yaxshi! Menga buni qilish albatta yoqdi!

Xo'sh, birinchi navbatda hamma narsa. Zanjir asosan bir xil, faqat nozik farqlar bor.

  1. Siz to'g'ridan -to'g'ri karnayning uchlariga lehim qilasiz
  2. Siz Bullet ulagichlarini karnayga qo'shasiz
  3. Siz BECni Arduino Nano -ni yoqish uchun qo'shasiz

Qisqa eslatma, siz korpus ichida bo'lmaguncha asosiy quvvat kalitiga lehimlashni xohlamaysiz. Buning sababi shundaki, pastki qismdan joylashtirilishi mumkin bo'lgan boshqa qismlardan farqli o'laroq, kalit yuqoridan berilishi kerak. Agar siz kalitni holatidan oldin lehim qilsangiz, uni joylashtira olmaysiz.

Batareyamizning ijobiy uchi birinchi navbatda kalitga, BEC ga o'tadi. Bu Arduino -ni quvvat bilan ta'minlash uchun bizning kuchlanishni 22,2v dan 5vgacha pasaytiradi. Batareyaning ijobiy uchi kuchaytirgichimizning Power+ uchiga ham to'g'ri keladi. Bu to'g'ridan -to'g'ri Amp -ga 22,2 V kuchlanish beradi.

BEC past kuchlanishli uchi Arduino -da + 5v dan + Arduino -da GND ga o'tadi.

O'q konnektorlariga sim o'tkazmaydigan izolyatsiyani qo'llash tavsiya etiladi, shunda ular bir -biriga tegmaydi va kontaktlarning zanglashiga olib keladi.

Bundan tashqari, siz hech narsaga lehim qilmaysiz. Siz shunchaki havoga lehimsiz, men buni "Havo lehimlash" deb atayman, bu boshida o'zingizni ushlab turish qiyin, lekin siz birozdan keyin ko'nikasiz.

Lehimlashni tugatgandan so'ng, issiq elim olib, ochiq sim yoki uning qismlarini yopish yaxshidir. Issiq elim har qanday elektronikada qo'llanilishi mumkin bo'lgan ajoyib izolyatorni yaratadi. Bu bir oz kuch bilan ketadi, bu sizni chalkashtirib yuborsangiz, uni qayta shakllantiradi. Lekin, albatta, tugmachalarning oyoqlarini, pin boshlarini yoki boshqa ochiq joylarni yopishga harakat qiling, shunda hech narsa qisqarmaydi.

7 -qadam: (ixtiyoriy) bosma korpus

(Majburiy emas) bosma korpus
(Majburiy emas) bosma korpus
(Majburiy emas) bosma korpus
(Majburiy emas) bosma korpus
(Majburiy emas) bosma korpus
(Majburiy emas) bosma korpus
(Majburiy emas) bosma korpus
(Majburiy emas) bosma korpus

Ushbu loyihani chop etish uchun uchta fayl mavjud:

  1. Karnay va mikrofonni ushlab turadigan old qismi
  2. O'rta bitda barcha elektronika, tugmalar va batareyalar mavjud
  3. Batareya qopqog'i

Bu qismlar jami 48 soatlik Georgia Tech Ultimaker 2-da chop etilgan. Qo'llab -quvvatlagan holda chop etishingizga ishonch hosil qiling, chunki bu nashrda juda katta chiziqlar bor.

Barcha qismlar juda mahkam o'rnatilishi uchun yaratilgan, shuning uchun ularni to'g'ri silliqlash uchun zımpara yoki engil dremel kerak bo'ladi. Men ishlatadigan mashinalarda hech qanday muammo yo'q edi.

8 -qadam: (Ixtiyoriy) Bo'yoq - qo'shimcha sovuqlik uchun

(Ixtiyoriy) Bo'yoq - Qo'shimcha sovuqlik uchun
(Ixtiyoriy) Bo'yoq - Qo'shimcha sovuqlik uchun
(Ixtiyoriy) Bo'yoq - Qo'shimcha sovuqlik uchun
(Ixtiyoriy) Bo'yoq - Qo'shimcha sovuqlik uchun
(Ixtiyoriy) Bo'yoq - Qo'shimcha sovuqlik uchun
(Ixtiyoriy) Bo'yoq - Qo'shimcha sovuqlik uchun

Chop etish uchun bo'yoq qo'shish yaxshi bo'lardi, deb o'ylayman. O'zingiz xohlagan ranglarga ega bo'lishingiz mumkin. Menda akril bo'yoq bor edi va bu yaxshi ishlaganga o'xshardi. Men ishlatgan lenta bo'yoqni men kutgandek ushlab turmaganga o'xshaydi, shuning uchun qon oqadi, lekin menimcha hammasi yaxshi bo'lib chiqdi.

9 -qadam: (ixtiyoriy) yig'ing

(Majburiy emas) yig'ing
(Majburiy emas) yig'ing
(Majburiy emas) yig'ing
(Majburiy emas) yig'ing
(Majburiy emas) yig'ing
(Majburiy emas) yig'ing

Endi barcha qismlar chop etilgach, lehim qattiq va kod ishlayapti, hammasini bir joyga to'plash vaqti keldi.

Menimcha, Arduino -ni yon tomonga devorga qo'yish osonroq edi, keyin kuchaytirgich taxtasi pastda tekis o'tirishi mumkin edi.

Bosish tugmalari siqish moslamasi sifatida yaratilgan. Shunday qilib, ular o'z uyalariga majburlanib, o'sha erda qolishlari kerak. Ammo, agar sizning printeringizda bunday bardoshlik bo'lmasa, o'z uyalariga yopishtirish uchun bir bo'lak lenta yoki issiq elim oling.

Aylanadigan enkoderning o'z vintlari bor, shuning uchun siz uni yuqoridan yuqoridagi somun bilan mahkamlashingiz mumkin.

Quvvat tugmachasini yuqoridan burab qo'yish kerak. Uni kiritish uchun biroz kuch sarflash kerak bo'lishi mumkin, lekin u uyaga kirgandan keyin yaxshi joylashishi kerak.

Ular joyiga qo'yilgach, avval mikrofonni, keyin karnayni qo'yish kerak. Bundan tashqari, mikrofonni burishning hojati yo'qligini aniqladim, chunki teshikning siqilishi va uning ustidagi karnay uni yaxshi ushlab turardi.

Batareya laganda orqasiga mahkam o'rnashgan bo'lishi kerak, lekin uni u erga joylashtirishda hech qanday muammo yo'q edi.

Bundan tashqari, batareyaning qopqog'i teshigining har ikki tomoniga M3 vintini qo'yish, uni yong'oqsiz joyida ushlab turish uchun etarli ekanligini aniqladim. Men dastlab boshqa teshikdan o'tib ketadigan uzun vintni olishni rejalashtirgandim, lekin men uni Internetda topishni xohlamadim va yong'oqsiz vint yaxshi ishlayotganday tuyuldi.

10 -qadam: (Ixtiyoriy) Stakanni yana sindiring

Image
Image

Ayni damda atrofingizdagi sinib ketgan oynalarning ulug'vorligidan zavqlaning. Nafas oling, siz bunga erishdingiz. Atrofingiz uchib ketayotganda parchalarni hidlang.

Endi sizda to'liq ishlaydigan, qo'lda ishlaydigan, beg'ubor dizayndagi, shisha parchalanadigan audio to'p bor. Agar kimdir sizga sharob qadahi bilan kelsa, bu yomon bolani qamchilashdan o'zingizni tiying va bu narsani ko'z oldida sindirib tashlang. Rostini aytsam, siz, ehtimol, stakan parchalanishidan oldin, ularning quloqchalarini sindirib tashlagan bo'lardingiz, lekin nima bo'lishidan qat'iy nazar, ular qobiliyatsiz.

Ammo jiddiy tarzda, mening kichik loyihamni tuzishga vaqt ajratganingiz uchun tashakkur. Agar sizda biron bir fikringiz yoki yaxshilanishlaringiz bo'lsa, menga xabar bering! Men tinglashdan ko'ra ko'proq bo'ldim!

Va oxirgi marta …

Robotlar yasaymiz!

Audio tanlov 2018
Audio tanlov 2018

2018 yilgi ovoz tanlovida ikkinchi o'rinni egalladi

Tavsiya: