Orodha ya maudhui:
- Hatua ya 1: Piezo Buzzer
- Hatua ya 2: Vifungo vya kushinikiza
- Hatua ya 3: Potentiometer
- Hatua ya 4: Kanuni
Video: Arduino - Piezo Piano Button Piano: 4 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
Piano ya vitufe vitatu ni mradi wa Kompyuta na uzoefu fulani wa kutumia Arduino.
Nilifagiliwa bila kujua kujaribu kuunda hii wakati nikicheza karibu na buzzer ya piezo kwa mara ya kwanza. Ilikuwa kubwa sana! Katika kujaribu kujua njia anuwai za kufanya buzzer iwe kimya na kujaribu masafa tofauti kwa kutumia toni () na noTone () kazi, niligundua kuwa inaweza kufurahisha kujaribu kuchanganya buzzer ya piezo pamoja na vitu vyangu vingine vya kupenda vya Arduino yangu kit: vifungo na potentiometer.
Vifaa vinavyohitajika ni pamoja na:
- 1 Arduino
- 1 Bodi ya mkate
- Cable 1 ya USB
- Waya za jumper (rangi anuwai)
- 1 330 Kizuizi cha Kilo-ohm
- 1 Piezo Buzzer
- 3 Bonyeza Vifungo
- 1 Potentiometer
Hatua ya 1: Piezo Buzzer
Kuanza, weka piezo kwenye ubao wa mkate wa Arduino. Upande wake (upande mfupi wa mguu) unahitaji kukimbia chini. Upande wa pili (upande wa mguu mrefu) unahitaji kuungana na pini ya kuingiza dijiti. Nilichagua kuiunganisha na 8.
Hatua ya 2: Vifungo vya kushinikiza
Ifuatayo, ni wakati wa kuanzisha vifungo vya kushinikiza. Kama piezo, vifungo vya kushinikiza vinahitaji kuungana na ardhi na pini ya kuingiza dijiti.
Hatua ya 3: Potentiometer
Hatua ya mwisho katika ujenzi wa mwili ni potentiometer. Potentiometers huja katika aina tofauti tofauti. Tutatumia potentiometer kama mgawanyiko wa voltage, kwa hivyo miguu yake yote mitatu inahitaji kuunganishwa.
Mguu wa kulia: Baa Mbaya (Chini)
Mguu wa Kati: Analog Pin 0
Mguu wa kushoto: Baa nzuri
Hatua ya 4: Kanuni
Wakati ninaandika nambari ya mradi huu, nilitaja habari juu ya aina kadhaa za kazi:
sauti ()
noTone () (sikuishia kutumia hii. Niliweka masafa kuwa "0" badala yake.)
ramani ()
Rejea nyingine nzuri kwa watumiaji wa mara ya kwanza wa Piezo Buzzers inaweza kupatikana hapa. Ingawa wazo la kubadilisha sauti ya buzzer ya piezo linaonekana kuwa rahisi, inaweza kuwa ngumu sana mwanzoni!
Kazi ya toni () inaweza kugawanywa katika sehemu tatu:
- Pini (pini ambayo buzzer ya piezo imeunganishwa nayo)
- Mzunguko (mzunguko wa sauti katika hertz)
- Muda (muda wa sauti iliyotolewa kwa milliseconds)
Kimsingi, inaonekana kama hii: toni (pini, masafa, muda). Sehemu ya tatu (muda) ni ya hiari, wakati zingine mbili ni muhimu ili buzzer ifanye kazi. Sehemu ya "masafa" ya utendaji wa toni ndio inaweza kufikiriwa kama "sauti" ambayo inazalishwa na buzzer.
Pia utagundua kuwa nambari hiyo ina alama zingine mbili za nambari. Kuna taarifa zingine ikiwa / nyingine zimewekwa ili kuwaambia Arduino nini cha kufanya ikiwa vifungo tofauti vimebanwa na vile vile kuiweka na "frequency = 0" katika hali wakati hakuna vifungo vyote vinashinikizwa. Ndani ya taarifa za if / else, kazi za ramani () hutumiwa kuweka ramani ya kiwango cha potentiometer kwenye seti ya masafa. Hizi zinaweza kubadilishwa! Cheza karibu na maadili tofauti ya masafa ili uone ni sauti gani tofauti unazoweza kupata kutoka kwa piezo.
Angalia nambari ambayo nilikuwa nikitengeneza piano ya vitufe vitatu hapa au angalia hapa chini.
int piezoPin = 8; // Weka pini iliyounganishwa na Piezo.
sensor ya ndaniPin = 0; // Weka pini iliyounganishwa na sensa (potentiometer). sensor ya ndaniValue = 0;
kitufe cha int = 1 = 5; // Weka pini za kuingiza zilizounganishwa na vifungo.
kitufe2 = 4; kitufe3 = 3;
mzunguko wa int = 0;
const int delayTime = 500; // Weka kila wakati kwa kutofautisha kwa wakati wa kuchelewesha kwenye kazi ya toni ().
usanidi batili () {
pinMode (kifungo1, INPUT_PULLUP); pinMode (kifungo2, INPUT_PULLUP); pinMode (kifungo3, INPUT_PULLUP); }
kitanzi batili () {
sensorValue = AnalogRead (sensorPin); // Soma sensorer. // Ramani maadili tofauti ya potentiometer kwa seti ya masafa kwa kila vifungo vitatu. ikiwa (digitalRead (button1) == LOW) {frequency = ramani (sensorValue, 0, 1023, 400, 499); } kingine ikiwa (digitalRead (button2) == LOW) {frequency = ramani (sensorValue, 0, 1023, 500, 599); } kingine ikiwa (digitalRead (button3) == LOW) {frequency = ramani (sensorValue, 0, 1023, 600, 699); } mwingine {frequency = 0; } toni (piezoPin, frequency, delayTime); // Sanidi kazi ya toni () na anuwai. }
Ilipendekeza:
Button Hero - Sumedh & Jeanelle (roboti): Hatua 5
Kitufe cha Button - Sumedh & Jeanelle (roboti): Karibu kwa anayefundishwa kwa shujaa wa mchezo wa Kitufe! Mchezo huu ni toleo linaloweza kushushwa la Guitar Hero ya mchezo. Katika hii inaweza kufundishwa sisi (mwenzangu na mimi) tutashirikiana nanyi jinsi tumeunda mradi huu kwenye ubao wa mkate na kwa kuuza
Whack Multiplayer Button: 4 Hatua
Whack Multiplayer Button: Mchezo kama Whack-a-Mole. Kutumia LEDs na vifungo. Kuna njia 2: -Single player-Multiplayerin single player mode, kuna ngazi 3: LEVEL_1: 1 diode kwa sekunde 1LEVEL_2: diode 2 za Sekunde 1LEVEL_3: diode 2 kwa sekunde 0.7Na kwa kuzidisha
Kitufe cha 2-Button Quadratic Solver: 5 Hatua
2-Button Quadratic Equver Solver: Utangulizi karibu kwa mwalimu wangu wa kwanza! Nilianza mradi huu kupanua ujuzi wangu wa programu. Mara nyingi, wewe tu unganisha msimbo tofauti wa chanzo ili kuunda programu unayohitaji. Lengo langu lilikuwa kuandika nambari yangu ya mpango kwa kuingiliana na zana.
Piano ya Kugusa Piano: Hatua 6 (na Picha)
Piano ya Kugusa Piano: piano kwa mfuko wako? Hakika! Kutumia uhamishaji wa toner ya printa, suluhisho la kuchoma shaba, na Teensy 3.2 tunatengeneza kidhibiti kidogo cha MIDI ambacho hujibu kwa kugusa tu kwa kidole.Utahitaji vifaa: 100mm X 70mm shaba PCB Vijana 3.2 Feri
Katika Amri za Moduli ya Bluetooth (HC-05 W / EN Pin na BUTTON) Kutumia Bodi ya Arduino !: Hatua 5
Katika Amri za Moduli ya Bluetooth (HC-05 W / EN Pin na BUTTON) Kutumia Bodi ya Arduino !: Na Jay Amiel AjocGensan PHHii inayoweza kufundishwa itakusaidia kuanza kutumia moduli yako ya Bluetooth ya HC05. kuhusu kutuma amri za AT kwa moduli ili kuisanidi / kuibadilisha (jina, kitufe, baud ra