Sisällysluettelo:
- Vaihe 1: Ainekset
- Vaihe 2: Liitä ultraäänianturit Octasonic -korttiin
- Vaihe 3: Liitä looginen tasomuunnin Octasonic -korttiin
- Vaihe 4: Liitä looginen tasomuunnin Raspberry Pi -laitteeseen
- Vaihe 5: Liitä Raspberry Pi 5V Octasonic 5V: een
- Vaihe 6: Asenna ohjelmisto
- Vaihe 7: Tee musiikkia
- Vaihe 8: Eleohjaus
- Vaihe 9: Kotelon tekeminen
- Vaihe 10: Vianmääritys ja seuraavat vaiheet
Video: Ultraääni Pi -piano eleohjaimilla!: 10 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Tämä projekti käyttää sisääntuloina edullisia HC-SR04-ultraääni-antureita ja tuottaa MIDI-muistiinpanoja, joita voidaan toistaa Raspberry Pi -laitteen syntetisaattorin avulla korkealaatuisen äänen saamiseksi.
Projekti käyttää myös eleiden hallinnan perusmuotoa, jossa soitinta voidaan vaihtaa pitämällä käsiäsi kahden uloimman anturin päällä muutaman sekunnin ajan. Toisella eleellä voidaan sammuttaa Raspberry Pi, kun olet valmis.
Yllä oleva video näyttää valmiin tuotteen yksinkertaisessa laserleikatussa kotelossa. Tässä ohjeessa on myöhemmin perusteellisempi video, joka selittää kuinka projekti toimii.
Luin tämän projektin yhdessä The Gizmo Dojon kanssa (paikallinen tekijätilamani Broomfieldissä, CO) tehdäkseni interaktiivisia näyttelyitä, joita voimme viedä paikallisiin STEM/STEAM -tapahtumiin ja Maker Fairesiin.
Tutustu myös uusimpiin asiakirjoihin ja opetusohjelmiin osoitteessa https://theotherandygrove.com/octasonic/, joka sisältää nyt tietoja tämän projektin Python -versiosta (tämä ohje on kirjoitettu Rust -versiolle).
Vaihe 1: Ainekset
Tätä ohjeistusta varten tarvitset seuraavat ainesosat:
- Raspberry Pi (2 tai 3) SD -kortilla
- 8 HC-SR04-ultraäänianturia
- Octasonic Breakout Board
- Kaksisuuntainen logiikan tasomuunnin
- 32 x 12 "naaras-naarasliitinjohdot ultraäänianturien liittämiseen
- 13 x 6 "naaras-naarasliitinjohdot Raspberry Pi-, Octasonic- ja logiikkatasomuuntimen liittämiseen
- Sopiva virtalähde Raspberry Pi: lle
- PC -kaiuttimet tai vastaavat
Suosittelen käyttämään Raspberry Pi 3: ta, jos se on mahdollista, koska sillä on enemmän laskentatehoa, mikä saa aikaan reagoivamman ja miellyttävämmän äänen. Se voi toimia hyvin Raspberry Pi 2: n kanssa hieman säätämällä, mutta en yrittäisi käyttää alkuperäistä Raspberry Pi: tä tähän projektiin.
HC -SR04 -ultraääni -antureissa on 4 liitäntää - 5V, GND, Trigger ja Echo. Tyypillisesti Trigger ja Echo on kytketty erillisiin nastoihin mikrokontrollerissa tai Raspberry Pi: ssä, mutta tämä tarkoittaa, että sinun on käytettävä 16 nastaa 8 anturin liittämiseen, eikä tämä ole käytännöllistä. Tässä kohtaa tulee Octasonic -murtokortti. Tämä kortti yhdistää kaikkiin antureihin ja siinä on oma mikro -ohjain, joka valvoo antureita ja kommunikoi sitten Raspberry Pi: n kanssa SPI: n kautta.
HC-SR04 vaatii 5 V: n ja Raspberry Pi on vain 3,3 V, joten siksi tarvitsemme myös logiikan tasomuuntimen, joka yhdistää Raspberry Pi: n Octasonic-murtokorttiin.
Vaihe 2: Liitä ultraäänianturit Octasonic -korttiin
Käytä 4 naaras-naarashyppyjohdinta jokaisen ultraäänianturin liittämiseen levyyn ja varmista, että liität ne oikein päin. Levy on suunniteltu siten, että nastat ovat samassa järjestyksessä kuin ultraäänianturin nastat. Taululta vasemmalta oikealle nastat ovat GND, Trigger, Echo, 5V.
Vaihe 3: Liitä looginen tasomuunnin Octasonic -korttiin
Raspberry Pi ja Octasonic Board kommunikoivat SPI: n kautta. SPI käyttää 4 johtoa:
- Päällikkö sisään, orja ulos (MISO)
- Master Out, Slave In (MOSI)
- Sarjakello (SCK)
- Orjavalinta (SS)
Lisäksi meidän on kytkettävä virta (5V ja GND).
Loogisella tasomuuntimella on kaksi puolta - pienjännite (LV) ja korkeajännite (HV). Vadelma muodostaa yhteyden LV -puolelle, koska se on 3,3 V. Octasonic muodostaa yhteyden HV -puolelle, koska se on 5V.
Tämä vaihe on tarkoitettu Octasonicin liittämiseen logiikkatasomuuntimen HV -puolelle
Katso tähän vaiheeseen liitetty kuva, joka osoittaa, mitkä nastat tulisi liittää logiikkatasomuuntimeen.
Yhteydet Octasonicista Logic Level -muuntimeen tulee olla seuraavat:
- 5V - HV
- SCK - HV4
- MISO - HV3
- MOSI - HV2
- SS - HV1
- GND - GND
Vaihe 4: Liitä looginen tasomuunnin Raspberry Pi -laitteeseen
Raspberry Pi ja Octasonic Board kommunikoivat SPI: n kautta. SPI käyttää 4 johtoa:
- Päällikkö sisään, orja ulos (MISO)
- Master Out, Slave In (MOSI)
- Sarjakello (SCK)
- Orjavalinta (SS)
Lisäksi meidän on kytkettävä virta (3.3V ja GND). Loogisella tasomuuntimella on kaksi puolta - pienjännite (LV) ja korkeajännite (HV). Vadelma muodostaa yhteyden LV -puolelle, koska se on 3,3 V. Octasonic muodostaa yhteyden HV -puolelle, koska se on 5V.
Tämä vaihe on tarkoitettu Raspberry Pi: n liittämiseen loogisen tasomuuntimen LV -puolelle
Raspbery Pi: n ja logiikkatason muuntimen välisten yhteyksien tulee olla seuraavat:
- 3.3V LV: lle
- GPIO11 (SPI_SCLK) - LV4
- GPIO09 (SPI_MISO) - LV3
- GPIO10 (SPI_MOSI) - LV2
- GPIO08 (SPI_CE0_N) SS - LV1
- GND - GND
Käytä tähän vaiheeseen liitettyä kaaviota löytääksesi oikeat nastat Raspberry Pi!
Vaihe 5: Liitä Raspberry Pi 5V Octasonic 5V: een
Yksi viimeinen lanka on lisättävä. Meidän on tosiasiallisesti syötettävä virtaa Octasonic -levylle 5 V: lla, joten teemme sen yhdistämällä yhden Raspberry Pi 5 V: n nastoista Octasonic AVR -otsikon 5 V: n nastaan. Tämä on AVR -otsikkolohkon vasen alakulma (tämä on 2 x 3 lohko levyn oikeassa yläkulmassa). Katso liitteenä oleva kuva, jossa näkyy AVR -lohkon sijainti.
Katso toisesta oheisesta kaaviosta Raspberry Pi: n 5V -nasta.
Vaihe 6: Asenna ohjelmisto
Asenna Raspian
Aloita puhtaalla Raspbian Jessien asennuksella ja päivitä se sitten uusimpaan versioon:
sudo apt-get päivitys
sudo apt-get päivitys
Ota SPI käyttöön
Sinun on otettava SPI käyttöön Raspberry Pi: ssä, jotta tämä projekti toimii! Käytä tätä Raspberry Pi Configuration -apuohjelmalla.
On myös tärkeää käynnistää Pi uudelleen, kun SPI on otettu käyttöön, jotta se tulee voimaan
Asenna FluidSynth
Fluidsynth on hämmästyttävä ilmainen ohjelmisto MIDI -syntetisaattori. Voit asentaa sen komentoriviltä tällä komennolla:
sudo apt-get install fluidsynth
Asenna Rust -ohjelmointikieli
Ultrasonic Pi -piano on toteutettu Mozillan Rust -ohjelmointikielellä (se on kuin C ++, mutta ilman huonoja bittejä). Sitä kaikki viileät lapset käyttävät nykyään.
Asenna Rust noudattamalla ohjeita osoitteessa https://rustup.rs/. Ajan säästämiseksi ohjeet on suoritettava tämä yksi komento. Voit hyväksyä oletusvastaukset kaikkiin kysymyksiin asennuksen aikana.
HUOMAUTUS: Tämän ohjeen julkaisemisen jälkeen on joitain ongelmia Rustin asentamisessa Raspberry Pi -laitteeseen. Huono ajoitus:-/ mutta olen muokannut alla olevaa komentoa ongelman kiertämiseksi. Toivottavasti he korjaavat tämän pian. Pyrin luomaan kuvan, jonka ihmiset voivat ladata ja polttaa SD -kortille. Jos haluat sen, ota minuun yhteyttä.
vienti RUSTUP_USE_HYPER = 1curl https://sh.rustup.rs -sSf | sh
Lataa Ultrasonic Pi Piano -lähdekoodi
Ultrasonic Pi Piano -lähdekoodin lähdekoodia ylläpidetään githubissa. Koodin saamiseksi on kaksi vaihtoehtoa. Jos tunnet gitin ja githubin, voit kloonata repon:
git klooni [email protected]: TheGizmoDojo/UltrasonicPiPiano.git
Vaihtoehtoisesti voit ladata uusimman koodin zip -tiedoston.
Kokoa lähdekoodi
cd UltrasonicPiPiano
lastin rakentaminen -vapautus
Testaa koodi
Ennen kuin siirrymme musiikin tekemiseen seuraavassa vaiheessa, varmista, että ohjelmisto toimii ja että voimme lukea kelvollisia tietoja antureista.
Käytä sovellusta seuraavan komennon avulla. Tämä lukee tiedot antureista ja muuntaa ne MIDI -muistiinpanoiksi, jotka tulostetaan sitten konsoliin. Kun siirrät kättäsi antureiden yli, sinun pitäisi nähdä dataa. Jos ei, siirry tämän ohjeen lopussa olevaan vianetsintäosioon.
kuorma -ajo -vapautus
Jos olet utelias, "--release" -lippu kehottaa Rustia kääntämään koodin mahdollisimman tehokkaasti, toisin kuin oletus "--debug" -asetus.
Vaihe 7: Tee musiikkia
Varmista, että olet edelleen hakemistossa, josta latasit lähdekoodin, ja suorita seuraava komento.
Tämä "run.sh" -komentosarja varmistaa, että koodi on koottu, ja suorittaa sitten koodin, joka ohjaa lähdön juoksevaksi.
./run.sh
Varmista, että Raspberry Pi -laitteen 3,5 mm: n ääniliitäntään on liitetty vahvistetut kaiuttimet ja että kuulet musiikkia, kun siirrät käsiäsi antureiden päälle.
Jos et kuuntele musiikkia ja sinulla on HDMI -näyttö, äänilähtö menee todennäköisesti sinne. Korjaa tämä yksinkertaisesti suorittamalla tämä komento ja käynnistämällä Pi Piano uudelleen:
sudo amixer cset numid = 3 1
Äänenvoimakkuuden muuttaminen
Tilavuus (tai "vahvistus") määritetään parametrilla "-g" fluidsynth. Voit muokata run.sh -komentosarjaa ja muuttaa tätä arvoa. Huomaa, että pienet muutokset tähän parametriin johtavat suureen äänenvoimakkuuden muutokseen, joten yritä lisätä sitä pienillä määrillä (kuten 0,1 tai 0,2).
Vaihe 8: Eleohjaus
Katso tämän vaiheen liitteenä olevalta videolta täydellinen esittely projektista, mukaan lukien eleohjainten toiminta.
Konsepti on hyvin yksinkertainen. Ohjelmisto seuraa, mitkä anturit on peitetty (10 cm: n sisällä) ja mitkä eivät. Tämä tarkoittaa 8 binäärilukua (1 tai 0). Tämä on erittäin kätevää, koska 8 binaariluvun sarja muodostaa "tavun", joka voi edustaa numeroita välillä 0 ja 255. Jos et vielä tiedä binäärilukuista, suosittelen etsimään opetusohjelman. Binääriluvut ovat perustaito oppia, jos haluat oppia lisää ohjelmoinnista.
Ohjelmisto kuvaa antureiden nykyisen tilan yhteen tavuun, joka edustaa nykyistä eletä. Jos tämä luku pysyy samana useiden jaksojen ajan, ohjelmisto vaikuttaa eleeseen.
Koska ultraäänianturit eivät ole erittäin luotettavia ja anturien välillä voi olla häiriöitä, sinun on oltava kärsivällinen eleitä käytettäessä. Kokeile muuttaa etäisyyttä, jolla pidät kättäsi antureista, sekä kätesi kulmaa. Yritä myös pitää jotain tasaista ja kiinteää anturien päällä äänen heijastamiseksi paremmin.
Vaihe 9: Kotelon tekeminen
Jos haluat tehdä tästä pysyvän näyttelyn ja pystyä näyttämään sen ihmisille, haluat todennäköisesti tehdä jonkinlaisen kotelon. Tämä voi olla valmistettu puusta, pahvista tai monista muista materiaaleista. Tässä on video, joka näyttää kotelon, jota työskentelemme tässä projektissa. Tämä on valmistettu puusta, ja reikiä on porattu pitämään ultraäänianturit paikallaan.
Vaihe 10: Vianmääritys ja seuraavat vaiheet
Ongelmien karttoittaminen
Jos projekti ei toimi, se johtuu yleensä johdotusvirheestä. Käytä aikaa tarkistaaksesi kaikki liitännät.
Toinen yleinen ongelma on SPI: n käyttöönoton epäonnistuminen ja pi: n uudelleenkäynnistys.
Käy osoitteessa https://theotherandygrove.com/octasonic/ saadaksesi täydelliset asiakirjat, mukaan lukien vianetsintävinkit, Rust- ja Python -artikkeleita sekä tietoja tuen saamisesta.
Seuraavat vaiheet
Kun projekti on valmis, suosittelen kokeilemaan koodia ja kokeilemaan erilaisia soittimia. MIDI -instrumenttien koodit ovat välillä 1 ja 127, ja ne on dokumentoitu täällä.
Haluatko yhden soittimen, jossa jokainen anturi soittaa eri oktaavia? Ehkä haluat, että jokainen anturi on erillinen instrumentti? Mahdollisuudet ovat lähes rajattomat!
Toivottavasti pidit tästä opettavaisesta. Tykkää siitä, jos teit, ja muista tilata minut täältä ja YouTube -kanavastani nähdäksesi tulevia projekteja.
Suositeltava:
Ultraääni Headtracker -hiiri: 4 vaihetta (kuvilla)
Ultrasonic Headtracker -hiiri: Rakensin äskettäin kuulokkeet head tracker -hiirelle paraplegic -kaverille. Tämä ohje sisältää vähän tietoa, joka saattaa auttaa muita, jotka yrittävät tehdä samoin. Yksikkö, jonka kanssa nämä kuulokkeet toimivat, on Kiinan johtaja, Prentke HM-2P
Virtauksen mittaus veden virtausmittareilla (ultraääni): 5 vaihetta (kuvilla)
Virtauksen mittaus veden virtausmittareilla (ultraääni): Vesi on planeettamme tärkeä resurssi, me ihmiset tarvitsemme vettä joka päivä. Ja vesi on välttämätöntä monille teollisuudenaloille, ja me ihmiset tarvitsemme sitä joka päivä. Kun vesi on tullut arvokkaammaksi ja niukemmaksi, tarve tehokkaaseen seurantaan ja ihmisten
Arduino -pohjainen itsenäinen botti ultraääni -anturin avulla: 5 vaihetta (kuvilla)
Arduino -pohjainen autonominen botti ultraääni -anturin avulla: Luo oma Arduino -pohjainen itsenäinen botti käyttämällä ultraääni -anturia.Tämä botti voi liikkua melkein itsekseen törmäämättä esteisiin. Pohjimmiltaan se havaitsee kaikenlaisia esteitä matkallaan ja päättää parhaan
Ultraääni sadevesisäiliön tilavuusmittari: 10 vaihetta (kuvilla)
Ultraäänisadevesisäiliön tilavuusmittari: Jos olet jotain minun kaltaistani ja sinulla on vähän ympäristötietoa (tai olet vain skinflints, joka haluaa säästää muutaman dollarin - mikä on myös minä …), sinulla voi olla sadevesisäiliö. Minulla on säiliö kerätäkseen melko harvinaiset sateet, joita satamme
Ultraääni -etäisyysmittari ovilla: 7 vaihetta (kuvilla)
Ultrasonic Range Finder with Doors: Ultraääni -etäisyysmittari havaitsee, onko jotain matkalla lähettämällä korkeataajuista ääniaaltoa. Tässä ohjeessa keskitytään siihen, miten ovet ja ultraääni -etäisyysmittarit voivat toimia yhdessä, erityisesti miten niitä voidaan käyttää havaitsemaan, milloin