Orodha ya maudhui:

Kinanda cha Moduli ya keypad na RGB LED: Hatua 5 (na Picha)
Kinanda cha Moduli ya keypad na RGB LED: Hatua 5 (na Picha)

Video: Kinanda cha Moduli ya keypad na RGB LED: Hatua 5 (na Picha)

Video: Kinanda cha Moduli ya keypad na RGB LED: Hatua 5 (na Picha)
Video: ESP32 Tutorial 6 - Using RGB LED Project 2.3 -SunFounder's ESP32 IoT Learnig kit 2024, Novemba
Anonim
Image
Image
Vifaa vinahitajika
Vifaa vinahitajika

Intro

Halo mabibi na muungwana, karibu kwa mwalimu wangu wa kwanza kabisa! Leo, nitakufundisha jinsi ya kuunda piano na vifaa kuu ikiwa moduli ya keypad na buzzer ya piezo na kuweza kucheza DO-RE-MI na kadhalika.

Moduli ya vitufe iliyokusudiwa mara nyingi, ni kuwa keypad pamoja na RFID arduino kuunda sanduku salama la vitu vya thamani. Katika kesi hii nilibadilisha kitufe, badala ya kulinda kitu ambacho ninaamua kutumia kuzungumza furaha na muziki rahisi.

Dhana ya Wazo

Wazo la wazo la uumbaji huu, hubadilika kutoka kwa kumbukumbu rahisi ya furaha wakati wa kucheza xylophone nilipokuwa mdogo katika darasa la muziki. Kiasi cha furaha na msisimko uliokuwa ukipita mwilini mwangu ulikuwa katika kilele chake, namaanisha kila mtoto alikuwa ameridhika kwa urahisi na kuridhika kwangu ilikuwa kucheza xylophone.

Utafiti

Baada ya wazo lako balbu ya taa juu kuwasha, utafiti kidogo lazima ufanyike. Baada ya kuvinjari wavuti kwa wakati mwingine, naweza kupata wazo langu ambalo mwanzoni nilifikiria! Moduli ya keypad iliyogeuza piano, mtu ameunda video ya mradi huo hapa. Kufikiria mbele nilihitaji kuongeza sehemu tofauti ambayo ingeongeza zaidi mradi lakini kuifanya iwe ya kuvutia zaidi na kuweza kuiita yangu mwenyewe.

Hatua ya 1: Vifaa vinahitajika

Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika

Orodha ya Vifaa

  • Piezo Buzzer 1x ▶
  • Moduli ya keypad 4x4 1x ▶ https://www.jsumo.com/matrix-button-keypad-module …….
  • Arduino Uno 1x ▶
  • Aina ya kebo ya USB 2.0 A / B 1x ▶
  • Moduli ya Sensorer Sauti 1x://
  • RGB LED 1x ▶
  • 330 ohm kupinga 3x ▶
  • Waya wa jumper wa kiume hadi wa kike 8x ▶
  • Waya wa kiume hadi wa kiume jumper 4x ▶
  • 3 pini Kiume kwa waya ya kuruka ya kike 1x ▶

Orodha ya nyenzo imepangwa na picha hapo juu.

Hatua ya 2: Muda wa Ujenzi

Wakati wa Kujenga!
Wakati wa Kujenga!
Wakati wa Kujenga!
Wakati wa Kujenga!
Wakati wa Kujenga!
Wakati wa Kujenga!
Wakati wa Kujenga!
Wakati wa Kujenga!

Moduli ya keypad ya 4x4 & Buzzer ya Piezo

Nadharia

Kama moduli ya keypad ya 4x4 na buzzer ya piezo ina pembejeo nyingi za kibinafsi na nitaamua kugawanya vifaa vilivyotumika katika jozi mbili. Kuzingatia kitufe, kawaida hutumiwa kama pembejeo. Moduli ya Keypad ya SunFounder 4 * 4 ni kitufe kisichosimbwa chenye vitufe 16 vyenye sambamba, Funguo za kila safu na safu zimeunganishwa kupitia pini za nje - piga Y1-Y4 kama ilivyoandikwa kando ya kudhibiti safu, wakati X1- X4, nguzo.

Kusudi

Kusudi la vifaa hivi kwa mradi mzima, ni kumruhusu mtumiaji kubonyeza kitufe ambacho kimewekwa kwa sauti maalum iliyoundwa na buzzer ya piezo kupitia masafa ya hertz.

Siri ya Moduli ya Matrix - Pini ya Arduino

  • 4 - 2
  • 3 - 3
  • 2 - 4
  • 1 - 5
  • 5 - 6
  • 6 - 7
  • 7 - 8
  • 8 - 13

Piezo Buzzer - Pini ya Arduino

Nyeusi - GND

Nyekundu - Nguvu

Kazi yangu ngumu zaidi katika ujenzi huu ni kujua ni wapi kila waya imechomekwa. Hapo juu ninakupa na haraka na rahisi jinsi ya kwenda kwenye maeneo ya waya, kwa muda mrefu kama ikifuatwa juu hadi chini, ncha inachukua muda wako na uhakikishe kila pini imeingizwa kwa usahihi kwenye slot inayofaa.

* Kidokezo ni kufuata mahali kila waya iko mahali kutoka mwisho mmoja hadi mwingine.

Mchoro wote wa Tinkercad wa waya maalum wa sehemu umewekwa rangi kwa usahihi kwa hivyo fuata kwa uangalifu

Hatua ya 3: Moduli ya Sensorer Sauti na RGB LED

Moduli ya Sensorer ya Sauti na RGB LED
Moduli ya Sensorer ya Sauti na RGB LED
Moduli ya Sensorer ya Sauti na RGB LED
Moduli ya Sensorer ya Sauti na RGB LED
Moduli ya Sensorer ya Sauti na RGB LED
Moduli ya Sensorer ya Sauti na RGB LED

Moduli ya Sensorer ya Sauti na RGB LED

Nadharia

Moduli ya sensa ya sauti hukuruhusu kugundua wakati sauti imezidi alama uliyochagua. Sauti hugunduliwa kupitia kipaza sauti na kulishwa ndani ya LM393 op amp. Mara tu kiwango cha sauti kinapozidi hatua iliyowekwa, LED kwenye moduli inaangazwa na pato.

Kusudi

Kusudi la vifaa hivi kwa mradi mzima, ni kupata usomaji wa sauti / sauti ya moduli ya sensa ya sauti na kupitia kusoma hiyo RGB LED itaamsha rangi sahihi inayohusu sauti.

Moduli ya Sensorer ya Sauti - Pini ya Arduino (Tumia waya ya Jumapili 3 ya Pini)

  • Pato - A0 Analog Pin
  • GND - Mpangilio wowote wa siri wa GND
  • VCC - 3V

RGB Anode ya kawaida (+) LED - Arduino Pin

  • Nyekundu - 9
  • Nguvu - 5V
  • Kijani - 10
  • Bluu - 11

Kumbuka waya, kila waya ya kibinafsi kupitia kontena la 330 ohm. Tumia picha hapo juu kama kumbukumbu.

Kazi yangu ngumu zaidi katika ujenzi huu ni kujua ni wapi kila waya imechomekwa. Hapo juu nakupa na haraka na rahisi jinsi ya kufika kwenye maeneo ya waya, kwa muda mrefu kama ikifuatiwa juu hadi chini, ncha ni kuchukua muda wako na uhakikishe kila pini imeingizwa kwa usahihi kwenye nafasi inayofaa ili kuzuia utatuaji wa baadaye.

* Kidokezo ni kufuata mahali ambapo kila waya imeingizwa kwa njia yoyote

Mchoro wote wa Tinkercad wa waya maalum wa sehemu umewekwa alama ya rangi vizuri kwa hivyo fuata

Hatua ya 4: Kanuni

Kanuni

Nambari hii inaruhusu vifaa vyote kufanya kazi pamoja kwa kutumia kazi mpya iliyofafanuliwa kuwa na vidhibiti vyote vingi sehemu moja ambayo ina vigeugeu vingi vinavyoweza kubadilika vitu hivyo viliongozwa na RGB na kutumia rangi ya rgb kubadilisha rangi wakati ikiendelea na buzzer ya piezo na sauti itafanya kulingana na kitufe cha kifungo.

Lazima iwe na ndani ya nambari hii kulikuwa na maktaba ya vitufe

Unganisha hapa:

Mara baada ya kupakuliwa ongeza maktaba mpya kwenye arduino, baadaye weka laini moja ya nambari inayohitajika kuiwasha.

Shida nilizokuwa nazo wakati wa nambari ni mahali pa kuweka kazi mpya zilizoainishwa kama kupitia jaribio na kosa niligundua kuwa lazima iwe kwenye usanidi na sio kitanzi.

Kanuni

#jumuisha # Maktaba ya Keypad

int greenPin = 11; // Pini ya Kijani ya RGB iliyounganishwa na pini ya dijiti 9

nyekundu nyekundu = 10; // Pini Nyekundu ya RGB iliyounganishwa na pini ya dijiti 9

bluu ya bluu = 9; // Pini ya RGB ya Bluu iliyounganishwa na pini ya dijiti 9 sp speakerPin = 12; // spika imeunganishwa na pini ya dijiti 12 const byte ROWS = 4; // safu nne const byte COLS = 4; // koloums nne const int soundPin = A0; // sensa ya sauti ingiza kwa A0

funguo za char [ROWS] [COLS] = {

{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // Kuibua moduli ya keypad

Pini za baiti [ROWS] = {2, 3, 4, 5}; // unganisha vifungo vya safu ya keypad

Polls byte [COLS] = {6, 7, 8, 13}; // unganisha kwenye pini za colum za kitufe

Keypad keypad = Keypad (makeKeymap (funguo), safu za pini, colPins, ROWS, COLS); // Inaunda funguo

usanidi batili () {

pinMode (spikaPin, OUTPUT); // inaweka spikaPin kuwa pato

pinMode (nyekunduPin, OUTPUT); // huweka pini nyekundu kuwa pini ya pato (greenPin, OUTPUT); // huweka pini ya kijani kuwa pini ya pato (bluePin, OUTPUT); // huweka pini ya bluu kuwa pato

Serial. Kuanza (9600);

} batili setColor (int nyekundu, int kijani, int bluu) // Kazi mpya iliyofafanuliwa kuruhusu RGB kuonyesha rangi kupitia nambari ya RGB {#ifdef COMMON_ANODE nyekundu = 255 - nyekundu; kijani = 255 - kijani; bluu = 255 - bluu; # endif analogi Andika (nyekunduPini, nyekundu); Analog Andika (kijaniPini, kijani kibichi); Analog Andika (bluuPini, bluu); }

beep ya batili (spika ya char isiyosainiwaPin, int frequencyInHertz, muda mrefuInMilliseconds) {// kazi zinazozalisha sauti

int x; kuchelewa kwa muda mrefu Kiasi = (muda mrefu) (1000000 / frequencyInHertz); muda mrefu loopTime = (ndefu) ((timeInMilliseconds * 1000) / (delayAmount * 2)); kwa (x = 0; x

kitanzi batili () {

kitufe cha char = keypad.getKey (); Thamani ya int = AnalogRead (soundPin); // soma thamani ya A0 Serial.println

ikiwa (ufunguo! = NO_KEY) {

Serial.println (ufunguo); } ikiwa (ufunguo == 'a') {beep (speakerPin, 2093, 100); kuwekaColor (218, 112, 214); } ikiwa (ufunguo == 'b') {beep (speakerPin, 2349, 100); kuwekaColor (218, 112, 214); } ikiwa (ufunguo == 'c') {beep (speakerPin, 2637, 100); kuwekaColor (218, 112, 214); } ikiwa (ufunguo == 'd') {beep (speakerPin, 2793, 100); kuwekaColor (218, 112, 214); } ikiwa (ufunguo == 'e') {beep (speakerPin, 3136, 100); kuwekaColor (218, 112, 214); } ikiwa (ufunguo == 'f') {beep (speakerPin, 3520, 100); kuwekaColor (218, 112, 214); } ikiwa (ufunguo == 'g') {beep (speakerPin, 3951, 100); kuwekaColor (218, 112, 214); } ikiwa (ufunguo == 'h') {beep (speakerPin, 4186, 100); kuwekaColor (218, 112, 214); } ikiwa (ufunguo == 'i') {beep (speakerPin, 2093, 100); kuweka rangi (230, 230, 0); } ikiwa (ufunguo == 'j') {beep (speakerPin, 2349, 100); kuweka rangi (180, 255, 130); } ikiwa (ufunguo == 'k') {beep (speakerPin, 2637, 100); kuweka rangi (130, 255, 130); } ikiwa (ufunguo == 'l') {beep (speakerPin, 2739, 100); seti ya Rangi (130, 220, 130); } ikiwa (ufunguo == 'm') {beep (speakerPin, 3136, 100); kuwekaColor (0, 255, 255); } ikiwa (ufunguo == 'n') {beep (speakerPin, 3520, 100); kuwekaColor (0, 220, 255); } ikiwa (ufunguo == 'o') {beep (speakerPin, 3951, 100); kuwekaColor (0, 69, 255); } ikiwa (ufunguo == 'p') {beep (speakerPin, 4186, 100); kuwekaColor (255, 0, 255); }}

Hatua ya 5: Mawazo ya Mwisho

Image
Image

Mawazo ya Mwisho

Mawazo ya mwisho ya mradi huu ni madhumuni yaliyokusudiwa ni kuwa toy, kuleta raha na furaha rahisi. Kwa kuwa mradi huu umekamilika na unashughulikiwa, naamini hii inaunda na inaweza kusonga mbele na vifaa labda zaidi kama kipengee cha kurekodi, au nakala / simoni inasema, au hata LCD na noti zinazoonekana kucheza wimbo maalum.

Ningependa kujua maoni yako kuhusu Moduli ya Keypad, ni vitu gani ambavyo ulifikiri vingeongezwa. Je! Utatumia katika miradi yako yoyote? Tafadhali weka maoni yako katika sehemu ya maoni hapa chini.

Tafadhali hakikisha kushiriki ikiwa unafurahiya mradi huu wa arduino.

Ilipendekeza: