Sisällysluettelo:

Näppäimistömoduulipiano RGB -LEDillä: 5 vaihetta (kuvilla)
Näppäimistömoduulipiano RGB -LEDillä: 5 vaihetta (kuvilla)

Video: Näppäimistömoduulipiano RGB -LEDillä: 5 vaihetta (kuvilla)

Video: Näppäimistömoduulipiano RGB -LEDillä: 5 vaihetta (kuvilla)
Video: Complete Next js -kurssi - Opi Nextjs 2 tunnissa! | Reagoi SSR + aikakoodeihin 2024, Marraskuu
Anonim
Image
Image
Tarvittavat materiaalit
Tarvittavat materiaalit

Esittely

Hei hyvät naiset ja herrat, tervetuloa ensimmäiseen opetettavaani! Tänään opetan sinulle, kuinka luoda piano, jonka pääkomponentit ovat näppäimistömoduuli ja pietsosummeri ja joka pystyy soittamaan DO-RE-MI: tä ja niin edelleen.

Näppäimistömoduulin useimmiten aiottu käyttötarkoitus on olla näppäimistö yhdistettynä arduino RFID: hen luodakseen tallelokeron arvokkaille tavaroille. Tässä tapauksessa vaihdoin näppäimistön sen sijaan, että suojaisin jotain, päätän käyttää puhumaan yksinkertaista iloa ja musiikkia.

Ideakonsepti

Tämän luomuksen ideakonsepti kehittyy yksinkertaisesta onnellisesta muistista, kun soitin ksylofonia, kun olin nuorempi musiikkiluokalla. Kehoni läpi kulkenut ilon ja jännityksen määrä oli huipussaan, tarkoitan, että jokainen lapsi oli helposti tyytyväinen ja tyytyväisyyteni oli ksylofonin soittaminen.

Tutkimus

Kun yllä oleva ideasi hehkulamppu syttyy, on tehtävä pieni tutkimus. Selatessani verkkoa jonkin aikaa, törmäsin ideaani, jonka alun perin ajattelin! Näppäimistömoduuli kääntyi pianoksi, joku on luonut saman projektivideon täällä. Ajattelen etukäteen minun oli lisättävä erillinen komponentti, joka tehostaisi projektia entisestään, mutta tekisi siitä houkuttelevamman ja pystyisi kutsumaan sitä omaksi.

Vaihe 1: Tarvittavat materiaalit

Tarvittavat materiaalit
Tarvittavat materiaalit
Tarvittavat materiaalit
Tarvittavat materiaalit
Tarvittavat materiaalit
Tarvittavat materiaalit

Materiaaliluettelo

  • Pietsosummeri 1x ▶
  • 4x4-näppäimistömoduuli 1x ▶
  • Arduino Uno 1x ▶
  • USB 2.0 -kaapeli, tyyppi A/B 1x ▶
  • Äänianturimoduuli 1x ▶
  • RGB LED 1x ▶
  • 330 ohmin vastus 3x ▶
  • Uros-naarasliitin 8x ▶
  • Uros -urosliitin 4x ▶
  • 3-napainen uros-naarasliitin 1x ▶

Materiaaliluettelo on kunnossa yllä olevien kuvien kanssa.

Vaihe 2: Rakenna aikaa

Rakentamisen aika!
Rakentamisen aika!
Rakentamisen aika!
Rakentamisen aika!
Rakentamisen aika!
Rakentamisen aika!
Rakentamisen aika!
Rakentamisen aika!

4x4 -näppäimistömoduuli ja pietsosummeri

Teoria

Koska 4x4 -näppäimistömoduuli ja pietsosummeri sisältävät niin monta yksittäistä nastatuloa, päätän jakaa käytetyt komponentit kahteen pariin. Keskittyminen näppäimistöön, jota käytetään yleensä tulona. SunFounder 4*4 Matrix -näppäimistömoduuli on matriisikooditon näppäimistö, joka koostuu 16 näppäimestä rinnakkain. Jokaisen rivin ja sarakkeen näppäimet on kytketty ulkopuolisten nastojen kautta- nasta Y1-Y4, kuten rivien vieressä, kun X1- X4, sarakkeet.

Tarkoitus

Näiden komponenttien tarkoitus koko projektissa on antaa käyttäjän painaa painiketta, joka on asetettu pietsosummerin luomaan tiettyyn ääneen hertsin taajuudella.

Matrix Module Pin - Arduino Pin

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

Pietsosummeri - Arduino Pin

Musta - GND

Punainen - Virta

Vaikein tehtäväni tässä rakenteessa on selvittää, mihin jokainen johto on kytketty. Edellä annan sinulle nopean ja helpon langan sijaintitavan, kunhan sitä noudatetaan ylhäältä alas, kärki vie aikaa ja varmista, että jokainen tappi on asetettu oikein oikeaan paikkaan.

*Vihje on seurata, missä kukin johto sijaitsee päästä päästä toiseen.

Kaikki Tinkercad -luonnokset yksittäisistä komponenttijohdoista on värikoodattu oikein, joten seuraa niitä huolellisesti

Vaihe 3: Äänianturimoduuli ja RGB -LED

Äänianturimoduuli ja RGB -LED
Äänianturimoduuli ja RGB -LED
Äänianturimoduuli ja RGB -LED
Äänianturimoduuli ja RGB -LED
Äänianturimoduuli ja RGB -LED
Äänianturimoduuli ja RGB -LED

Äänianturimoduuli ja RGB -LED

Teoria

Äänianturimoduulin avulla voit tunnistaa, milloin ääni on ylittänyt valitsemasi asetusarvon. Ääni tunnistetaan mikrofonin kautta ja syötetään LM393 -vahvistimeen. Kun äänitaso ylittää asetusarvon, moduulin LED -valo syttyy ja ulostulo.

Tarkoitus

Näiden komponenttien tarkoitus koko projektissa on saada ääni -anturimoduulin ääni/tilavuuslukema ja sen kautta RGB -LED aktivoi oikean äänen värin.

Äänianturimoduuli - Arduino -nasta (käytä 3 -nastaista hyppyjohtoa)

  • Lähtö - A0 analoginen nasta
  • GND - Mikä tahansa avoin GND -nastapaikka
  • VCC - 3V

RGB -yleisen anodin (+) LED - Arduino -nasta

  • Punainen - 9
  • Teho - 5V
  • Vihreä - 10
  • Sininen - 11

Muista johdottaa jokainen johto 330 ohmin vastuksen läpi. Käytä yllä olevaa kuvaa viitteenä.

Vaikein tehtäväni tässä rakenteessa on selvittää, mihin jokainen johto on kytketty. Edellä annan sinulle nopean ja helpon tavan päästä johtimien paikkoihin.

*Vihje on seurata, mihin kukin johto työnnetään kumpaankin suuntaan

Kaikki Tinkercad -luonnokset tietyistä komponenttijohdoista on värikoodattu oikein, joten seuraa niitä

Vaihe 4: Koodi

Koodi

Tämän koodin avulla kaikki komponentit voivat työskennellä yhdessä käyttämällä äskettäin määritettyä toimintoa sisältämään kaikki monet ohjaimet yhteen komponenttiin, jossa on monia muuttuvia muuttujia, joita komponentit olivat RGB -merkkisiä ja käyttivät rgb -väriä värin muuttamiseen ollessaan päällä sekä pietsosummerin ja ääntä, joka kuuluu painikkeen painalluksesta riippuen.

Tämän koodin pakollinen sisältö oli näppäimistökirjasto

Linkki tähän:

Kun olet ladannut, lisää uusi kirjasto arduinoon ja lisää sen jälkeen aktivoimiseen tarvittava yksittäinen koodirivi.

Vaikeuksia, joita minulla oli koodin aikana, oli sijoittaa uudet määritellyt toiminnot, koska kokeilun ja erehdyksen kautta tajusin, että sen oli oltava asennuksessa eikä silmukassa.

Koodi

#include // Näppäimistökirjasto

int greenPin = 11; // RGB -vihreä nasta kytketty digitaaliseen nastaan 9

int redPin = 10; // RGB punainen nasta kytketty digitaaliseen nastaan 9

int bluePin = 9; // RGB Blue Pin kytketty digitaaliseen nastaan 9 int kaiutinPin = 12; // kaiutin kytketty digitaaliseen nastaan 12 const tavua ROWS = 4; // neljä riviä const tavu COLS = 4; // neljä coloums const int soundPin = A0; // äänianturi kiinnitetään A0: een

char -näppäimet [ROWS] [COLS] = {

{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // Näppäimistömoduulin visualisointi

tavu rowPins [ROWS] = {2, 3, 4, 5}; // muodosta yhteys näppäimistön rivipistoihin

tavu colPins [COLS] = {6, 7, 8, 13}; // muodostaa yhteys näppäimistön pistorasioihin

Näppäimistön näppäimistö = Näppäimistö (makeKeymap (näppäimet), rowPins, colPins, ROWS, COLS); // Luo avaimet

void setup () {

pinMode (kaiutinPin, OUTPUT); // asettaa kaiutinPin -lähdön

pinMode (redPin, OUTPUT); // asettaa punaisen nastan lähtötapiksiMode (greenPin, OUTPUT); // asettaa vihreän nastan lähtötapiksiMode (bluePin, OUTPUT); // asettaa sinisen nastan lähtöön

Sarja.alku (9600);

} void setColor (int punainen, int vihreä, int sininen) // Uusi määritetty toiminto, jonka avulla RGB voi näyttää värin RGB -koodin kautta {#ifdef COMMON_ANODE red = 255 - red; vihreä = 255 - vihreä; sininen = 255 - sininen; #endif analogWrite (punainenPin, punainen); analogWrite (vihreäPin, vihreä); analogWrite (sininenPin, sininen); }

tyhjä piippaus (allekirjoittamaton char -kaiutinPin, int taajuus InHertz, long timeInMilliseconds) {// äänen tuottotoiminnot

int x; long delayAmount = (pitkä) (1000000/taajuusInHertz); long loopTime = (pitkä) ((timeInMilliseconds*1000)/(delayAmount*2)); varten (x = 0; x

void loop () {

char -näppäin = keypad.getKey (); int -arvo = analoginenLue (soundPin); // lue A0 -sarjan arvo. println (arvo); // tulosta arvo

jos (avain! = NO_KEY) {

Serial.println (avain); } jos (näppäin == 'a') {piippaus (kaiutinPin, 2093, 100); setColor (218, 112, 214); } if (key == 'b') {piippaus (kaiutinPin, 2349, 100); setColor (218, 112, 214); } jos (näppäin == 'c') {piippaus (kaiutinPin, 2637, 100); setColor (218, 112, 214); } jos (näppäin == 'd') {piippaus (kaiutinPin, 2793, 100); setColor (218, 112, 214); } if (key == 'e') {piippaus (kaiutinPin, 3136, 100); setColor (218, 112, 214); } jos (näppäin == 'f') {piippaus (kaiutinPin, 3520, 100); setColor (218, 112, 214); } if (key == 'g') {piippaus (kaiutinPin, 3951, 100); setColor (218, 112, 214); } if (näppäin == 'h') {piippaus (kaiutinPin, 4186, 100); setColor (218, 112, 214); } jos (näppäin == 'i') {piippaus (kaiutinPin, 2093, 100); setColor (230, 230, 0); } jos (näppäin == 'j') {piippaus (kaiutinPin, 2349, 100); setColor (180, 255, 130); } if (näppäin == 'k') {piippaus (kaiutinPin, 2637, 100); setColor (130, 255, 130); } if (key == 'l') {piippaus (kaiutinPin, 2739, 100); setColor (130, 220, 130); } jos (näppäin == 'm') {piippaus (kaiutinPin, 3136, 100); setColor (0, 255, 255); } jos (näppäin == 'n') {piippaus (kaiutinPin, 3520, 100); setColor (0, 220, 255); } jos (näppäin == 'o') {piippaus (kaiutinPin, 3951, 100); setColor (0, 69, 255); } if (key == 'p') {piippaus (kaiutinPin, 4186, 100); setColor (255, 0, 255); }}

Vaihe 5: Viimeiset ajatukset

Image
Image

Lopulliset ajatukset

Tämän projektin lopulliset ajatukset ovat sen tarkoitus olla lelu, tuoda hauskaa ja yksinkertaista iloa. Koska tämä projekti on valmis ja sitä kehitetään, uskon tämän rakenteen ja sitä voidaan täydentää ehkä useilla komponenteilla, kuten tallennuselementillä tai kopio/simon sanoo -elementillä tai jopa LCD -näytöllä, jossa nuotit näyttävät toistavan tietyn kappaleen.

Haluaisin tietää mielipiteenne näppäimistömoduulista, mitä osia olisi mielestäsi voitu lisätä. Aiotko käyttää sitä missään projektissasi? Lähetä ideasi alla olevaan kommenttiosaan.

Muista jakaa, jos pidit tästä arduino -projektista.

Suositeltava: