Sisällysluettelo:
- Vaihe 1: Tarvittavat materiaalit
- Vaihe 2: Rakenna aikaa
- Vaihe 3: Äänianturimoduuli ja RGB -LED
- Vaihe 4: Koodi
- Vaihe 5: Viimeiset ajatukset
Video: Näppäimistömoduulipiano RGB -LEDillä: 5 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
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
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
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
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
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:
DIY RGB -putkivalot: 9 vaihetta (kuvilla)
DIY RGB -putkivalot: DIY RGB -putkivalo on monitoiminen putkivalo, jota voidaan käyttää valokuvauksessa, valomaalauksessa, elokuvien tekemisessä, pelaamisessa, VU -mittarina ja muussa. Putkivaloa voidaan ohjata Prismatik -ohjelmistolla tai painikkeella. Nämä kylpyammeet
Liikkeellä käynnistetyt Neopixel RGB -kengät!: 5 vaihetta (kuvilla)
Liikkeellä käynnistyvät Neopixel RGB -kengät!: NeoPixelit ovat mahtavia, ja voimme hallita satoja valoja kolmella johdolla eli 5 V, Din & GND ja tässä opetusohjelmassa näytän, kuinka voit tehdä Motion Triggered NeoPixel RGB -kengät! Aloita siis ilman lisäkysymyksiä
RGB HexMatrix - IOT -kello 2.0: 5 vaihetta (kuvilla)
RGB HexMatrix | IOT Clock 2.0: HexMatrix 2.0 on päivitetty aiempaan HexMatrixiin. Edellisessä versiossa olemme käyttäneet WS2811 -LED -valoja siten, että HexMatrixista tuli raskas ja paksu. Mutta tässä matriisiversiossa aiomme käyttää mukautettuja piirilevyjä WS2812b -LEDien kanssa, jotka tekivät tämän matriisin t
RC -ohjattu Rgb -LED -nauha: 4 vaihetta (kuvilla)
RC-ohjattu Rgb-LED-nauha: Luo oma rc-ohjattava led-nauha huoneiden valaistukseen! Useimpia rgb-led-nauhoja ohjataan infrapunakaukosäätimellä. Jos haluat kytkeä sen päälle tai pois tai vaihtaa väriä, sinun on pysyttävä vastaanottimen edessä. Tämä on tylsää eikä se ole
Moderni RGB -tunnelmavalaisin: 7 vaihetta (kuvilla)
Moderni RGB -tunnelmavalaisin: Haluatko lisätä tyyliä työpöydällesi? Saimme sinut peitetyksi DIY -tunnelmavalaisimella, joka on valmistettu osista, jotka löydät helposti makaamassa autotallissasi tai katoksessasi. Mielialalampussa on esteettinen ja moderni muotoilu, joka antaa sinulle täydellisen hallinnan värin