Talaan ng mga Nilalaman:

Arduino Music Player: 5 Hakbang
Arduino Music Player: 5 Hakbang

Video: Arduino Music Player: 5 Hakbang

Video: Arduino Music Player: 5 Hakbang
Video: Arduino Drum Sequencer: 8 tracks, 16 steps per measure, 8 measures per pattern 2024, Nobyembre
Anonim
Image
Image

Kumusta po kayo sa lahat.

Kahapon, nag-surf ako sa Internet at naghahanap ng mga proyekto na magagawa ko sa Arduino. Nakita ko ang babaeng ito na gumagawa ng isang elektronikong piano keyboard na may mga kanta dito. Mayroon akong LCD Keypad Shield na nakahiga kaya naisip ko na makakagawa ako ng isang music player kung saan mayroong isang maliit na menu na may mga kanta at mapipili ito ng gumagamit.

Maaari mong makita ang pangwakas na bersyon ng aking proyekto sa itaas.

Hakbang 1: Ano ang Kakailanganin Mo

Ano ang Kakailanganin Mo
Ano ang Kakailanganin Mo
Ano ang Kakailanganin Mo
Ano ang Kakailanganin Mo

Para sa proyektong ito kailangan mo;

  • Arduino Uno
  • Breadboard
  • LCD Keypad Shield
  • Buzzer
  • 330 ohm risistor
  • Mga jumper

Hakbang 2: Ano ang Dapat Mong Malaman

Anong kailangan mong malaman
Anong kailangan mong malaman

Kailangan mong malaman nang kaunti tungkol sa istraktura ng LCD Keypad Shield. Inilagay ko ang pinout nito upang makita mo kung ano ano.

Tulad ng makikita mo sa code; Ang pin number 4, 5, 6, 7, 8 at 9 ay ginagamit ng LCD. Ang Pin 10 ay para sa pagkontrol sa backlight ng LCD ngunit hindi mo ito kakailanganin. Sa circuit, ang mga pindutan ay konektado sa A0 pin.

Iiwan kami ng mga digital na pin na 0, 1, 2, 3, 11, 12, 13 at mga analog na pin na A1, A2, A3, A4, A5 libre.

Gayundin kailangan mong malaman ang mga halagang analog sa bawat pindutan upang makilala mo ang mga ito. Nabasa ko ang halagang A0 at inilimbag ito sa serial monitor upang malaman. Narito ang isang sample na code:

int btn_value = 0;

void setup () {Serial.begin (9600); } void loop () {btn_value = analogRead (A0); Serial.println (btn_value); }

Narito ang mga halagang nahanap ko para sa aking kalasag:

  • Kanang Button - 0
  • Pataas na Button - 131
  • Pababang Button - 306
  • Kaliwang Button - 481
  • Piliin ang Button - 722
  • Walang Button - 1023

Hakbang 3: Disenyo ng Circuit

Disenyo ng Circuit
Disenyo ng Circuit
Disenyo ng Circuit
Disenyo ng Circuit

Ang circuit ay medyo simple.

  • Ilagay ang iyong buzzer sa isang lugar sa breadboard.
  • Ikonekta ang isang bahagi ng 330 ohm risistor sa negatibong pin ng buzzer at ang kabilang panig sa ground pin ng Arduino.
  • Ikonekta ang positibong pin ng buzzer sa pin2 sa Arduino.

Tapos ka na! Ngayon ay makarating tayo sa coding.

Hakbang 4: Code

Habang binubuksan mo ang file ng archive, makikita mo ang mga sumusunod na file; lcd_keypad_songs, fur_elise, james_bond, jingle_bells, mario_bros_theme, mario_bros_underworld, merry_christmas, pitches.h

  • Ang lcd_keypad_songs ay ang pangunahing file kung saan nakasulat ang menu at ang mga kahulugan. Puno ito ng mga komento upang masuri mo at maunawaan ang code.
  • pitches.h kasama ang kahulugan ng mga tala ng musika.
  • Ang natitirang mga file ay may kasamang mga pagpapaandar ng mga kanta. Maaari kang dumaan sa kanila at subukang unawain. Hindi ko sinulat ang mga code para sa mga kanta, nahanap ko ang mga ito sa pamamagitan ng paghahanap. Kaya maaari mo ring makita o sumulat ng iyong sariling mga kanta at idagdag ito sa menu.

Kailangan mong ilagay ang mga ito sa ilalim ng parehong folder. Pagkatapos ay kailangan mong buksan ang lcd_keypad_songs file gamit ang Arduino IDE at i-upload ang code.

Tandaan: ang james_bond song ay wala sa menu (ito ay nagkomento). Ito ay dahil ang Arduino ay may limitadong espasyo at ang mga awiting ito ay tumatagal ng maraming memorya. Maaari mong palaging i-komentment ito at magkomento ng isa pang kanta upang pakinggan. Kailangan mo ring baguhin ang mga order sa menu.

Hakbang 5: Tapos Na

Tapos na!
Tapos na!

Binabati kita

Ginawa mo ito. Kung mayroon kang anumang mga katanungan o problema, huwag mag-atubiling magbigay ng puna o mensahe sa akin. Gusto kong tumulong.

Maligayang Paggawa!

Inirerekumendang: