Cuprins:

Modul tastatură pian cu LED RGB: 5 pași (cu imagini)
Modul tastatură pian cu LED RGB: 5 pași (cu imagini)

Video: Modul tastatură pian cu LED RGB: 5 pași (cu imagini)

Video: Modul tastatură pian cu LED RGB: 5 pași (cu imagini)
Video: 32 de combinații secrete pe tastatura ta 2024, Noiembrie
Anonim
Image
Image
Materiale necesare
Materiale necesare

Introducere

Bună ziua doamnelor și domnilor, bun venit la primul meu instructiv! Astăzi, vă voi învăța cum să creați un pian cu componentele principale fiind un modul de tastatură și un buzzer piezo și să îl puteți juca DO-RE-MI și așa mai departe.

Modulul de tastatură cel mai des destinat scop este să fie o tastatură combinată cu un RFID arduino pentru a crea o cutie de siguranță pentru obiecte valoroase. În acest caz, am schimbat tastatura, în loc să protejez ceva, decid să folosesc pentru a spune simpla bucurie și muzică.

Conceptul de idee

Conceptul de idee pentru această creație, evoluează dintr-o simplă amintire fericită în timp ce cântai la xilofon când eram mai tânăr la ora de muzică. Cantitatea de bucurie și entuziasm care îmi trecea prin corp era la vârf, adică fiecare copil era ușor satisfăcut, iar satisfacția mea cânta la xilofon.

Cercetare

După ce becul de mai sus se aprinde, trebuie făcută o mică cercetare. După ce am navigat pe internet pentru o vreme, am dat peste ideea mea la care m-am gândit inițial! Un modul de tastatură transformat în pian, cineva a creat aici același videoclip de proiect. Gândind în viitor, a trebuit să adaug o componentă separată care să îmbunătățească și mai mult proiectul, dar să-l facă mai captivant și să-l pot numi al meu.

Pasul 1: Materiale necesare

Materiale necesare
Materiale necesare
Materiale necesare
Materiale necesare
Materiale necesare
Materiale necesare

Lista materialelor

  • Piezo Buzzer 1x ▶
  • Modul de tastatură 4x4 1x ▶
  • Arduino Uno 1x ▶
  • Cablu USB 2.0 tip A / B 1x ▶
  • Modul senzor de sunet 1x ▶
  • LED RGB 1x ▶
  • Rezistor de 330 ohm 3x ▶
  • Sârmă jumper de la mascul la feminin 8x ▶
  • Sârmă jumper masculin la masculin 4x ▶
  • Sârmă jumper 3 pini la tată 1x ▶

Lista materialelor este în ordine cu imaginile de mai sus.

Pasul 2: Construirea timpului

Timpul construirii!
Timpul construirii!
Timpul construirii!
Timpul construirii!
Timpul construirii!
Timpul construirii!
Timpul construirii!
Timpul construirii!

Modul de tastatură 4x4 și buzzer piezo

Teorie

Deoarece modulul de tastatură 4x4 și buzzerul piezo conțin atât de multe intrări individuale de pin, voi decide să împart componentele utilizate în două perechi. Concentrarea pe tastatură, utilizată de obicei ca intrare. SunFounder 4 * 4 Matrix Keypad Module este o tastatură matricială necodificată, formată din 16 taste în paralel, tastele fiecărui rând și coloană sunt conectate prin pinii din exterior - pinul Y1-Y4 așa cum este etichetat lângă controlul rândurilor, când X1- X4, coloanele.

Scop

Scopul acestor componente pentru întregul proiect este de a permite utilizatorului să apese un buton care este setat la un sunet specific creat de buzzerul piezo prin frecvența în hertz.

Pinul modulului Matrix - Pinul Arduino

  • 4 - 2
  • 3 - 3
  • 2 - 4
  • 1 - 5
  • 5 - 6
  • 6 - 7
  • 7 - 8
  • 8 - 13

Piezo Buzzer - Pin Arduino

Negru - GND

Roșu - Putere

Sarcina mea cea mai dificilă din această versiune este să aflu unde este conectat fiecare fir. Mai sus vă ofer rapid și ușor cum să vă îndreptați către locațiile firelor, atâta timp cât este urmat de sus în jos, sfatul este să vă luați timp și să vă asigurați că fiecare știft este corect introdus în slotul potrivit.

* Sfatul este să urmăriți locația fiecărui fir de la un capăt la altul.

Toate schițele Tinkercad ale firelor componente specifice sunt codificate în culori corect, așa că urmați cu atenție

Pasul 3: Modul senzor de sunet și LED RGB

Modul senzor de sunet și LED RGB
Modul senzor de sunet și LED RGB
Modul senzor de sunet și LED RGB
Modul senzor de sunet și LED RGB
Modul senzor de sunet și LED RGB
Modul senzor de sunet și LED RGB

Modul senzor de sunet și LED RGB

Teorie

Modulul senzorului de sunet vă permite să detectați când sunetul a depășit un punct setat selectat. Sunetul este detectat printr-un microfon și alimentat într-un amplificator op LM393. Odată ce nivelul de sunet depășește valoarea setată, un LED de pe modul este luminat și ieșirea.

Scop

Scopul acestor componente pentru întregul proiect este de a obține o citire a sunetului / volumului modulului senzorului de sunet și prin această citire un LED RGB va activa culoarea corectă a sunetului.

Modul senzor de sunet - Pin Arduino (Folosiți un cablu cu 3 pini)

  • Ieșire - Pin analogic A0
  • GND - Orice slot de pin GND deschis
  • VCC - 3V

LED RGB Common Anode (+) - Pin Arduino

  • Roșu - 9
  • Putere - 5V
  • Verde - 10
  • Albastru - 11

Țineți minte să conectați, fiecare fir individual printr-un rezistor de 330 ohmi. Utilizați imaginea de mai sus ca referință.

Cea mai dificilă sarcină a mea în această versiune este de a afla unde este conectat fiecare fir. Mai sus vă ofer rapid și ușor cum să vă îndreptați către locațiile firelor, atâta timp cât sunt urmate de sus în jos, sfatul este să vă luați timp și să vă asigurați că fiecare pin este introdus corect în slotul potrivit pentru a preveni depanarea viitoare.

* Sfatul este să urmăriți unde fiecare fir este introdus în ambele sensuri

Toate schițele Tinkercad ale firelor componente specifice sunt codate corect în culori, așa că urmați-le

Pasul 4: Cod

Cod

Acest cod permite tuturor componentelor să lucreze împreună utilizând funcția nou definită pentru a conține toate numeroasele comenzi ale unei singure componente care are multe variabile care pot fi schimbate; aceste componente au fost LED-ul RGB și folosind culoarea rgb pentru a schimba culoarea în timp ce este pornită și buzzerul piezo și sunet pe care l-ar face în funcție de apăsarea butonului.

Un element obligatoriu din acest cod a fost biblioteca tastaturii

Link aici:

După descărcare, adăugați noua bibliotecă în arduino, apoi introduceți singura linie de cod necesară pentru activare.

Dificultățile pe care le-am avut în timpul codului a fost unde să plasez funcțiile nou definite, deoarece prin încercare și eroare mi-am dat seama că trebuie să fie în configurare și nu în buclă.

Cod

#include // Biblioteca tastaturii

int greenPin = 11; // Pinul RGB verde conectat la pinul digital 9

int redPin = 10; // Pin roșu RGB conectat la pinul digital 9

int BluePin = 9; // Pin albastru RGB conectat la difuzorul digital 9 pin Pin = 12; // difuzor conectat la pinul digital 12 octeti const ROWS = 4; // patru rânduri const octet COLS = 4; // patru coloums const int soundPin = A0; // senzor de sunet atașat la A0

chei de caractere [ROWS] [COLS] = {

{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // Vizualizarea modulului tastaturii

byte rowPins [ROWS] = {2, 3, 4, 5}; // conectați-vă la pinouturile rândurilor de pe tastatură

octet colPins [COLS] = {6, 7, 8, 13}; // conectați-vă la pinout-urile coloanei tastaturii

Tastatură tastatură = Tastatură (makeKeymap (taste), rowPins, colPins, ROWS, COLS); // Creează chei

configurare nulă () {

pinMode (speakerPin, OUTPUT); // setează speakerPin să fie o ieșire

pinMode (redPin, OUTPUT); // setează pinul roșu să fie un pin pinMode (greenPin, OUTPUT); // setează pinul verde să fie un pin pin Mode (bluePin, OUTPUT); // setează pinul albastru să fie o ieșire

Serial.begin (9600);

} void setColor (int roșu, int verde, int albastru) // Nouă funcție definită pentru a permite RGB să afișeze culoarea prin cod RGB {#ifdef COMMON_ANODE roșu = 255 - roșu; verde = 255 - verde; albastru = 255 - albastru; #endif analogWrite (redPin, red); analogWrite (greenPin, verde); analogWrite (bluePin, blue); }

bip nul (difuzor de caractere nesemnat Pin, frecvență intHertz, timp lung în milisecunde) {// funcțiile de producere a sunetului

int x; lung delayAmount = (long) (1000000 / frequencyInHertz); long loopTime = (long) ((timeInMilliseconds * 1000) / (delayAmount * 2)); pentru (x = 0; x

bucla nulă () {

tasta char = keypad.getKey (); int valoare = analogRead (soundPin); // citiți valoarea A0 Serial.println (valoare); // imprimați valoarea

if (cheie! = NO_KEY) {

Serial.println (cheie); } if (key == 'a') {beep (speakerPin, 2093, 100); setColor (218, 112, 214); } if (key == 'b') {beep (speakerPin, 2349, 100); setColor (218, 112, 214); } if (key == 'c') {beep (speakerPin, 2637, 100); setColor (218, 112, 214); } if (cheie == 'd') {beep (speakerPin, 2793, 100); setColor (218, 112, 214); } if (cheie == 'e') {beep (speakerPin, 3136, 100); setColor (218, 112, 214); } if (cheie == 'f') {beep (speakerPin, 3520, 100); setColor (218, 112, 214); } if (key == 'g') {beep (speakerPin, 3951, 100); setColor (218, 112, 214); } if (cheie == 'h') {beep (speakerPin, 4186, 100); setColor (218, 112, 214); } if (key == 'i') {beep (speakerPin, 2093, 100); setColor (230, 230, 0); } if (cheie == 'j') {beep (speakerPin, 2349, 100); setColor (180, 255, 130); } if (key == 'k') {beep (speakerPin, 2637, 100); setColor (130, 255, 130); } if (key == 'l') {beep (speakerPin, 2739, 100); setColor (130, 220, 130); } if (cheie == 'm') {beep (speakerPin, 3136, 100); setColor (0, 255, 255); } if (cheie == 'n') {beep (speakerPin, 3520, 100); setColor (0, 220, 255); } if (key == 'o') {beep (speakerPin, 3951, 100); setColor (0, 69, 255); } if (cheie == 'p') {beep (speakerPin, 4186, 100); setColor (255, 0, 255); }}

Pasul 5: Gânduri finale

Image
Image

Gânduri finale

Scopul final al acestui proiect este scopul său este să fie o jucărie, să aducă distracție și bucurie simplistă. Deoarece acest proiect este complet și funcționează, cred că această construcție și poate continua cu mai multe componente, cum ar fi un element de înregistrare sau un element de copiere / simon, sau chiar LCD cu notele care apar pentru a reda o melodie specifică.

Mi-ar plăcea să vă spun părerea despre modulul tastatură, ce componente ați crezut că ar fi putut fi adăugate. Ai de gând să-l folosești în vreunul dintre proiectele tale? Vă rugăm să postați ideile dvs. în secțiunea de comentarii de mai jos.

Vă rugăm să vă asigurați că împărtășiți dacă v-a plăcut acest proiect arduino.

Recomandat: