Mundarija:
- 1 -qadam: kerakli materiallar
- 2 -qadam: qurilish vaqti
- 3 -qadam: Ovoz sensori moduli va RGB LED
- 4 -qadam: kod
- 5 -qadam: Yakuniy fikrlar
Video: RGB LEDli klaviatura modulli pianino: 5 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Kirish
Salom xonimlar va janoblar, mening birinchi darsimni xush kelibsiz! Bugun men sizga qanday qilib pianino yaratishni o'rgataman, uning asosiy komponentlari klaviatura moduli va piezo buzzer bo'lib, u DO-RE-MI va boshqalarni o'ynashi mumkin.
Klaviatura modulining asosiy maqsadi qimmatbaho buyumlar uchun xavfsiz quti yaratish uchun arduino RFID bilan birlashtirilgan klaviatura bo'lishi. Bu holda men klaviaturani o'zgartirdim, biror narsani himoya qilish o'rniga oddiy quvonch va musiqani gapirishga qaror qildim.
Fikr tushunchasi
Bu ijod g'oyasi men yoshligimda musiqa darsida ksilofon chalish paytida oddiy xotiradan kelib chiqqan. Mening tanamda quvonch va hayajon eng yuqori cho'qqisiga chiqdi, demoqchimanki, har bir bola osonlikcha qoniqardi, men esa ksilofonda o'ynardim.
Tadqiqot
Sizning fikringiz yuqoridagi lampochka yonib ketgandan so'ng, siz ozgina tadqiqot qilishingiz kerak. Bir muncha vaqt veb -sahifalarni ko'rib chiqqach, men o'zim o'ylagan fikrga keldim! Klaviatura moduli pianinoga aylandi, kimdir bu erda xuddi shu loyiha videosini yaratdi. Oldindan o'ylab, men loyihani yanada takomillashtiradigan, lekin uni yanada jozibador qiladigan va uni o'zimniki deb ataydigan alohida komponentani qo'shishim kerak edi.
1 -qadam: kerakli materiallar
Materiallar ro'yxati
- Piezo Buzzer 1x ▶
- 4x4 klaviatura moduli 1x ▶
- Arduino Uno 1x ▶
- USB 2.0 kabel turi A/B 1x ▶
- Ovoz sensori moduli 1x ▶
- RGB LED 1x ▶
- 330 ohmli qarshilik 3x ▶
- Erkak va urg'ochi jumper simlari 8x ▶
- Erkak -erkak 4x o'tish simlari ▶
- 3 pinli erkak va ayol o'tish simlari 1x ▶
Materiallar ro'yxati yuqoridagi rasmlar bilan tartibda joylashtirilgan.
2 -qadam: qurilish vaqti
4x4 klaviatura moduli va Piezo buzzer
Nazariya
4x4 klaviatura moduli va piezo signallari juda ko'p shaxsiy pinli kirishni o'z ichiga olganligi sababli, men ishlatilgan komponentlarni ikki juftga ajratishga qaror qilaman. Klaviaturaga e'tibor, odatda kirish sifatida ishlatiladi. SunFounder 4*4 matritsali klaviatura moduli- bu 16 tugmachadan tashkil topgan, matritsali kodlanmagan klaviatura, har bir satr va ustunning tugmachalari tashqaridagi pinlar orqali ulanadi- Y1-Y4 pinlari, X1- satrlarni boshqarish yonida. X4, ustunlar.
Maqsad
Ushbu komponentlarning butun loyihadagi maqsadi - foydalanuvchiga herts chastotasi orqali piezo -buzzer tomonidan yaratilgan ma'lum bir tovushga o'rnatilgan tugmani bosish.
Matrix moduli pin - Arduino pin
- 4 - 2
- 3 - 3
- 2 - 4
- 1 - 5
- 5 - 6
- 6 - 7
- 7 - 8
- 8 - 13
Piezo Buzzer - Arduino Pin
Qora - GND
Qizil - kuch
Bu qurilishda mening eng qiyin vazifam - har bir sim qaerga ulanganligini aniqlash. Yuqorida men sizga simlarni joylashtirish yo'llarini tez va oson ko'rsataman, agar yuqoridan pastgacha kuzatilsa, maslahat vaqtingizni oladi va har bir pin to'g'ri uyaga to'g'ri o'rnatilganligiga ishonch hosil qiling.
*Maslahat - har bir simning uchidan oxirigacha joylashgan joyini kuzatish.
Tinkercad -ning barcha komponentli simlarining eskizlari to'g'ri rang bilan kodlangan, shuning uchun ularni diqqat bilan kuzatib boring
3 -qadam: Ovoz sensori moduli va RGB LED
Ovoz sensori moduli va RGB LED
Nazariya
Ovoz sensori moduli sizga ovoz belgilangan vaqtdan oshib ketganini aniqlash imkonini beradi. Ovoz mikrofon orqali aniqlanadi va LM393 op -ampiga uzatiladi. Ovoz darajasi belgilangan nuqtadan oshib ketganda, moduldagi LED yonadi va chiqish chiqadi.
Maqsad
Butun loyihaning maqsadi - bu ovoz sensori modulining ovozini/ovozini o'qish va shu orqali RGB LEDini o'qish tovushga to'g'ri rangni faollashtiradi.
Ovoz sensori moduli - Arduino pin (3 pinli o'tish simidan foydalaning)
- Chiqish - A0 analog pin
- GND - har qanday ochiq GND pin uyasi
- VCC - 3V
RGB umumiy anodli (+) LED - Arduino pinli
- Qizil - 9
- Quvvat - 5V
- Yashil - 10
- Moviy - 11
Shuni yodda tutingki, har bir alohida sim 330 ohmli rezistor orqali o'tkaziladi. Malumot sifatida yuqoridagi rasmdan foydalaning.
Bu qurilishda mening eng qiyin vazifam - har bir sim qaerga ulanganligini aniqlash. Yuqorida men sizga tez va oson sim o'tkaziladigan joylarni ko'rsataman, agar yuqoridan pastgacha kuzatilsa, shoshilmang va kelajakda nosozliklarni tuzatishni oldini olish uchun har bir pin to'g'ri uyaga to'g'ri o'rnatilganligiga ishonch hosil qiling.
*Maslahat - har bir simni har tomonga qo'shib qo'yish
Tinkercad simlarining barcha eskizlari rang bilan to'g'ri kodlangan, shuning uchun davom eting
4 -qadam: kod
Kod
Bu kod barcha komponentlarning birgalikda ishlashiga imkon beradi va yangi boshqaruv funktsiyasini o'z ichiga oladi, bu esa ko'pgina boshqaruv elementlarini o'z ichiga oladi, ular ko'p o'zgaruvchan o'zgaruvchilarga ega, bu komponentlar RGB boshlig'i edi va rangni o'zgartirish uchun rgb rangidan foydalangan holda piezo signal va tugmachaning bosilishiga qarab ovoz chiqaradi.
Bu kodda bo'lishi kerak bo'lgan narsa - klaviatura kutubxonasi
Bu erga havola:
Yuklab olingandan so'ng, yangi kutubxonani arduino -ga qo'shing, so'ng uni faollashtirish uchun kerak bo'lgan bitta kod qatorini kiriting.
Kod paytida yuzaga kelgan qiyinchiliklar, yangi aniqlangan funktsiyalarni qaerda joylashtirish kerak edi, chunki men sinov va xato orqali bu loopda emas, balki sozlamalarda bo'lishi kerakligini tushundim.
Kod
#kiritish // Klaviatura kutubxonasi
int greenPin = 11; // RGB Green Pin raqamli pin 9 ga ulangan
int redPin = 10; // RGB Red Pin 9 raqamli pin bilan ulangan
int bluePin = 9; // RGB Blue Pin raqamli pin 9 int speakerPin = 12 ga ulangan; // dinamik 12 raqamli pinga ulangan dinamik, bayt ROWS = 4; // to'rt qatorli const bayt COLS = 4; // to'rtta kollo const const int soundPin = A0; // tovush sensori A0 ga ulangan
char tugmalari [ROWS] [COLS] = {
{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // Klaviatura modulining vizualizatsiyasi
bayt rowPins [ROWS] = {2, 3, 4, 5}; // klaviaturaning qatorli pinoutlariga ulaning
bayt colPins [COLS] = {6, 7, 8, 13}; // klaviatura ustuni ustki qismiga ulaning
Klaviatura klaviaturasi = Klaviatura (makeKeymap (tugmalar), rowPins, colPins, ROWS, COLS); // Kalitlarni yaratadi
bo'sh o'rnatish () {
pinMode (SpeakerPin, OUTPUT); // SpeakerPin -ni chiqish qilib belgilaydi
pinMode (redPin, OUTPUT); // qizil pinni chiqish pinMode (greenPin, OUTPUT) qilib belgilaydi; // yashil pinni chiqish pinMode (bluePin, OUTPUT) qilib belgilaydi; // ko'k pinni chiqish qilib belgilaydi
Serial.begin (9600);
} void setColor (int red, int green, int blue) // RGB rangini RGB kodi orqali ko'rsatishga ruxsat beruvchi yangi belgilangan funksiya {#ifdef COMMON_ANODE red = 255 - qizil; yashil = 255 - yashil; ko'k = 255 - ko'k; #endif analogWrite (redPin, qizil); analogWrite (greenPin, yashil); analogWrite (bluePin, ko'k); }
bo'sh ovozli signal (imzolanmagan char SpeakerPin, int chastotasi InHertz, uzoq vaqt InMilliseconds) {// ovoz chiqaruvchi funktsiyalar
int x; long delayAmount = (long) (1000000/chastotaInHertz); long loopTime = (long) ((timeInMilliseconds*1000)/(delayAmount*2)); uchun (x = 0; x
void loop () {
char tugmachasi = keypad.getKey (); int qiymati = analogRead (soundPin); // A0 qiymatini o'qing Serial.println (qiymat); // qiymatni chop etish
agar (kalit! = NO_KEY) {
Serial.println (kalit); } if (key == 'a') {ovozli signal (SpeakerPin, 2093, 100); setColor (218, 112, 214); } if (key == 'b') {beep (speakerPin, 2349, 100); setColor (218, 112, 214); } if (key == 'c') {ovozli signal (SpeakerPin, 2637, 100); setColor (218, 112, 214); } if (key == 'd') {ovozli signal (SpeakerPin, 2793, 100); setColor (218, 112, 214); } if (key == 'e') {ovozli signal (SpeakerPin, 3136, 100); setColor (218, 112, 214); } if (key == 'f') {ovozli signal (SpeakerPin, 3520, 100); setColor (218, 112, 214); } if (key == 'g') {ovozli signal (SpeakerPin, 3951, 100); setColor (218, 112, 214); } if (key == 'h') {ovozli signal (SpeakerPin, 4186, 100); setColor (218, 112, 214); } if (key == 'i') {ovozli signal (SpeakerPin, 2093, 100); setColor (230, 230, 0); } if (key == 'j') {ovozli signal (SpeakerPin, 2349, 100); setColor (180, 255, 130); } if (key == 'k') {ovozli signal (SpeakerPin, 2637, 100); setColor (130, 255, 130); } if (key == 'l') {ovozli signal (SpeakerPin, 2739, 100); setColor (130, 220, 130); } if (key == 'm') {ovozli signal (SpeakerPin, 3136, 100); setColor (0, 255, 255); } if (key == 'n') {ovozli signal (SpeakerPin, 3520, 100); setColor (0, 220, 255); } if (key == 'o') {ovozli signal (SpeakerPin, 3951, 100); setColor (0, 69, 255); } if (key == 'p') {beep (speakerPin, 4186, 100); setColor (255, 0, 255); }}
5 -qadam: Yakuniy fikrlar
Yakuniy fikrlar
Loyihaning yakuniy fikrlari uning maqsadi o'yinchoq bo'lish, qiziqarli va sodda quvonch keltirishdir. Bu loyiha tugallangan va ishlayotgani uchun, menimcha, bu tuzilmani, masalan, yozish elementi yoki nusxa ko'chirish/simon elementi yoki hatto ma'lum bir qo'shiqni ijro etish uchun yozuvlari bo'lgan LCD kabi qo'shimcha komponentlar yordamida yaxshilash mumkin.
Sizningcha, klaviatura moduli haqidagi fikringizni bilishni istardim, siz qanday tarkibiy qismlarni qo'shishingiz mumkin edi. Siz uni biron bir loyihangizda ishlatmoqchimisiz? Iltimos, o'z fikrlaringizni quyidagi izohlar bo'limiga joylashtiring.
Iltimos, ushbu arduino loyihasi sizga yoqdimi, baham ko'ring.
Tavsiya:
MIDI bilan tezkor meva pianino: 6 qadam (rasmlar bilan)
MIDI bilan tezkor mevali pianino: Bu chindan ham oddiy sig'imli sensorli pianino. Meva, soda qutilari, suv idishlari, alyumin folga chiziqlar va boshqalarga teging, shunda siz kompyuterdan plyonli pianino musiqasini olasiz. Endi dasturiy ta'minot yozilgan bo'lsa, loyiha ko'proq vaqt talab qilmasligi kerak
OSU! RGB LEDli klaviatura: 3 qadam
OSU! RGB LEDli klaviatura: Salom, men bir muncha oldin ko'rsatma berdim va men WS2812B RGB uchun yangilanishni unutdim. Kechirasiz. Bu loyiha https://www.instructables.com/id/Osu-Keyboard-with-Arduino-Uno ustiga quriladi
Klaviatura LEDli bass, trebl va ovoz balandligi USB boshqaruvchisi: 6 qadam (rasmlar bilan)
Klaviatura LEDli bass, trebl va ovoz balandligi USB boshqaruvchisi: Mening asosiy ish stolida Creative SoundBlaster Audigy bor va men audio yoki video muhitni tinglashda bass va trebl sozlamalarini (shuningdek, ovoz balandligini) tezda sozlashim kerak edi. . Men kodni ikkita manbadan moslashtirdim
Klaviatura interfeysi 8051 va klaviatura raqamlarini 7 segmentda ko'rsatish: 4 qadam (rasmlar bilan)
Klaviatura interfeysi 8051 va klaviatura raqamlarini 7 segmentda ko'rsatish: Ushbu darsda men sizga klaviaturani 8051 bilan qanday bog'lashimiz va klaviatura raqamlarini 7 segmentli displeyda ko'rsatish haqida aytib beraman
Arduino va RGB LEDli Rojdestvo yulduzi: 5 qadam (rasmlar bilan)
Arduino va RGB LEDli Rojdestvo yulduzi: Salom! Biz chuqur muzlatilgan Sibirdan kelgan Arduino Novosibirsk jamoamiz. Bir oz isinish uchun biz chiroyli porlayotgan va miltillayotgan Rojdestvo yulduzlarini yasashga qaror qildik. Demo videoni albatta tomosha qiling