INHOUDSOPGAWE:

Hoe om 'n Arduino -kitaarstemmer te maak: 4 stappe
Hoe om 'n Arduino -kitaarstemmer te maak: 4 stappe

Video: Hoe om 'n Arduino -kitaarstemmer te maak: 4 stappe

Video: Hoe om 'n Arduino -kitaarstemmer te maak: 4 stappe
Video: How to use 4 channel Relay to control AC load with Arduino code 2024, November
Anonim
Hoe om 'n Arduino kitaarstemmer te maak
Hoe om 'n Arduino kitaarstemmer te maak

Dit is die instruksies om 'n kitaarstemmer uit 'n Arduino en verskeie ander komponente te maak. Met basiese kennis van elektronika en kodering, kan u hierdie kitaarstemmer maak.

Eerstens moet u weet wat die materiaal is.

Materiaal:

- 1 Arduino (ek het 'n Arduino 1 gebruik)

- 1 LCD -skerm (16x2)

- 1 potensiometer

- 1 Electret mikrofoon

- 1 250 Ohm weerstand

- Verskeie drade

-Soldeerbout

- 1 piezo

Stap 1: Soldeerspelde

Soldeerspelde
Soldeerspelde

Die eerste ding wat u moet doen, is om die penne aan die LCD vas te soldeer, maar u moet seker maak dat hulle op die regte manier gesoldeer is. In die prent hierbo wys dit watter penne waarheen verbind moet word. Die GND -pen moet gekoppel wees aan 'n aansluiting van die potensiometer, soos in die Tinkercad -diagram. (OPMERKING: Dit is baie belangrik dat u die penne aansluit soos aangedui, anders werk die ontvanger nie.)

Stap 2: Verbind alles

Verbind alles
Verbind alles

Nadat u die drade aan die LCD gesoldeer het, is daar verskeie ander drade wat u moet aansluit.

1.) Die eerste ding wat u moet doen, is om die GND en 5V op die Arduino aan die broodbord te koppel sodat dit krag kan hê. Koppel dan die elektret aan die digitale pen 7 en GND.

2.) Koppel dan die piezo aan die broodbord vir GND en koppel dit aan die digitale pen 6.

3.) Nadat u die potensiometer aangegaan het, verbind u aansluiting 1 met 'n positiewe strook op die broodbord en aansluiting 2 met 'n GND -strook op die broodbord, en verbind dan die ruitveër met die kontraspen op die LCD.

Stap 3: Kodering

Kodering
Kodering

As u alles op die regte manier verbind het, moet u die ontvanger programmeer sodat dit werklik sy werk kan doen. Hieronder is die kode

// sluit die biblioteekkode in: #include

// initialiseer die biblioteek met die nommers van die koppelvlakpenne LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

int A = 440;

int B = 494;

int C = 523;

int D = 587;

int E = 659;

int F = 699;

int G = 784;

int hoogA = 880;

int gonser = 8; int functionGenerator = A1;

ongeldige opstelling () {

// stel die aantal kolomme en rye van die LCD op:

lcd.begin (16, 2);

// Druk 'n boodskap op die LCD.

lcd.print ("hallo, wêreld!");

Serial.begin (9600);

// maak alles skoon in die LCD, en stel dan die wyser, die druk

lcd.setCursor (0, 1); }

leemte -lus () {

Serial.println (analogRead (functionGenerator));

vertraging (50);

// stel die wyser in kolom 0, reël 1

// (let wel: reël 1 is die tweede ry, aangesien die telling met 0 begin):

if (analogRead (functionGenerator) == 450) {

lcd.clear ();

lcd.setCursor (8, 1);

toon (gonser, 250);

lcd.print ("A");

vertraging (1000);

} anders as (analogRead (functionGenerator) == 494) {

lcd.clear ();

lcd.setCursor (8, 1);

toon (gonser, 250);

lcd.print ("B");

vertraging (1000);

} anders as (analogRead (functionGenerator) == 523) {

lcd.clear ();

lcd.setCursor (8, 1);

toon (gonser, 250);

lcd.print ("C");

vertraging (1000);

} anders as (analogRead (functionGenerator) == 587) {

lcd.clear ();

lcd.setCursor (8, 1);

toon (gonser, 250);

lcd.print ("D");

vertraging (1000);

} anders as (analogRead (functionGenerator) == 659) {

lcd.clear ();

lcd.setCursor (8, 1);

toon (gonser, 250);

lcd.print ("E");

vertraging (1000);

} anders as (analogRead (functionGenerator) == 699) {

lcd.clear ();

lcd.setCursor (8, 1);

toon (gonser, 250);

lcd.print ("F");

vertraging (1000);

} anders as (analogRead (functionGenerator) == 784) {

lcd.clear ();

lcd.setCursor (8, 1);

toon (gonser, 250);

lcd.print ("G");

vertraging (1000);

} anders as (analogRead (functionGenerator) == 880) {

lcd.clear ();

lcd.setCursor (8, 1);

toon (gonser, 250);

lcd.print ("A");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {

lcd.clear ();

lcd.setCursor (4, 1);

toon (gonser, 250);

lcd.print ("A");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 451 && digitalRead (functionGenerator) <470) {

lcd.clear ();

lcd.setCursor (12, 1);

toon (gonser, 250);

lcd.print ("A");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 471 && digitalRead (functionGenerator) <493) {

lcd.clear ();

lcd.setCursor (4, 1);

toon (gonser, 250);

lcd.print ("B");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {

lcd.clear ();

lcd.setCursor (12, 1);

toon (gonser, 250);

lcd.print ("B");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {

lcd.clear ();

lcd.setCursor (4, 1);

toon (gonser, 250);

lcd.print ("C");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 524 && digitalRead (functionGenerator) <556) {

lcd.clear ();

lcd.setCursor (12, 1);

toon (gonser, 250);

lcd.print ("C");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {

lcd.clear ();

lcd.setCursor (4, 1);

toon (gonser, 250);

lcd.print ("D");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {

lcd.clear ();

lcd.setCursor (12, 1);

toon (gonser, 250);

lcd.print ("D");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {

lcd.clear ();

lcd.setCursor (4, 1);

toon (gonser, 250);

lcd.print ("E");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 660 && digitalRead (functionGenerator) <679) {

lcd.clear ();

lcd.setCursor (12, 1);

toon (gonser, 250);

lcd.print ("E");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 680 && digitalRead (functionGenerator) <698) {

lcd.clear ();

lcd.setCursor (4, 1);

toon (gonser, 250);

lcd.print ("F");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {

lcd.clear ();

lcd.setCursor (12, 1);

toon (gonser, 250);

lcd.print ("F");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 743 && digitalRead (functionGenerator) <783) {

lcd.clear ();

lcd.setCursor (4, 1);

toon (gonser, 250);

lcd.print ("G");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {

lcd.clear ();

lcd.setCursor (12, 1);

toon (gonser, 250);

lcd.print ("G");

vertraging (1000);

} anders as (analogRead (functionGenerator)> 846 && digitalRead (functionGenerator) <879) {

lcd.clear ();

lcd.setCursor (4, 1);

toon (gonser, 250);

lcd.print ("A");

vertraging (1000); }

anders {noTone (gonser); } vertraging (10); }

Stap 4: Koppel dit aan die krag

Koppel dit aan krag
Koppel dit aan krag

Al wat u hoef te doen is om 'n kragbron te vind en dit aan te sluit op die Arduino, een wat u met die tuner kan begin gebruik.

Aanbeveel: