Spisu treści:
- Krok 1: Potrzebne materiały
- Krok 2: Czas budowy
- Krok 3: Moduł czujnika dźwięku i dioda LED RGB
- Krok 4: Kod
- Krok 5: Końcowe myśli
Wideo: Moduł klawiatury Fortepian z diodą LED RGB: 5 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Wprowadzenie
Witam panie i panowie, witam w moim pierwszym instruktażu! Dzisiaj nauczę Cię, jak stworzyć pianino z głównymi komponentami, takimi jak moduł klawiatury i brzęczyk piezoelektryczny, aby móc grać w DO-RE-MI i tak dalej.
Moduł klawiatury najczęściej przeznaczonym przeznaczeniem ma być klawiaturą połączoną z arduino RFID tworząc bezpieczne pudełko na cenne przedmioty. W tym przypadku zmieniłem klawiaturę, zamiast chronić coś, postanawiam użyć do mówienia prostej radości i muzyki.
Koncepcja pomysłu
Pomysł na tę kreację wyewoluował z prostego szczęśliwego wspomnienia podczas grania na ksylofonie, gdy byłem młodszy w klasie muzycznej. Ilość radości i podekscytowania, jaka przebiegała przez moje ciało, była na szczycie, znaczy to, że każde dziecko było łatwo usatysfakcjonowane, a moją satysfakcją była gra na ksylofonie.
Badania
Po tym, jak zapali się Twoja żarówka pomysłu powyżej, należy przeprowadzić małe badania. Po pewnym czasie przeglądania sieci natknąłem się na mój pomysł, o którym początkowo pomyślałem! Moduł klawiatury zamienił się w pianino, ktoś stworzył tutaj ten sam projekt wideo. Wybiegając w przyszłość, musiałem dodać osobny komponent, który jeszcze bardziej ulepszy projekt, ale sprawi, że będzie bardziej angażujący i będzie mógł nazwać go swoim własnym.
Krok 1: Potrzebne materiały
Lista materiałów
- Piezo Buzzer 1x ▶
- Moduł klawiatury 4x4 1x ▶
- Arduino Uno 1x ▶
- Kabel USB 2.0 typ A/B 1x ▶
- Moduł czujnika dźwięku 1x ▶
- RGB LED 1x ▶
- Rezystor 330 omów 3x ▶
- Przewód połączeniowy męski na żeński 8x ▶
- Przewód połączeniowy męski na męski 4x ▶
- Przewód połączeniowy 3 pin męski na żeński 1x ▶
Lista materiałów jest w porządku ze zdjęciami powyżej.
Krok 2: Czas budowy
Moduł klawiatury 4x4 i brzęczyk piezoelektryczny
Teoria
Ponieważ moduł klawiatury 4x4 i brzęczyk piezo zawiera tyle pojedynczych wejść pinowych, że zdecyduję się podzielić używane komponenty na dwie pary. Koncentrowanie się na klawiaturze, zwykle używane jako wejście. Moduł klawiatury SunFounder 4*4 Matrix to niekodowana klawiatura macierzowa składająca się z 16 klawiszy równolegle. Klawisze każdego rzędu i kolumny są połączone przez piny na zewnątrz – pin Y1-Y4, jak opisano obok, kontroluje rzędy, gdy X1- X4, kolumny.
Cel, powód
Celem tych elementów w całym projekcie jest umożliwienie użytkownikowi naciśnięcia przycisku, który jest ustawiony na określony dźwięk wytwarzany przez brzęczyk piezoelektryczny poprzez częstotliwość w hercach.
Pin modułu matrycy - Pin Arduino
- 4 - 2
- 3 - 3
- 2 - 4
- 1 - 5
- 5 - 6
- 6 - 7
- 7 - 8
- 8 - 13
Piezo Buzzer - Arduino Pin
Czarny - GND
Czerwona moc
Moim najtrudniejszym zadaniem w tej kompilacji jest ustalenie, gdzie jest podłączony każdy przewód. Powyżej przedstawiam ci szybkie i łatwe, jak ustawić położenie przewodów, o ile podążasz od góry do dołu, końcówka nie spiesz się i upewnij się, że każdy pin jest prawidłowo włożony do odpowiedniego gniazda.
*Wskazówka: podążaj za położeniem każdego przewodu od jednego końca do drugiego.
Wszystkie szkice Tinkercad poszczególnych przewodów składowych są poprawnie oznaczone kolorami, więc postępuj uważnie
Krok 3: Moduł czujnika dźwięku i dioda LED RGB
Moduł czujnika dźwięku i dioda LED RGB
Teoria
Moduł czujnika dźwięku pozwala wykryć, kiedy dźwięk przekroczył wybraną przez Ciebie wartość. Dźwięk jest wykrywany przez mikrofon i podawany do wzmacniacza operacyjnego LM393. Gdy poziom dźwięku przekroczy zadaną wartość, na module zapala się dioda LED i wyjście.
Cel, powód
Celem tych elementów w całym projekcie jest uzyskanie odczytu dźwięku/głośności modułu czujnika dźwięku i dzięki temu odczytowi dioda LED RGB uruchomi odpowiedni kolor odnoszący się do dźwięku.
Moduł czujnika dźwięku - pin Arduino (użyj 3-pinowego przewodu połączeniowego)
- Wyjście - pin analogowy A0
- GND-dowolne otwarte gniazdo pinu GND
- VCC - 3V
Wspólna anoda RGB (+) LED - Pin Arduino
- Czerwony - 9
- Moc - 5V
- Zielony - 10
- Niebieski - 11
Należy pamiętać o okablowaniu każdego pojedynczego przewodu przez rezystor 330 omów. Użyj powyższego zdjęcia jako odniesienia.
Moim najtrudniejszym zadaniem w tej kompilacji jest ustalenie, gdzie jest podłączony każdy przewód. Powyżej podaję ci szybki i łatwy sposób dotarcia do lokalizacji przewodów, o ile postępuje się od góry do dołu, wskazówka: nie spiesz się i upewnij się, że każdy pin jest prawidłowo włożony do odpowiedniego gniazda, aby zapobiec przyszłemu debugowaniu.
*Wskazówką jest śledzenie, gdzie każdy przewód jest włożony w obie strony
Wszystkie szkice Tinkercad poszczególnych przewodów składowych są poprawnie oznaczone kolorami, więc postępuj zgodnie z instrukcjami
Krok 4: Kod
Kod
Ten kod pozwala wszystkim komponentom na współpracę przy użyciu nowo zdefiniowanej funkcji, która zawiera wiele elementów sterujących pojedynczy komponent, który ma wiele zmiennych zmiennych te komponenty były diodą RGB i używały koloru rgb do zmiany koloru, gdy włączony i brzęczyk piezoelektryczny i dźwięk, jaki wydawałby w zależności od naciśnięcia przycisku.
Musi mieć w tym kodzie bibliotekę klawiatury
Link tutaj:
Po pobraniu dodaj nową bibliotekę do arduino, a następnie wstaw jedną linię kodu potrzebną do jej aktywacji.
Trudności, jakie miałem podczas kodu, polegały na tym, gdzie umieścić nowo zdefiniowane funkcje, ponieważ metodą prób i błędów zorientowałem się, że musi to być w konfiguracji, a nie w pętli.
Kod
#include // Biblioteka klawiatur
int zielonyPin = 11; //RGB zielony pin podłączony do cyfrowego pinu 9
int redPin= 10; //RGB czerwony pin podłączony do cyfrowego pinu 9
int niebieskiPin = 9; //RGB Niebieski Pin podłączony do cyfrowego pinu 9 int speakerPin = 12; // głośnik podłączony do pinu cyfrowego 12 const byte ROWS = 4; // cztery wiersze const byte COLS = 4; // cztery coloums const int soundPin = A0; //czujnik dźwięku podłącz do A0
klucze znaków[ROWS][COLS] = {
{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l'}, {'m', 'n', 'o', 'p'} }; // Wizualizacja modułu klawiatury
bajt wierszPins[ROWS] = {2, 3, 4, 5}; // połącz się z pinoutami wiersza klawiatury
bajt colPins[COLS] = {6, 7, 8, 13}; // połącz się z pinoutami kolumn klawiatury
Klawiatura klawiatury = Klawiatura (makeKeymap(keys), rowPins, colPins, ROWS, COLS); // Tworzy klucze
pusta konfiguracja (){
pinMode(speakerPin, OUTPUT); // ustawia speakerPin jako wyjście
pinMode(redPin, WYJŚCIE); // ustawia czerwony pin jako wyjście pinMode(greenPin, OUTPUT); // ustawia zielony pin jako wyjście pinMode(bluePin, OUTPUT); // ustawia niebieski pin jako wyjście
Serial.początek (9600);
} void setColor(int red, int green, int blue) // Nowa zdefiniowana funkcja umożliwiająca wyświetlanie kolorów RGB za pomocą kodu RGB { #ifdef COMMON_ANODE red = 255 - red; zielony = 255 - zielony; niebieski = 255 - niebieski; #endif zapis analogowy(redPin, czerwony); analogZapis(zielonyPin, zielony); zapis analogowy (niebieski pin, niebieski); }
void beep (unsigned char speakerPin, int frequencyInHertz, long timeInMilliseconds){ // funkcje generowania dźwięku
int x; long delayAmount = (long)(1000000/częstotliwość w hercach); long loopTime = (long)((timeInMilliseconds*1000)/(delayAmount*2)); dla (x=0;x
pusta pętla (){
klawisz znaku = klawiatura.getKey(); int value = analogRead(soundPin);//odczytaj wartość A0 Serial.println(value);//wydrukuj wartość
jeśli (klucz != NO_KEY) {
Serial.println(klucz); } if (key=='a'){ beep(speakerPin, 2093, 100); ustawKolor(218, 112, 214); } if (key=='b'){ beep(speakerPin, 2349, 100); ustawKolor(218, 112, 214); } if (key=='c'){ beep(speakerPin, 2637, 100); ustawKolor(218, 112, 214); } if (key=='d'){ beep(speakerPin, 2793, 100); ustawKolor(218, 112, 214); } if (key=='e'){ beep(speakerPin, 3136, 100); ustawKolor(218, 112, 214); } if (key=='f'){ beep(speakerPin, 3520, 100); ustawKolor(218, 112, 214); } if (key=='g'){ beep(speakerPin, 3951, 100); ustawKolor(218, 112, 214); } if (key=='h'){ beep(speakerPin, 4186, 100); ustawKolor(218, 112, 214); } if (key=='i'){ beep(speakerPin, 2093, 100); ustawKolor(230, 230, 0); } if (key=='j'){ beep(speakerPin, 2349, 100); ustawKolor(180, 255, 130); } if (key=='k'){ beep(speakerPin, 2637, 100); ustawKolor(130, 255, 130); } if (key=='l'){ beep(speakerPin, 2739, 100); ustawKolor(130, 220, 130); } if (key=='m'){ beep(speakerPin, 3136, 100); setColor(0, 255, 255); } if (key=='n'){ beep(speakerPin, 3520, 100); setColor(0, 220, 255); } if (key=='o'){ beep(speakerPin, 3951, 100); ustawKolor(0, 69, 255); } if (key=='p'){ beep(speakerPin, 4186, 100); ustawKolor(255, 0, 255); } }
Krok 5: Końcowe myśli
Końcowe przemyślenia
Ostateczne myśli tego projektu mają być zabawką, przynoszącą zabawę i uproszczoną radość. Ponieważ ten projekt jest kompletny i pracuje nad, wierzę, że ta kompilacja może być wzbogacona o więcej komponentów, takich jak element nagrywający, element kopiowania/simon mówi, a nawet wyświetlacz LCD z nutami, które wydają się odtwarzać określoną piosenkę.
Chciałbym poznać Twoją opinię na temat modułu klawiatury, jakie komponenty, które Twoim zdaniem mogły zostać dodane. Czy użyjesz go w którymś ze swoich projektów? Prosimy o publikowanie swoich pomysłów w sekcji komentarzy poniżej.
Upewnij się, że udostępniłeś, jeśli podobał Ci się ten projekt arduino.
Zalecana:
Fortepian Arduino - Pentotron: 5 kroków
Arduino Piano - Pentotron: HI! To moja pierwsza instrukcja, zrobię co w mojej mocy, aby była dobra. Nie jestem native speakerem, więc zachowaj wszelkie błędy, które możesz znaleźć. Ta instrukcja pokaże Ci, jak zbudować własne „piano” arduino. Gra tylko penta
1602 Moduł osłony klawiatury LCD z plecakiem I2C: 6 kroków
1602 Moduł osłony klawiatury LCD z plecakiem I2C: W ramach większego projektu chciałem mieć wyświetlacz LCD i klawiaturę do nawigacji po kilku prostych menu. Będę używał wielu portów I/O w Arduino do innych zadań, więc chciałem mieć interfejs I2C dla LCD. Więc kupiłem trochę sprzętu
Interfejs klawiatury z 8051 i wyświetlaniem numerów klawiatury w 7 segmentach: 4 kroki (ze zdjęciami)
Interfejs klawiatury z 8051 i wyświetlaniem numerów klawiatury w 7 segmentach: W tym samouczku opowiem ci, jak możemy połączyć klawiaturę z 8051 i wyświetlać numery klawiatury w 7-segmentowym wyświetlaczu
Czyszczenie aluminiowej klawiatury Apple . lub dowolnej innej klawiatury miękkiej w dotyku: 5 kroków
Czyszczenie aluminiowej klawiatury Apple …. lub dowolnej innej klawiatury miękkiej w dotyku: Tak czyste, jak Ty lub ja staramy się utrzymać nasze aluminiowe klawiatury Apple, stają się brudne po mniej więcej roku. Ta instrukcja ma pomóc ci ją wyczyścić. Bądź ostrożny, ponieważ nie jestem odpowiedzialny, jeśli twoja klawiatura się zepsuje podczas robienia tego …. DO CIAŁA
Migaj diodą LED za pomocą ESP32 NodeMCU WiFi i moduł Bluetooth Samouczek: 5 kroków
Miganie diody LED przy użyciu ESP32 NodeMCU Wi-Fi i moduł Bluetooth Samouczek: OpisNodeMCU to platforma IoT o otwartym kodzie źródłowym. Jest programowany przy użyciu języka skryptowego Lua. Platforma oparta jest na projektach open source eLua. Platforma korzysta z wielu projektów open source, takich jak lua-cjson, spiffs. Ten NodeMc ESP32