Indholdsfortegnelse:
- Trin 1: Trin 1: Opbygning af kredsløbet
- Trin 2: Trin 2: Kode og forklaring
- Trin 3: Trin 3: Videodemonstration
Video: Arduino klaver med trykknapper: 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Skabt af: Haotian Ye
Oversigt
Dette er et klaverbræt med otte trykknapkontakter, der giver dig mulighed for at spille en oktav (Do Re Mi Fa So La Si Do), og med denne ene oktav kan du prøve at afspille nogle sange, du kan lide. Til dette projekt er der en vigtig viden, du skal vide, før du starter.
Først skal vi kende frekvenserne af et klavers grundtoner.
Frekvenserne er angivet herunder:
Gør - 261Hz
Gen - 294Hz
Mi - 329Hz
Fa - 349Hz
Altså - 392Hz
La - 440Hz
Si - 493Hz
Gør - 523Hz
For det andet vil jeg vise dig, hvordan du opbygger kredsløbet ved at bruge de dele, der kan købes fra Lees elektroniske butik. Endelig , vil jeg præsentere og forklare koden, der skal uploades på Arduino -kortet.
Dele du skal bruge:
Arduino Uno R3 (produkt -id: 10997)
USB A til B -kabel M/M (produkt -id: 29861)
10K modstand * 8 (produkt -id: 91516)
Forskellige farver på tack -switch * 8 (produkt -id: 3124, 31242, 31243, 31245, 31246)
Minihøjttaler (produkt -id: 41680)
Breadboard (produkt -id: 106861)
Jumper Wires (Produkt -ID: 21801)
Trin 1: Trin 1: Opbygning af kredsløbet
Først skal du indsætte alle trykknapkontakter og minihøjttalere på brødbrættet en efter en og matche dem på en række. Tilslut derefter stifterne på hver trykknapkontakt til jorden. Forbind derefter 10k modstande mellem positiv effekt og de andre ben på hver trykknapkontakt. Og tilslut denne kolonne til benene 2-9 på Arduino Board. Tilslut også jorden til jordstiften og positiv strøm til 3,3v pin på Arduino. Tilslut til sidst minihøjttaleren til pin 10 på Arduino.
Trin 2: Trin 2: Kode og forklaring
Koden herunder er, hvad jeg skrev
const int sort = 2;
const int hvid = 3;
const int rød = 4;
const int grøn = 5;
const int blå = 6;
const int black2 = 7;
const int green2 = 8;
const int red2 = 9;
const int speaker = 10; // Link alle trykknapkontakter og højttalere med arduinos signalstifter
int frekvens = {262, 294, 330, 349, 392, 440, 493, 523}; // array indeholder alle frekvenser af en oktav
ugyldig opsætning () {
// sæt din opsætningskode her for at køre en gang:
pinMode (sort, INPUT);
pinMode (hvid, INPUT);
pinMode (rød, INPUT);
pinMode (grøn, INPUT);
pinMode (blå, INPUT);
pinMode (black2, INPUT);
pinMode (green2, INPUT);
pinMode (red2, INPUT);
pinMode (højttaler, OUTPUT);
tone (højttaler, 2000);
Serial.begin (9600);
}
void loop () {
// sæt din hovedkode her for at køre gentagne gange:
hvis (digitalRead (sort) == LAV) // når du trykker på knappen "DO"
{tone (højttaler, frekvens [0], 50);
forsinkelse (50);
noTone (højttaler);}
ellers hvis (digitalRead (hvid) == LAV) // når du trykker på knappen "RE"
{tone (højttaler, frekvens [1], 50);
forsinkelse (50);
noTone (højttaler);}
ellers hvis (digitalRead (rød) == LAV) // når du trykker på knappen "MI"
{tone (højttaler, frekvens [2], 50);
forsinkelse (50);
noTone (højttaler);}
ellers hvis (digitalRead (grøn) == LAV) // når du trykker på knappen "FA"
{tone (højttaler, frekvens [3], 50);
forsinkelse (50);
noTone (højttaler);}
ellers hvis (digitalRead (blå) == LAV) // når du trykker på knappen "SO"
{tone (højttaler, frekvens [4], 50);
forsinkelse (50);
noTone (højttaler);}
ellers hvis (digitalRead (black2) == LOW) // når du trykker på knappen "LA"
{tone (højttaler, frekvens [5], 50);
forsinkelse (50);
noTone (højttaler);}
ellers hvis (digitalRead (green2) == LOW) // når du trykker på knappen "SI"
{tone (højttaler, frekvens [6], 50);
forsinkelse (50);
noTone (højttaler);}
ellers hvis (digitalRead (red2) == LOW) // når du trykker på knappen "DO"
{tone (højttaler, frekvens [7], 50);
forsinkelse (50);
noTone (højttaler);}
ellers // når du ikke trykker på noget
noTone (højttaler);
}
Først skal vi erklære alle trykknapkontakter og højttalere som stiften fra 2 til 10 på Arduino. Hver switch repræsenterer én note. Brug derefter et array til at sætte alle frekvenserne inde. Dernæst er If and else -erklæring det, jeg bruger til at lade Arduino vide, hvilken trykknapkontakt jeg trykker på.
Tilslut endelig dit Arduino -kort til din computer eller bærbare med usb A til B -kabel. Inden du uploader din kode, skal du stadig downloade Arduino -software og foretage nogle standardindstillinger. Vælg Værktøjer -> Board -> Arduino/Genuino Uno; Derefter skal vi vælge kommunikationsporten, der er forbundet til Arduino -kortet. Vælg Værktøjer -> Port, derefter det portnavn, der er mærket "(Arduino/Genuino Uno)." Derefter kan du uploade koden til Arduino board.
Anbefalede:
Sådan bruges 28BYJ-48 Stepmotor med 3 trykknapper: 5 trin
Sådan bruges 28BYJ-48 Stepmotor med 3 trykknapper: Vil du styre din trinmotor ved hjælp af trykknapper? Det kan gøre med uret, mod uret og derefter stoppe funktionen? Så er denne video noget for dig
SSR -låsekredsløb med trykknapper: 6 trin (med billeder)
SSR -låsekredsløb med trykknapper: Jeg planlægger at tilføje nogle elværktøjer til undersiden af mit arbejdsbord, så jeg f.eks. Kan lave en bordrouter. Værktøjerne monteres fra undersiden på en slags aftagelig plade, så de kan udskiftes. Hvis du er interesseret i at se h
4CH relækort styret med trykknapper: 4 trin
4CH Relay-board styret med trykknapper: Mit mål er at opgradere min Anet A8 3D-printer ved at tilføje en strømforsyningskontrol via Octoprint-grænsefladen. Ikke desto mindre vil jeg også være i stand til at starte " manuelt " min 3D-printer, hvilket betyder, at jeg ikke bruger webgrænsefladen, men bare trykker på en knap
Lysstyrkekontrol PWM -baseret LED -kontrol ved hjælp af trykknapper, Raspberry Pi og Scratch: 8 trin (med billeder)
Lysstyrkekontrol PWM -baseret LED -kontrol ved hjælp af trykknapper, Raspberry Pi og Scratch: Jeg forsøgte at finde en måde at forklare, hvordan PWM fungerede for mine elever, så jeg satte mig til opgave at forsøge at kontrollere lysstyrken på en LED ved hjælp af 2 trykknapper - den ene knap øger lysstyrken på en LED, og den anden dæmper den. Til progra
Ultralyds Pi -klaver med gestus -kontrol !: 10 trin (med billeder)
Ultrasonic Pi Piano With Gesture Controls !: Dette projekt bruger billige HC-SR04 ultralydssensorer som input og genererer MIDI-noter, der kan afspilles gennem en synthesizer på Raspberry Pi for en lyd af høj kvalitet. Projektet bruger også en grundlæggende form for gestusstyring , hvor musikken