Mündəricat:
- Addım 1: Lazım olan materiallar
- Addım 2: Tikinti zamanı
- Addım 3: Səs Sensor Modulu və RGB LED
- Addım 4: Kod
- Addım 5: Son Fikirlər
Video: RGB LEDli Klaviatura Modulu Piano: 5 Addım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Giriş
Salam xanımlar və bəylər, mənim ilk təlimatçılığa xoş gəldiniz! Bu gün sizə əsas komponentləri klaviatura modulu və piezo səs siqnalı olan bir piano yaratmağı və DO-RE-MI çalmağı və s. Öyrədəcəyəm.
Klaviatura modulunun ən çox nəzərdə tutulan məqsədi, qiymətli əşyalar üçün bir təhlükəsizlik qutusu yaratmaq üçün arduino RFID ilə birləşdirilmiş klaviatura olmaqdır. Bu vəziyyətdə klaviaturanı dəyişdirdim, bir şeyi qorumaq əvəzinə sadə sevinc və musiqini danışmaq üçün istifadə etməyə qərar verdim.
Fikir anlayışı
Bu yaradılışın fikir konsepsiyası, musiqi sinifində daha gənc olduğum zaman ksilofon çalarkən sadə bir xoşbəxt yaddaşdan əmələ gəlir. Vücudumdan keçən sevinc və həyəcan ən yüksək həddə çatdı, demək istəyirəm ki, hər uşaq asanlıqla məmnun olurdu və məmnunluğum ksilofon çalmaqdır.
Araşdırma
Fikiriniz yuxarıdakı ampul yandıqdan sonra bir az araşdırma aparılmalıdır. Vebdə bir müddət gəzdikdən sonra əvvəlcə düşündüyüm fikirlə rastlaşdım! Klaviatura modulu pianoya çevrildi, kimsə eyni layihə videosunu burada yaratdı. Əvvəlcədən düşünərək, layihəni daha da inkişaf etdirəcək, lakin daha cəlbedici edəcək və özüm adlandıra biləcəyim ayrı bir komponent əlavə etməliyəm.
Addım 1: Lazım olan materiallar
Materialların siyahısı
- Piezo Buzzer 1x ▶
- 4x4 klaviatura modulu 1x ▶
- Arduino Uno 1x ▶
- USB 2.0 kabel tipi A/B 1x ▶
- Səs Sensoru Modulu 1x ▶
- RGB LED 1x ▶
- 330 ohm müqavimət 3x 3x ▶
- Kişi və dişi tullanan tel 8x ▶
- Kişidən kişiyə tullanan tel 4x ▶
- 3 pin Kişi və qadın tullanan tel 1x ▶
Material siyahısı yuxarıdakı şəkillərlə düzülmüşdür.
Addım 2: Tikinti zamanı
4x4 Klaviatura Modulu və Piezo Buzzer
Nəzəriyyə
4x4 klaviatura modulu və piezo səs siqnalı bir çox fərdi pin girişi olduğundan istifadə olunan komponentləri iki cütə bölmək qərarına gələcəyəm. Adətən giriş olaraq istifadə olunan klaviaturaya diqqət yetirir. SunFounder 4*4 Matrix Klaviatura Modulu, paralel olaraq 16 düymədən ibarət olan matris kodlaşdırılmamış bir klaviaturadır, hər sətrin və sütunun düymələri xaricdəki sancaqlar vasitəsilə bağlanır- X1- satırlar nəzarətinin yanında etiketləndiyi kimi pin Y1-Y4. X4, sütunlar.
Məqsəd
Bu komponentlərin bütün layihədə məqsədi istifadəçiyə piezo buzzer tərəfindən hertz tezliyi ilə yaradılmış xüsusi bir səsi təyin edən bir düyməni basmasına icazə verməkdir.
Matrix Modul Pin - Arduino Pin
- 4 - 2
- 3 - 3
- 2 - 4
- 1 - 5
- 5 - 6
- 6 - 7
- 7 - 8
- 8 - 13
Piezo Buzzer - Arduino Pin
Qara - GND
Qırmızı - Güc
Bu quruluşdakı ən çətin vəzifəm, hər bir telin haraya qoşulduğunu anlamaqdır. Yuxarıda sizə yuxarıdan aşağıya doğru izləndiyiniz müddətdə, tel yerlərinin necə və necə tez bir şəkildə çatdırılacağını sizə xəbər verəcəyəm.
*İpucu, hər telin bir ucundan digərinə yerləşdiyi yerə riayət etməkdir.
Xüsusi komponent tellərinin bütün Tinkercad eskizləri rənglə düzgün kodlanmışdır, buna görə də diqqətlə izləyin
Addım 3: Səs Sensor Modulu və RGB LED
Səs Sensor Modulu və RGB LED
Nəzəriyyə
Səs sensoru modulu, səsin seçdiyiniz bir nöqtəni keçdiyini təyin etməyə imkan verir. Səs mikrofon vasitəsi ilə aşkarlanır və LM393 op amperinə verilir. Səs səviyyəsi təyin olunan nöqtəni aşdıqda, modulda bir LED yanır və çıxış.
Məqsəd
Bu komponentlərin bütün layihədəki məqsədi, səs sensoru modulunun bir səs/həcm oxunuşunu əldə etməkdir və bunun sayəsində bir RGB LED -i oxumaqla səsə aid doğru rəngi aktivləşdirər.
Səs Sensoru Modulu - Arduino Pimi (3 Pinli Jumper Teli istifadə edin)
- Çıxış - A0 Analog Pin
- GND - Hər hansı bir açıq GND pin yuvası
- VCC - 3V
RGB Ümumi Anot (+) LED - Arduino Pin
- Qırmızı - 9
- Güc - 5 V.
- Yaşıl - 10
- Mavi - 11
Hər bir fərdi teli 330 ohm rezistor vasitəsilə bağlamağı unutmayın. İstinad olaraq yuxarıdakı şəkildən istifadə edin.
Bu quruluşdakı ən çətin vəzifəm, hər bir telin haraya qoşulduğunu anlamaqdır. Yuxarıda sizə yuxarıdan aşağıya doğru izləndiyiniz müddətdə tel yerlərə necə tez və asan bir şəkildə getməyinizi təmin edəcəyəm, məsləhət vaxtınızı ayırmaq və hər bir pinin gələcək ayıklamanın qarşısını almaq üçün düzgün yuvaya düzgün şəkildə daxil edilməsini təmin etməkdir.
*İpucu, hər bir telin hər iki tərəfə də daxil edildiyini izləməkdir
Xüsusi komponent tellərinin bütün Tinkercad eskizləri rənglə düzgün kodlanmışdır, buna görə də izləyin
Addım 4: Kod
Kod
Bu kod, bütün komponentlərin bir çox dəyişən dəyişənləri olan tək komponenti olan RGB -lər və rgb rəngindən istifadə edərək rəngi dəyişdirmək üçün piezo səs siqnalı və düyməni basmaqdan asılı olaraq səs çıxaracaq.
Bu kod daxilində olması lazım olan bir şey klaviatura kitabxanası idi
Bura keçid:
Yüklədikdən sonra yeni kitabxananı arduinoya əlavə edin, sonra aktivləşdirmək üçün lazım olan tək kod xəttini daxil edin.
Kod zamanı yaşadığım çətinliklər, yeni təyin edilmiş funksiyaları sınaq və səhv yolu ilə harada yerləşdirəcəyim idi, bunun döngədə deyil, quraşdırmada olması lazım olduğunu anladım.
Kod
#daxil edin // Klaviatura Kitabxanası
int greenPin = 11; // RGB Yaşıl Pin rəqəmsal pin 9 -a qoşulub
int redPin = 10; // RGB Red Pin rəqəmsal pin 9 -a qoşulub
int bluePin = 9; // RGB Mavi Pin rəqəmsal pin 9 int SpeakerPin = 12 -ə qoşuldu; // rəqəmsal pinlə əlaqəli dinamik 12 const bayt ROWS = 4; // dörd satır const bayt COLS = 4; // dörd coloums const int soundPin = A0; // səs sensoru A0 -a əlavə olunur
char düymələri [ROWS] [COLS] = {
{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // Klaviatura modulunun görüntülənməsi
bayt rowPins [ROWS] = {2, 3, 4, 5}; // klaviaturanın sətir pinoutlarına qoşulun
bayt colPins [COLS] = {6, 7, 8, 13}; // klaviaturanın sütun pinoutlarına qoşulun
Klaviatura klaviaturası = Klaviatura (makeKeymap (düymələr), rowPins, colPins, ROWS, COLS); // Açarlar yaradır
boş quraşdırma () {
pinMode (SpeakerPin, Çıxış); // SpeakerPin -i çıxış olaraq təyin edir
pinMode (redPin, ÇIXIŞ); // qırmızı pimi çıxış pinMode (greenPin, ÇIXIŞ) olaraq təyin edir; // yaşıl pimi çıxış pinMode (bluePin, ÇIXIŞ) olaraq təyin edir; // mavi sancağı çıxış olaraq təyin edir
Serial.begin (9600);
} void setColor (int qırmızı, int yaşıl, int mavi) // RGB -nin RGB kodu vasitəsilə rəng göstərməsinə imkan verən yeni təyin olunmuş funksiya {#ifdef COMMON_ANODE red = 255 - qırmızı; yaşıl = 255 - yaşıl; mavi = 255 - mavi; #endif analogWrite (redPin, qırmızı); analogWrite (greenPin, yaşıl); analogWrite (bluePin, mavi); }
boş səs siqnalı (işarəsiz char speakerPin, int tezliyiInHertz, uzun müddətMillisaniyə) {// səs istehsal funksiyaları
int x; long delayAmount = (uzun) (1000000/tezlikInHertz); long loopTime = (uzun) ((timeInMilliseconds*1000)/(delayAmount*2)); üçün (x = 0; x
boşluq döngəsi () {
char düyməsi = keypad.getKey (); int dəyəri = analogRead (soundPin); // A0 Serial.println (dəyər) dəyərini oxuyun; // dəyəri çap edin
əgər (açar! = NO_KEY) {
Serial.println (açar); } if (key == 'a') {bip (SpeakerPin, 2093, 100); setColor (218, 112, 214); } if (key == 'b') {bip (SpeakerPin, 2349, 100); setColor (218, 112, 214); } if (key == 'c') {bip (SpeakerPin, 2637, 100); setColor (218, 112, 214); } if (key == 'd') {bip (SpeakerPin, 2793, 100); setColor (218, 112, 214); } if (key == 'e') {bip (SpeakerPin, 3136, 100); setColor (218, 112, 214); } if (key == 'f') {bip (SpeakerPin, 3520, 100); setColor (218, 112, 214); } if (key == 'g') {bip (SpeakerPin, 3951, 100); setColor (218, 112, 214); } if (key == 'h') {bip (SpeakerPin, 4186, 100); setColor (218, 112, 214); } if (key == 'i') {bip (SpeakerPin, 2093, 100); setColor (230, 230, 0); } if (key == 'j') {bip (SpeakerPin, 2349, 100); setColor (180, 255, 130); } if (key == 'k') {bip (SpeakerPin, 2637, 100); setColor (130, 255, 130); } if (key == 'l') {bip (SpeakerPin, 2739, 100); setColor (130, 220, 130); } if (key == 'm') {bip (SpeakerPin, 3136, 100); setColor (0, 255, 255); } if (key == 'n') {bip (SpeakerPin, 3520, 100); setColor (0, 220, 255); } if (key == 'o') {bip (SpeakerPin, 3951, 100); setColor (0, 69, 255); } if (key == 'p') {bip (SpeakerPin, 4186, 100); setColor (255, 0, 255); }}
Addım 5: Son Fikirlər
Son Fikirlər
Bu layihənin son düşüncələri, oyuncaq olmaq, əylənmək və sadə bir sevinc gətirməkdir. Bu layihə tamamlandığı və üzərində işlədiyi üçün inanıram ki, bu quruluşu, qeyd elementi və ya surət/simon deyir elementi və ya müəyyən bir mahnını ifa etmək üçün görünən notları olan LCD kimi daha çox komponentlə inkişaf etdirə bilərəm.
Klaviatura Modulu haqqında fikirlərinizi bilmək istərdim, hansı komponentlərin əlavə oluna biləcəyini düşünürdünüz. Hər hansı bir layihənizdə istifadə edəcəksinizmi? Zəhmət olmasa fikirlərinizi aşağıdakı şərh bölməsində yazın.
Zəhmət olmasa bu arduino layihəsindən zövq alsanız paylaşdığınızdan əmin olun.
Tövsiyə:
Sarı LEDli Ramen Bowl Lampası: 17 Addım (Şəkillərlə)
Sarı LEDləri olan Ramen Bowl Lampası: Kollecdə 10 qəpik ramen paketləri yaşadıqdan sonra bu xəstəlikdən bezəcəyimi düşünürsünüz, amma uzun illər sonra hələ də ucuz əriştə kərpiclərinə böyük bir həvəsim var. Etiraf etmək lazımdır ki, yarı sağlam bir şüurlu bir yetkin kimi, bir az daha incə
I2C Sırt Çantalı 1602 LCD Klaviatura Qalxan Modulu: 6 addım
I2C Sırt Çantalı 1602 LCD Klaviatura Qalxan Modulu: Daha böyük bir layihənin bir hissəsi olaraq, bir LCD ekrana və bəzi sadə menyularda naviqasiya üçün klaviatura sahibi olmaq istəyirdim. Başqa işlər üçün Arduino'da bir çox G/Ç portundan istifadə edəcəyəm, buna görə də LCD üçün I2C interfeysi istədim. Buna görə bir az avadanlıq aldım
E32-433T LoRa Modulu Dərsliyi - E32 Modulu üçün DIY Breakout Board: 6 addım
E32-433T LoRa Modulu Dərsliyi | E32 Modulu üçün DIY Breakout Board: Hey, nə var, uşaqlar! Akarsh burada CETech-dən. Mənim bu layihəm, yüksək gücə malik 1 vatlıq ötürücü modulu olan eByte-dən E32 LoRa modulunun işini başa düşmək üçün daha çox öyrənmə əyrisidir. İşi başa düşdükdən sonra dizaynım var
OSU! RGB LEDli klaviatura: 3 addım
OSU! RGB LEDli Klaviatura: Salam, bir müddət əvvəl bir təlimat hazırladım və WS2812B RGB üçün yeniləmə etməyi unutdum. Bağışlayın. Bu layihə https://www.instructables.com/id/Osu-Keyboard-with-Arduino-Uno üzərində qurulacaq
8051 ilə Klaviatura Arayüzü və 7 Segmentdə Klaviatura Nömrələrini Göstərmək: 4 Addım (Şəkillərlə)
8051 ilə Klaviatura Arayüzü və 7 Segmentdə Klaviatura Nömrələrini Göstərmək: Bu dərslikdə 8051 ilə klaviaturanı necə birləşdirə biləcəyimizi və klaviatura nömrələrini 7 seqmentli ekranda necə göstərəcəyimizi izah edəcəyəm