Sommario:

Modulo tastiera Pianoforte con LED RGB: 5 passaggi (con immagini)
Modulo tastiera Pianoforte con LED RGB: 5 passaggi (con immagini)

Video: Modulo tastiera Pianoforte con LED RGB: 5 passaggi (con immagini)

Video: Modulo tastiera Pianoforte con LED RGB: 5 passaggi (con immagini)
Video: Quando provi a fare un complimento a una ragazza... 2024, Luglio
Anonim
Image
Image
Materiale necessario
Materiale necessario

introduzione

Salve signore e signori, benvenuti nel mio primo tutorial! Oggi ti insegnerò come creare un pianoforte con componenti principali come un modulo tastiera e un cicalino piezoelettrico e farlo suonare DO-RE-MI e così via.

Lo scopo più spesso previsto del modulo tastiera è quello di essere una tastiera combinata con un RFID arduino per creare una cassetta di sicurezza per oggetti di valore. In questo caso ho cambiato la tastiera, invece di proteggere qualcosa decido di usare per parlare la semplice gioia e la musica.

Concetto di idea

Il concetto di idea per questa creazione, si evolve da un semplice ricordo felice mentre suonavo lo xilofono quando ero più giovane a lezione di musica. La quantità di gioia ed eccitazione che attraversava il mio corpo era al suo apice, voglio dire che ogni bambino era facilmente soddisfatto e la mia soddisfazione era suonare lo xilofono.

Ricerca

Dopo che la tua idea lampadina sopra si accende, è necessario fare una piccola ricerca. Dopo aver navigato per un po' sul web, mi sono imbattuto nella mia idea a cui inizialmente avevo pensato! Un modulo tastiera trasformato in pianoforte, qualcuno ha creato lo stesso video del progetto qui. Pensando al futuro avevo bisogno di aggiungere un componente separato che migliorasse ulteriormente il progetto ma lo rendesse più coinvolgente e potessi chiamarlo mio.

Passaggio 1: materiali necessari

Materiale necessario
Materiale necessario
Materiale necessario
Materiale necessario
Materiale necessario
Materiale necessario

Elenco dei materiali

  • Cicalino piezo 1x ▶
  • Modulo tastiera 4x4 1x ▶
  • Arduino Uno 1x ▶
  • Cavo USB 2.0 tipo A/B 1x ▶
  • Modulo sensore sonoro 1x ▶
  • LED RGB 1x ▶
  • Resistenza da 330 ohm 3x ▶
  • Cavo jumper maschio-femmina 8x ▶
  • Cavo jumper maschio-maschio 4x ▶
  • Cavo jumper maschio a femmina a 3 pin 1x ▶

L'elenco dei materiali è in ordine con le immagini sopra.

Passaggio 2: tempo di costruzione

Tempo di costruzione!
Tempo di costruzione!
Tempo di costruzione!
Tempo di costruzione!
Tempo di costruzione!
Tempo di costruzione!
Tempo di costruzione!
Tempo di costruzione!

Modulo tastiera 4x4 e cicalino piezo

Teoria

Poiché il modulo tastiera 4x4 e il cicalino piezo contengono così tanti ingressi pin individuali e deciderò di dividere i componenti utilizzati in due coppie. Concentrandosi sulla tastiera, solitamente utilizzata come input. Il modulo tastiera a matrice SunFounder 4*4 è una tastiera a matrice non codificata composta da 16 tasti in parallelo, i tasti di ogni riga e colonna sono collegati tramite i pin esterni - pin Y1-Y4 come etichettato accanto al controllo delle righe, quando X1- X4, le colonne.

Scopo

Scopo di questi componenti per l'intero progetto, è quello di consentire all'utente di premere un pulsante che è impostato su un suono specifico creato dal cicalino piezoelettrico attraverso la frequenza in hertz.

Pin modulo matrice - Pin Arduino

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

Cicalino piezoelettrico - Pin Arduino

Nero - GND

Rosso - Potenza

Il mio compito più difficile in questa build è capire dove è collegato ogni filo. Sopra ti fornisco un modo rapido e semplice per individuare le posizioni dei cavi, a patto che tu segua dall'alto verso il basso, il suggerimento è prendersi il tuo tempo e assicurarsi che ogni pin sia inserito correttamente nello slot giusto.

*Il consiglio è di seguire la posizione di ciascun filo da un'estremità all'altra.

Tutti gli schizzi Tinkercad dei cavi dei componenti specifici sono codificati a colori correttamente, quindi segui attentamente

Passaggio 3: modulo sensore sonoro e LED RGB

Modulo sensore sonoro e LED RGB
Modulo sensore sonoro e LED RGB
Modulo sensore sonoro e LED RGB
Modulo sensore sonoro e LED RGB
Modulo sensore sonoro e LED RGB
Modulo sensore sonoro e LED RGB

Modulo sensore sonoro e LED RGB

Teoria

Il modulo sensore sonoro consente di rilevare quando il suono ha superato un set point selezionato. Il suono viene rilevato tramite un microfono e inviato a un amplificatore operazionale LM393. Quando il livello sonoro supera il set point, si accende un LED sul modulo e l'uscita.

Scopo

Scopo di questi componenti per l'intero progetto, è quello di ottenere una lettura suono/volume del modulo sensore sonoro e attraverso quella lettura un LED RGB attiverà il colore corretto relativo al suono.

Modulo sensore sonoro - Pin Arduino (usare un cavo jumper a 3 pin)

  • Uscita - Pin analogico A0
  • GND - Qualsiasi slot pin GND aperto
  • VCC - 3V

Anodo comune RGB (+) LED - Pin Arduino

  • Rosso - 9
  • Alimentazione - 5V
  • Verde - 10
  • Blu - 11

Tieni presente di cablare, ogni singolo filo attraverso un resistore da 330 ohm. Usa l'immagine sopra come riferimento.

Il mio compito più difficile in questa build è capire dove è collegato ogni filo. Sopra ti fornisco un modo rapido e semplice per raggiungere le posizioni dei cavi, a patto che tu segua dall'alto verso il basso, il consiglio è di prenderti il tuo tempo e assicurarti che ogni pin sia inserito correttamente nello slot giusto per prevenire il debug futuro.

*Il consiglio è di seguire il punto in cui ogni filo è inserito in entrambi i modi

Tutti gli schizzi Tinkercad dei cavi dei componenti specifici sono codificati a colori correttamente, quindi segui

Passaggio 4: codice

Codice

Questo codice consente a tutti i componenti di lavorare insieme utilizzando la funzione appena definita per contenere tutti i molti controlli un singolo componente che ha molte variabili modificabili quei componenti erano il led RGB e usando il colore rgb per cambiare il colore mentre è acceso e il cicalino piezoelettrico e il suono che farebbe a seconda della pressione del pulsante.

Un must all'interno di questo codice era la libreria della tastiera

Link qui:

Una volta scaricato aggiungi la nuova libreria in arduino, quindi inserisci la singola riga di codice necessaria per attivarla.

Le difficoltà che ho avuto durante il codice erano dove posizionare le funzioni appena definite poiché attraverso tentativi ed errori ho capito che doveva essere nella configurazione e non nel ciclo.

Codice

#include // Libreria della tastiera

int greenPin = 11; // Pin verde RGB collegato al pin digitale 9

int pin rosso= 10; //pin rosso RGB collegato al pin digitale 9

int bluePin = 9; //pin blu RGB collegato al pin digitale 9 int speakerPin = 12; // altoparlante connesso al pin digitale 12 const byte ROWS = 4; // quattro righe const byte COLS = 4; // quattro colonne const int soundPin = A0; //sensore sonoro collegato a A0

char keys[RIGHE][COLS] = {

{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l'}, {'m', 'n', 'o', 'p'} }; // Visualizzazione modulo tastiera

byte rowPins[RIGHE] = {2, 3, 4, 5}; //connettersi ai pinout di riga della tastiera

byte colPins[COLS] = {6, 7, 8, 13}; //connettiti ai piedini della colonna della tastiera

Tastiera tastiera = Tastiera (makeKeymap(keys), rowPins, colPins, ROWS, COLS); // Crea chiavi

void setup(){

pinMode(SpeakerPin, OUTPUT); // imposta lo speakerPin come output

pinMode(redPin, OUTPUT); // imposta il pin rosso come pinMode di output (greenPin, OUTPUT); // imposta il pin verde come pinMode di output (bluePin, OUTPUT); // imposta il pin blu come output

Inizio seriale (9600);

} void setColor(int red, int green, int blue) // Nuova funzione definita per consentire a RGB di visualizzare il colore tramite il codice RGB { #ifdef COMMON_ANODE red = 255 - red; verde = 255 - verde; blu = 255 - blu; #endif analogWrite(redPin, rosso); analogWrite(greenPin, verde); analogWrite(bluePin, blu); }

void beep (unsigned char speakerPin, int frequencyInHertz, long timeInMilliseconds){ // le funzioni di produzione del suono

intero x; long delayAmount = (long)(1000000/frequencyInHertz); long loopTime = (long)((timeInMilliseconds*1000)/(delayAmount*2)); per (x=0;x

ciclo vuoto (){

char chiave = tastiera.getKey(); int value = analogRead(soundPin);//legge il valore di A0 Serial.println(value);//stampa il valore

if (chiave != NO_KEY) {

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

Passaggio 5: considerazioni finali

Image
Image

Pensieri finali

L'ultimo pensiero di questo progetto è che il suo scopo è quello di essere un giocattolo, portare gioia divertente e semplicistica. Dato che questo progetto è completo e in lavorazione, credo che questa build possa essere ulteriormente migliorata con forse più componenti come un elemento di registrazione, o un elemento copy/simon dice, o anche un LCD con le note che sembrano suonare una canzone specifica.

Mi piacerebbe conoscere la tua opinione sul modulo tastiera, quali componenti pensavi potessero essere aggiunti. Lo utilizzerai in qualche tuo progetto? Per favore pubblica le tue idee nella sezione commenti qui sotto.

Assicurati di condividere se ti è piaciuto questo progetto Arduino.

Consigliato: