Talaan ng mga Nilalaman:

Paano Gumawa ng isang Arduino Guitar Tuner: 4 na Hakbang
Paano Gumawa ng isang Arduino Guitar Tuner: 4 na Hakbang

Video: Paano Gumawa ng isang Arduino Guitar Tuner: 4 na Hakbang

Video: Paano Gumawa ng isang Arduino Guitar Tuner: 4 na Hakbang
Video: Paano Gumawa ng isang buong DiY Power Amplifier | Low Budget Amp Pero malakas 2024, Nobyembre
Anonim
Paano Gumawa ng isang Arduino Guitar Tuner
Paano Gumawa ng isang Arduino Guitar Tuner

Ito ang mga tagubilin upang gumawa ng isang tuner ng gitara mula sa isang Arduino at maraming iba pang mga bahagi. Sa pangunahing kaalaman sa electronics at coding magagawa mong gawin ang tuner ng gitara na ito.

Una sa mga bagay muna dapat mong malaman kung ano ang mga materyales.

Mga Materyales:

- 1 Arduino (Gumamit ako ng Arduino 1)

- 1 LCD Display (16x2)

- 1 Potensyomiter

- 1 Electret Microphone

- 1 250 Ohm Resistor

- Maraming mga Wires

-Panghinang

- 1 Piezo

Hakbang 1: Mga Soldering Pins

Mga Pater ng Panghinang
Mga Pater ng Panghinang

Ang unang bagay na kailangan mong gawin ay maghinang ng mga pin sa LCD, subalit kailangan mong tiyakin na ang mga ito ay na-solder sa tamang paraan. Sa imahe sa itaas, ipinapakita nito kung aling mga pin ang dapat na konektado kung saan. Ang pin ng GND ay dapat na konektado sa isang terminal ng potensyomiter tulad ng diagram ng Tinkercad. (TANDAAN: Napakahalaga na ikonekta mo ang mga pin sa paraang itinuro, kung hindi man ay hindi gagana ang tuner.)

Hakbang 2: Pagkonekta sa Lahat

Kumokonekta sa Lahat
Kumokonekta sa Lahat

Matapos ang paghihinang ng mga wire sa LCD mayroong maraming iba pang mga wires na kailangan mong ikonekta.

1.) Ang unang bagay na kailangan mong gawin ay ikonekta ang GND at 5V sa Arduino sa breadboard na pinapayagan itong magkaroon ng lakas. Pagkatapos ay ikonekta ang electret sa digital pin 7 at GND.

2.) Pagkatapos ay ikonekta ang piezo sa breadboard para sa GND at ikonekta ito sa digital pin 6.

3.) Pagkatapos nito mapunta ang potensyomiter, ikonekta mo ang terminal 1 sa isang positibong strip sa breadboard at terminal 2 sa isang GND strip sa breadboard, pagkatapos ay ikonekta mo ang wiper sa kaibahan na pin sa LCD.

Hakbang 3: Pag-coding

Coding
Coding

Kapag nakakonekta mo na ang lahat sa tamang paraan, kailangan mong i-program ang tuner upang aktwal na gawin nito ang trabaho. Nasa ibaba ang code

// isama ang code ng library: # isama

// ipasimula ang silid-aklatan gamit ang mga numero ng mga interface ng interface 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 mataasA = 880;

int buzzer = 8; int functionGenerator = A1;

walang bisa ang pag-setup () {

// i-set up ang bilang ng mga haligi at hilera ng LCD:

lcd.begin (16, 2);

// I-print ang isang mensahe sa LCD.

lcd.print ("hello, mundo!");

Serial.begin (9600);

// limasin ang lahat sa LCD, pagkatapos itakda ang cursor, ang printt

lcd.setCursor (0, 1); }

void loop () {

Serial.println (analogRead (functionGenerator));

antala (50);

// itakda ang cursor sa haligi 0, linya 1

// (tala: ang linya 1 ay ang pangalawang hilera, dahil ang pagbibilang ay nagsisimula sa 0):

kung (analogRead (functionGenerator) == 450) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (buzzer, 250);

lcd.print ("A");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator) == 494) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (buzzer, 250);

lcd.print ("B");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator) == 523) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (buzzer, 250);

lcd.print ("C");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator) == 587) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (buzzer, 250);

lcd.print ("D");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator) == 659) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (buzzer, 250);

lcd.print ("E");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator) == 699) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (buzzer, 250);

lcd.print ("F");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator) == 784) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (buzzer, 250);

lcd.print ("G");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator) == 880) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (buzzer, 250);

lcd.print ("A");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (buzzer, 250);

lcd.print ("A");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 451 && digitalRead (functionGenerator) <470) {

lcd.clear ();

lcd.setCursor (12, 1);

tono (buzzer, 250);

lcd.print ("A");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 471 && digitalRead (functionGenerator) <493) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (buzzer, 250);

lcd.print ("B");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {

lcd.clear ();

lcd.setCursor (12, 1);

tono (buzzer, 250);

lcd.print ("B");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (buzzer, 250);

lcd.print ("C");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 524 && digitalRead (functionGenerator) <556) {

lcd.clear ();

lcd.setCursor (12, 1);

tono (buzzer, 250);

lcd.print ("C");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (buzzer, 250);

lcd.print ("D");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {

lcd.clear ();

lcd.setCursor (12, 1);

tono (buzzer, 250);

lcd.print ("D");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (buzzer, 250);

lcd.print ("E");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 660 && digitalRead (functionGenerator) <679) {

lcd.clear ();

lcd.setCursor (12, 1);

tono (buzzer, 250);

lcd.print ("E");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 680 && digitalRead (functionGenerator) <698) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (buzzer, 250);

lcd.print ("F");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {

lcd.clear ();

lcd.setCursor (12, 1);

tono (buzzer, 250);

lcd.print ("F");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 743 && digitalRead (functionGenerator) <783) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (buzzer, 250);

lcd.print ("G");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {

lcd.clear ();

lcd.setCursor (12, 1);

tono (buzzer, 250);

lcd.print ("G");

pagkaantala (1000);

} iba pa kung (analogRead (functionGenerator)> 846 && digitalRead (functionGenerator) <879) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (buzzer, 250);

lcd.print ("A");

pagkaantala (1000); }

iba pa {noTone (buzzer); } pagkaantala (10); }

Hakbang 4: Pagkonekta Ito sa Lakas

Pagkonekta Ito sa Lakas
Pagkonekta Ito sa Lakas

Para sa huling hakbang na kailangan mo lang gawin ay makahanap ng isang mapagkukunan ng kuryente at ikonekta ito sa Arduino, isang mayroon ka na maaari mong simulang gamitin ang tuner.

Inirerekumendang: