Mundarija:

Arduino Piezo Buzzer pianino: 5 qadam
Arduino Piezo Buzzer pianino: 5 qadam

Video: Arduino Piezo Buzzer pianino: 5 qadam

Video: Arduino Piezo Buzzer pianino: 5 qadam
Video: Piano using arduino and buzzer #shorts 2024, Noyabr
Anonim
Arduino Piezo buzzer pianino
Arduino Piezo buzzer pianino
Arduino Piezo buzzer pianino
Arduino Piezo buzzer pianino

Bu erda biz karnay sifatida piezo -signaldan foydalanadigan Arduino pianino yasaymiz. Bu loyiha osongina kengaytirilishi mumkin va sizga bog'liq holda ko'p yoki kamroq eslatmalar bilan ishlashi mumkin! Biz uni soddalashtirish uchun faqat to'rtta tugma/kalit bilan quramiz. Bu qiziqarli va oson loyiha, ozgina mahorat talab qiladi, lekin uni ancha murakkab yoki kattaroq qilib yasash mumkin.

Ta'minot:

  • 1x Arduino Uno (boshqa Arduino taxtalari yaxshi bo'lishi kerak, lekin sinovdan o'tkazilmagan)
  • 1x Yarim o'lchamli yoki kattaroq non taxtasi
  • 1x faol piezo signal
  • 4x lahzali tugma
  • 11 ta non taxtali o'tish kabeli (manfiy uchun 6 ta qora, tugma va signal uchun 5 ta rang)

1 -qadam: simlarni ulash

Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish

Boshlash uchun, biz birinchi rasmda ko'rsatilgandek, non tugmachasining narigi tomoniga 4 ta tugmachani va piezo -signalni bir -biriga yaqin joylashtiramiz. Keyinchalik, biz salbiy simlarni ulaymiz. Birinchidan, biz non taxtasidagi manfiy relsni Arduino -dagi "GND" deb nomlangan manfiy pin bilan bog'laymiz. Keyin, biz har bir tugmachaning bir oyog'ini manfiy relsga ulaymiz. Piezo buzzerning bir oyog'i qisqaroq, bu salbiy. Biz uni manfiy temir yo'l bilan ham bog'laymiz.

Endi qolgan simlarni ulash vaqti keldi. Biz tugmachalarning boshqa oyoqlarini rasmda ko'rsatilgandek 2-5 pimlarga ulaymiz. Nihoyat, biz piezo -buzzerning (uzunroq) musbat oyog'ini 10 -pin bilan bog'laymiz. PIN kodini keyinchalik kodda osongina o'zgartirish mumkin. Aniq simlar uchun rasmlarni ko'rib chiqing.

2 -qadam: dasturlash

Dasturlash
Dasturlash

Kod juda sodda va tushunarli. Yuqorida biz o'zgaruvchilarga pin raqamlarini belgilaymiz. Keyin har birini kirish yoki chiqish deb e'lon qilamiz. Nihoyat, ma'lum bir tugma bosilganda nima qilish kerakligini aytamiz. But1-but4 deb belgilangan tugmachalarning har biri bosilganda o'ynaladigan chastotaga to'g'ri keladi. But1 - 100 gigagertsli chastotaning eng past chastotasi, lekin 4 - 400 gigagertsli chastotaga ega. Biz Gertzda ohanglarni ijro etish uchun tone () funktsiyasidan foydalanamiz. U shunday tuzilgan:

ohang (buzzerPin, [chastotasi hertsda], [davomiyligi]);

Agar siz boshqa tugmalarni qo'shmoqchi bo'lsangiz, u holda siz yangi o'zgaruvchini va bosilganda yangi "if" iborasini yaratishingiz kerak bo'ladi. Ko'paytirish juda oson.

Shuni yodda tutingki, Arduino bir vaqtning o'zida faqat bitta ohangda o'ynashi mumkin. Agar siz bir vaqtning o'zida bir nechta tugmachalarni bossangiz, ovoz to'g'ri bo'lmaydi, chunki Arduino turli chastotalar o'rtasida tez almashadi.

3 -qadam: Osiloskopda ohanglarni ko'rish

Osiloskopda ohanglarni ko'rish
Osiloskopda ohanglarni ko'rish
Osiloskopda ohanglarni ko'rish
Osiloskopda ohanglarni ko'rish
Osiloskopda ohanglarni ko'rish
Osiloskopda ohanglarni ko'rish
Osiloskopda ohanglarni ko'rish
Osiloskopda ohanglarni ko'rish

Osiloskopni manfiy rels va signal signaliga ulaganda, biz bir necha xil kvadrat to'lqinlarni olamiz. Chastotalar qanchalik baland bo'lsa, bir -biriga yaqinlashadi. Birinchi rasmda bizning dasturimizdagi eng yuqori chastota (400hz), oxirgi rasmda esa eng past chastota (100hz) ko'rsatilgan. Kvadrat to'lqinlar chastota pasayganda tobora uzoqlashadi. Effektni ko'rish uchun rasmlarni ko'rib chiqing.

Chapdan o'ngga:

400, 300, 200 va 100 gigagertsli

4 -qadam: Actuall pianino kalitlari?

Aktuall pianino kalitlari?
Aktuall pianino kalitlari?

Agar sizda 3D -printer mavjud bo'lsa, siz Arduino piezo signalli klaviaturasi uchun ba'zi kalitlarni yasashingiz mumkin. Bular kichik tugmachalarni yaxshi his qilish imkonini beradi. Siz ularni prusaprinters.org saytida topishingiz mumkin.

5 -qadam: Xulosa

Xulosa
Xulosa

Umid qilamanki, sizga Arduino piezo signalli klaviatura yaratish yoqdi va men sizni kodni o'zgartirishga taklif qilaman. Agar sizga bu loyiha yoqqan bo'lsa, o'z izohingizni pastda qoldiring yoki izoh qoldiring. Rahmat!: D

Tavsiya: