INHOUDSOPGAWE:

Arduino -klavier met drukknopskakelaars: 3 stappe
Arduino -klavier met drukknopskakelaars: 3 stappe

Video: Arduino -klavier met drukknopskakelaars: 3 stappe

Video: Arduino -klavier met drukknopskakelaars: 3 stappe
Video: 🇳🇱 LED AAN/UIT MET DRUKKNOP - Arduino les #5 2024, Julie
Anonim
Arduino -klavier met drukknopskakelaars
Arduino -klavier met drukknopskakelaars
Arduino -klavier met drukknopskakelaars
Arduino -klavier met drukknopskakelaars

Geskep deur: Haotian Ye

Oorsig

Dit is 'n klavierbord met agt drukknopskakelaars waarmee u een oktaaf (Do Re Mi Fa So La Si Do) kan speel, en met hierdie een oktaaf kan u 'n paar liedjies probeer speel waarvan u hou. Vir hierdie projek is daar 'n paar belangrike kennis wat u moet weet voordat u begin.

Eerstens moet ons die frekwensies van basnote van 'n klavier ken.

Die frekwensies word hieronder gelys:

Doen - 261Hz

Herhaling - 294 Hz

Mi - 329Hz

Fa - 349Hz

Dus - 392Hz

La - 440Hz

Si - 493Hz

Doen - 523Hz

Tweedens sal ek u wys hoe u die kring kan bou deur die onderdele te gebruik wat u by Lee's Electronic Store kan koop. Uiteindelik , sal ek die kode wat op die Arduino -bord opgelaai moet word, aanbied en verduidelik.

Onderdele wat u benodig:

Arduino Uno R3 (produk -ID: 10997)

USB A tot B -kabel M/M (produk -ID: 29861)

10K weerstand * 8 (produk -ID: 91516)

Verskillende kleure van klepskakelaar * 8 (produk -ID: 3124, 31242, 31243, 31245, 31246)

Mini luidspreker (produk -ID: 41680)

Broodbord (produk -ID: 106861)

Jumper Wires (Produk ID: 21801)

Stap 1: Stap 1: Bou die kring

Stap 1: Bou die kring
Stap 1: Bou die kring
Stap 1: Bou die kring
Stap 1: Bou die kring
Stap 1: Bou die kring
Stap 1: Bou die kring
Stap 1: Bou die kring
Stap 1: Bou die kring

Plaas eers al die drukknopskakelaars en mini -luidspreker een vir een op die broodbord en pas dit op een ry. Koppel dan die penne van elke drukknopskakelaar aan die grond. Koppel tweedens 10k weerstande tussen positiewe krag en die ander penne van elke drukknopskakelaar. Koppel hierdie kolom aan penne 2-9 op Arduino Board. Koppel ook die grond aan die grondpen en die positiewe krag op die 3.3v -pen op Arduino. Koppel laastens die mini -luidspreker aan die pen 10 op Arduino.

Stap 2: Stap 2: Kode en verduideliking

Die onderstaande kode is wat ek geskryf het

const int swart = 2;

const int wit = 3;

const int rooi = 4;

const int groen = 5;

const int blou = 6;

const int black2 = 7;

const int green2 = 8;

const int red2 = 9;

const int speaker = 10; // Koppel alle drukknopskakelaars en luidsprekers met die seinpenne van arduino

int frekwensie = {262, 294, 330, 349, 392, 440, 493, 523}; // skikking bevat alle frekwensies van een oktaaf

ongeldige opstelling () {

// plaas u opstellingskode hier om een keer te werk:

pinMode (swart, INVOER);

pinMode (wit, INVOER);

pinMode (rooi, INVOER);

pinMode (groen, INVOER);

pinMode (blou, INVOER);

pinMode (black2, INPUT);

pinMode (groen2, INVOER);

pinMode (rooi2, INVOER);

pinMode (luidspreker, UITGANG);

toon (spreker, 2000);

Serial.begin (9600);

}

leemte -lus () {

// plaas u hoofkode hier om herhaaldelik te werk:

if (digitalRead (black) == LOW) // as u op die "DO" drukknopskakelaar druk

{toon (luidspreker, frekwensie [0], 50);

vertraging (50);

noTone (spreker);}

anders as (digitalRead (white) == LOW) // as u op die "RE" drukknoppie skakelaar druk

{toon (luidspreker, frekwensie [1], 50);

vertraging (50);

noTone (spreker);}

anders as (digitalRead (rooi) == LOW) // as u op die "MI" drukknopskakelaar druk

{toon (spreker, frekwensie [2], 50);

vertraging (50);

noTone (spreker);}

anders as (digitalRead (groen) == LOW) // as u op die drukknoppie "FA" druk

{toon (luidspreker, frekwensie [3], 50);

vertraging (50);

noTone (spreker);}

anders as (digitalRead (blou) == LOW) // as u op die "SO" drukknoppie skakelaar druk

{toon (luidspreker, frekwensie [4], 50);

vertraging (50);

noTone (spreker);}

anders as (digitalRead (black2) == LOW) // as u op die drukknoppie "LA" druk

{toon (luidspreker, frekwensie [5], 50);

vertraging (50);

noTone (spreker);}

anders as (digitalRead (green2) == LOW) // as u op die "SI" drukknoppie skakelaar druk

{toon (spreker, frekwensie [6], 50);

vertraging (50);

noTone (spreker);}

anders as (digitalRead (red2) == LOW) // as u op die "DO" drukknoppie skakelaar druk

{toon (luidspreker, frekwensie [7], 50);

vertraging (50);

noTone (spreker);}

anders // as u niks druk nie

noTone (spreker);

}

Eerstens moet ons alle drukknopskakelaars en luidsprekers as die pen van 2 tot 10 op Arduino verklaar. Elke skakelaar verteenwoordig 'n noot. Gebruik dan een skikking om al die frekwensies binne te plaas. Vervolgens is die verklaring If and else wat ek gebruik om Arduino te laat weet watter drukknopskakelaar ek druk.

Koppel laastens u Arduino -kaart met u rekenaar of skootrekenaar met 'n usb A tot B -kabel. Voordat u u kode oplaai, moet u steeds die Arduino -sagteware aflaai en 'n standaardinstelling doen. Kies Tools -> Board -> Arduino/Genuino Uno; Dan moet ons die kommunikasiepoort kies wat gekoppel is aan die Arduino -bord. Kies Gereedskap -> Poort, en dan is die poortnaam ook gemerk "(Arduino/Genuino Uno)." Dan kan u die kode na die Arduino -bord laai.

Aanbeveel: