Indholdsfortegnelse:

Tastaturmodulsklaver med RGB LED: 5 trin (med billeder)
Tastaturmodulsklaver med RGB LED: 5 trin (med billeder)

Video: Tastaturmodulsklaver med RGB LED: 5 trin (med billeder)

Video: Tastaturmodulsklaver med RGB LED: 5 trin (med billeder)
Video: 4 Красивых САЛАТА, которые я готовлю на Новогодний стол! Меню на Новый год 2023! 2024, November
Anonim
Image
Image
Nødvendige materialer
Nødvendige materialer

Intro

Hej mine damer og herrer, velkommen til min allerførste instruktive! I dag vil jeg lære dig, hvordan du opretter et klaver med hovedkomponenter som et tastaturmodul og en piezo-summer og får det til at spille DO-RE-MI og så videre.

Tastaturmodulet er oftest beregnet til at være et tastatur kombineret med et arduino RFID for at skabe en sikker boks til værdifulde genstande. I dette tilfælde ændrede jeg tastaturet, i stedet for at beskytte noget, jeg beslutter mig for at bruge til at tale den enkle glæde og musik.

Idé koncept

Idékonceptet for denne skabelse udviklede sig fra en simpel glad hukommelse, mens jeg spillede xylofon, da jeg var yngre i musikklassen. Mængden af glæde og spænding, der løb gennem min krop, var på sit højeste, jeg mener, at hvert barn let var tilfreds, og min tilfredshed var at spille xylofon.

Forskning

Når din idépære over lyser, skal der laves lidt research. Efter at have surfet på nettet et stykke tid, kunne jeg støde på min idé, jeg oprindeligt tænkte på! Et tastaturmodul drejede klaver, nogen har oprettet den samme projektvideo her. Når jeg tænkte fremad, var jeg nødt til at tilføje en separat komponent, der yderligere ville forbedre projektet, men gøre det mere engagerende og kunne kalde det mit eget.

Trin 1: Nødvendige materialer

Nødvendige materialer
Nødvendige materialer
Nødvendige materialer
Nødvendige materialer
Nødvendige materialer
Nødvendige materialer

Materialeliste

  • Piezo Buzzer 1x ▶
  • 4x4 tastaturmodul 1x ▶
  • Arduino Uno 1x ▶
  • USB 2.0-kabel type A/B 1x ▶
  • Lydsensormodul 1x ▶
  • RGB LED 1x ▶
  • 330 ohm modstand 3x ▶
  • Mand til kvinde jumper wire 8x ▶
  • Mand til mand jumper wire 4x ▶
  • 3-polet han- til hun-jumperledning 1x ▶

Materialeliste er i orden med billederne ovenfor.

Trin 2: Byggetid

Byggetid!
Byggetid!
Byggetid!
Byggetid!
Byggetid!
Byggetid!
Byggetid!
Byggetid!

4x4 tastaturmodul og piezo -summer

Teori

Da 4x4 -tastaturmodulet og piezo -summeren indeholder så mange individuelle pin -input, og jeg beslutter mig for at dele de komponenter, der bruges, i to par. Fokus på tastaturet, normalt brugt som input. SunFounder 4*4 Matrix-tastaturmodulet er et matrix-ikke-kodet tastatur, der består af 16 taster parallelt. Nøglerne i hver række og kolonne er forbundet via benene udenfor- pin Y1-Y4 som mærket ved siden af kontrolrækkerne, når X1- X4, kolonnerne.

Formål

Formålet med disse komponenter til hele projektet er at give brugeren mulighed for at trykke på en knap, der er indstillet til en bestemt lyd, der er skabt af piezo -summeren gennem frekvens i hertz.

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

Sort - GND

Rød - Strøm

Min sværeste opgave i denne build er at finde ud af, hvor hver ledning er tilsluttet. Ovenfor giver jeg dig en hurtig og nem vej til trådlokationerne, så længe det følges fra top til bund, er tip at tage dig god tid og sørge for, at hver stift er sat korrekt i den rigtige slot.

*Tip er at følge, hvor hver ledning er placeret fra den ene ende til den anden.

Alle Tinkercad -skitser af de specifikke komponenttråde er farvekodede korrekt, så følg nøje med

Trin 3: Lydsensormodul og RGB LED

Lydsensormodul og RGB LED
Lydsensormodul og RGB LED
Lydsensormodul og RGB LED
Lydsensormodul og RGB LED
Lydsensormodul og RGB LED
Lydsensormodul og RGB LED

Lydsensormodul og RGB LED

Teori

Lydsensormodulet giver dig mulighed for at registrere, når lyden har overskredet et setpunkt, du vælger. Lyd registreres via en mikrofon og føres ind i en LM393 op -forstærker. Når lydniveauet overstiger setpunktet, lyser en LED på modulet og output.

Formål

Formålet med disse komponenter til hele projektet er at opnå en lyd/volumenaflæsning af lydsensormodulet, og gennem denne aflæsning aktiverer en RGB LED den korrekte farve, der vedrører lyd.

Lydsensormodul - Arduino Pin (Brug 3 -pins jumpertråd)

  • Output - A0 analog pin
  • GND - Enhver åben GND -pin -slot
  • VCC - 3V

RGB Common Anode (+) LED - Arduino Pin

  • Rød - 9
  • Strøm - 5V
  • Grøn - 10
  • Blå - 11

Husk at koble hver enkelt ledning gennem en 330 ohm modstand. Brug billedet ovenfor som reference.

Min sværeste opgave i denne build er at finde ud af, hvor hver ledning er tilsluttet. Ovenfor giver jeg dig en hurtig og nem vej til trådlokationer, så længe det følges fra top til bund, er tip at tage dig god tid og sørge for, at hver pin er sat korrekt i den rigtige slot for at forhindre fremtidig fejlfinding.

*Tip er at følge, hvor hver ledning indsættes begge veje

Alle Tinkercad -skitser af de specifikke komponenttråde er farvekodede korrekt, så følg med

Trin 4: Kode

Kode

Denne kode giver alle komponenter mulighed for at arbejde sammen ved hjælp af nyligt definerede funktion til at indeholde alle de mange betjeningselementer en enkelt komponent, der har mange variable variabler, disse komponenter var RGB -ledede og ved hjælp af rgb -farve til at ændre farven, mens den var tændt, og piezo -summeren og lyd det ville lave afhængigt af tryk på knappen.

Et must have inden for denne kode var tastaturbiblioteket

Link her:

Når den er downloadet, skal du tilføje det nye bibliotek til arduinoen og derefter indsætte den eneste kodelinje, der er nødvendig for at aktivere det.

Vanskeligheder, jeg havde under koden, var, hvor de nyligt definerede funktioner skulle placeres, da jeg ved forsøg og fejl fandt ud af, at det skulle være i opsætningen og ikke i løkken.

Kode

#include // Tastaturbibliotek

int greenPin = 11; // RGB Green Pin tilsluttet digital pin 9

int redPin = 10; // RGB Red Pin tilsluttet digital pin 9

int bluePin = 9; // RGB Blue Pin tilsluttet digital pin 9 int speakerPin = 12; // højttaler tilsluttet digital pin 12 const byte ROWS = 4; // fire rækker const byte COLS = 4; // fire kolonner const int soundPin = A0; // lydsensor fastgøres til A0

char nøgler [ROWS] [COLS] = {

{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // Visualisering af tastaturmodul

byte rowPins [ROWS] = {2, 3, 4, 5}; // opret forbindelse til tastaturets rækkefølge

byte colPins [COLS] = {6, 7, 8, 13}; // opret forbindelse til tastaturets colum pinouts

Tastatur tastatur = Tastatur (makeKeymap (taster), rowPins, colPins, ROWS, COLS); // Opretter nøgler

ugyldig opsætning () {

pinMode (speakerPin, OUTPUT); // indstiller speakerPin til at være en output

pinMode (redPin, OUTPUT); // indstiller den røde pin til at være en output pinMode (greenPin, OUTPUT); // indstiller den grønne pin til at være en output pinMode (bluePin, OUTPUT); // indstiller den blå pin til at være en output

Serial.begin (9600);

} void setColor (int rød, int grøn, int blå) // Ny defineret funktion, der gør det muligt for RGB at vise farve gennem RGB -kode {#ifdef COMMON_ANODE rød = 255 - rød; grøn = 255 - grøn; blå = 255 - blå; #endif analogWrite (redPin, rød); analogWrite (greenPin, grøn); analogWrite (bluePin, blå); }

void bip (unsigned char speakerPin, int frequencyInHertz, long timeInMilliseconds) {// de lydproducerende funktioner

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

void loop () {

char key = tastatur.getKey (); int værdi = analogRead (soundPin); // læs værdien af A0 Serial.println (værdi); // udskriv værdien

hvis (nøgle! = NO_KEY) {

Serial.println (nøgle); } 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); }}

Trin 5: Endelige tanker

Image
Image

Endelige tanker

Endelige tanker om dette projekt er det tilsigtede formål er at være et legetøj, at bringe sjov og forenklet glæde. Da dette projekt er et komplet og arbejder på, tror jeg, at dette byggeri og kan fremmes med måske flere komponenter, såsom et optagelseselement, eller kopi/simon siger element, eller endda LCD med noterne, der ser ud til at afspille en bestemt sang.

Jeg ville elske at vide din mening om tastaturmodulet, hvilke komponenter du troede kunne have været tilføjet. Vil du bruge det i nogen af dine projekter? Send dine ideer i kommentarfeltet herunder.

Sørg for at dele, hvis du nød dette arduino -projekt.

Anbefalede: