Orodha ya maudhui:
- Hatua ya 1: Viungo
- Hatua ya 2: Unganisha Sensorer za Ultrasonic kwenye Bodi ya Octasonic
- Hatua ya 3: Unganisha Kigeuzi cha Kiwango cha Mantiki na Bodi ya Octasonic
- Hatua ya 4: Unganisha Kigeuzi cha Kiwango cha Mantiki kwa Raspberry Pi
- Hatua ya 5: Unganisha Raspberry Pi 5V hadi Octasonic 5V
- Hatua ya 6: Sakinisha Programu
- Hatua ya 7: Fanya Muziki
- Hatua ya 8: Udhibiti wa Ishara
- Hatua ya 9: Kufanya Banda
- Hatua ya 10: Utatuzi na Hatua Zifuatazo
Video: Piano ya Ultrasonic na Udhibiti wa Ishara!: Hatua 10 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
Mradi huu hutumia sensorer za gharama nafuu za HC-SR04 kama pembejeo na hutengeneza vidokezo vya MIDI ambavyo vinaweza kuchezwa kupitia kisanisi kwenye Raspberry Pi kwa sauti ya hali ya juu.
Mradi pia unatumia aina ya kimsingi ya kudhibiti ishara, ambapo ala ya muziki inaweza kubadilishwa kwa kushika mikono yako juu ya sensorer mbili za nje kwa sekunde chache. Ishara nyingine inaweza kutumika kuzima Raspberry Pi mara tu utakapomaliza.
Video hapo juu inaonyesha bidhaa iliyokamilishwa katika ua rahisi wa kukata laser. Kuna video ya kina zaidi baadaye katika hii inayoweza kufundishwa ambayo inaelezea jinsi mradi hufanya kazi.
Niliunda mradi huu kwa kushirikiana na The Gizmo Dojo (eneo langu la makers huko Broomfield, CO) kutengeneza maonyesho kadhaa ambayo tunaweza kuchukua kwa hafla za STEM / STEAM na Maker Faires.
Tafadhali pia angalia nyaraka na mafunzo ya hivi karibuni katika https://theotherandygrove.com/octasonic/ ambayo sasa inajumuisha habari juu ya toleo la Python la mradi huu (hii inaweza kufundishwa kwa toleo la Kutu).
Hatua ya 1: Viungo
Kwa hili linaloweza kufundishwa, utahitaji viungo vifuatavyo:
- Raspberry Pi (2 au 3) na kadi ya SD
- Sensorer 8 za HC-SR04 za ultrasonic
- Bodi ya Kuzuka kwa Octasonic
- Kiwango cha mantiki ya mwelekeo wa maagizo mawili
- 32 x 12 "waya za Jumper za Kike na za Kike za kuunganisha sensorer za ultrasonic
- 13 x 6 "waya za Jumper za Kike na za Kike za kuunganisha Raspberry Pi, Octasonic, na Logic Level Converter
- Ugavi unaofaa wa Raspberry Pi
- Spika za PC au sawa
Napenda kupendekeza kutumia Raspberry Pi 3 ikiwezekana kwani ina nguvu zaidi ya kompyuta, na kusababisha sauti inayoweza kujibu na kupendeza. Inaweza kufanya kazi vizuri na Raspberry Pi 2 na kugeuza kidogo lakini sitajaribu kutumia Raspberry Pi ya asili kwa mradi huu.
HC-SR04 sensorer za ultrasonic zina unganisho 4 - 5V, GND, Trigger, na Echo. Kawaida, Trigger na Echo zimeunganishwa na pini tofauti kwenye microcontroller au Raspberry Pi lakini hiyo inamaanisha utahitaji kutumia pini 16 kuunganisha sensorer 8, na hii sio vitendo. Hapa ndipo bodi ya kuzuka ya Octasonic inapoingia. Bodi hii inaunganisha kwa sensorer zote na ina mdhibiti mdogo aliyejitolea ambaye hufuatilia sensorer kisha anawasiliana na Raspberry Pi juu ya SPI.
HC-SR04 inahitaji 5V na Raspberry Pi ni 3.3V tu, kwa hivyo ndio sababu tunahitaji pia kibadilishaji cha kiwango cha mantiki ambacho kitaunganisha Raspberry Pi na bodi ya kuzuka ya Octasonic.
Hatua ya 2: Unganisha Sensorer za Ultrasonic kwenye Bodi ya Octasonic
Tumia waya 4 za kuruka za kike na za kike kuunganisha kila sensorer ya ultrasonic kwenye bodi, kuwa mwangalifu kuziunganisha kwa njia sahihi. Bodi imeundwa ili pini ziwe katika mpangilio sawa na pini kwenye sensorer ya ultrasonic. Kutoka kushoto kwenda kulia kwenye ubao, pini ni GND, Trigger, Echo, 5V.
Hatua ya 3: Unganisha Kigeuzi cha Kiwango cha Mantiki na Bodi ya Octasonic
Raspberry Pi na Bodi ya Octasonic huwasiliana juu ya SPI. SPI inatumia waya 4:
- Mwalimu Katika, Mtumwa nje (MISO)
- Kumaliza Mwalimu, Mtumwa Katika (MOSI)
- Saa ya Siri (SCK)
- Chagua Mtumwa (SS)
Kwa kuongeza, tunahitaji kuunganisha nguvu (5V na GND).
Kigeuzi cha mantiki kina pande mbili - voltage ya chini (LV) na voltage ya juu (HV). Raspberry itaunganisha upande wa LV kwani ni 3.3V. Octasonic itaunganisha upande wa HV kwani ni 5V.
Hatua hii ni kuunganisha Octasonic kwa upande wa HV wa kibadilishaji cha kiwango cha mantiki
Tazama picha iliyoambatanishwa na hatua hii inayoonyesha ni pini zipi zinapaswa kushikamana na kibadilishaji cha kiwango cha mantiki.
Uunganisho kutoka kwa Octasonic hadi kwa Kigeuzi cha Kiwango cha Mantiki inapaswa kuwa kama ifuatavyo:
- 5V hadi HV
- SCK hadi HV4
- MISO kwa HV3
- MOSI hadi HV2
- SS hadi HV1
- GND kwa GND
Hatua ya 4: Unganisha Kigeuzi cha Kiwango cha Mantiki kwa Raspberry Pi
Raspberry Pi na Bodi ya Octasonic huwasiliana juu ya SPI. SPI inatumia waya 4:
- Mwalimu Katika, Mtumwa nje (MISO)
- Kumaliza Mwalimu, Mtumwa Katika (MOSI)
- Saa ya Siri (SCK)
- Chagua Mtumwa (SS)
Kwa kuongeza, tunahitaji kuunganisha nguvu (3.3V na GND). Kigeuzi cha mantiki kina pande mbili - voltage ya chini (LV) na voltage ya juu (HV). Raspberry itaunganisha upande wa LV kwani ni 3.3V. Octasonic itaunganisha upande wa HV kwani ni 5V.
Hatua hii ni kuunganisha Raspberry Pi kwa upande wa LV wa kiwango cha mantiki cha kubadilisha
Uunganisho kutoka kwa Raspbery Pi hadi kwa Kigeuzi cha Kiwango cha Mantiki inapaswa kuwa kama ifuatavyo:
- 3.3V hadi LV
- GPIO11 (SPI_SCLK) hadi LV4
- GPIO09 (SPI_MISO) hadi LV3
- GPIO10 (SPI_MOSI) hadi LV2
- GPIO08 (SPI_CE0_N) SS hadi LV1
- GND kwa GND
Tumia mchoro uliowekwa kwenye hatua hii kupata pini sahihi kwenye Raspberry Pi!
Hatua ya 5: Unganisha Raspberry Pi 5V hadi Octasonic 5V
Kuna waya moja ya mwisho ya kuongeza. Tunahitaji kuiwezesha bodi ya Octasonic na 5V, kwa hivyo tunafanya hivyo kwa kuunganisha moja ya pini za Raspberry Pi 5V na pini ya 5V kwenye kichwa cha Octasonic AVR. Hii ni pini ya kushoto ya chini kwenye kizuizi cha kichwa cha AVR (hii ni kizuizi cha 2 x 3 upande wa kulia wa bodi). Tazama picha iliyoambatanishwa inayoonyesha mahali block ya AVR iko.
Tazama mchoro mwingine ulioambatanishwa kupata pini ya 5V kwenye Raspberry Pi.
Hatua ya 6: Sakinisha Programu
Sakinisha Raspian
Anza na usakinishaji safi wa Raspbian Jessie, kisha uisasishe kwa toleo la hivi karibuni:
Sudo apt-pata sasisho
sasisho la kupata apt
Washa SPI
Lazima uwezeshe SPI kwenye Raspberry Pi ili mradi huu ufanye kazi! Tumia huduma ya Usanidi wa Raspberry Pi kufanya hivyo.
Ni muhimu pia kuwasha tena Pi baada ya kuiwezesha SPI itekeleze
Sakinisha FluidSynth
Fluidsynth ni programu ya kushangaza ya bure ya MIDI synth. Unaweza kuiweka kutoka kwa laini ya amri na amri hii:
Sudo apt-get kufunga fluidsynth
Sakinisha Lugha ya Kupanga Kutu
Piano ya Ultrasonic inatekelezwa katika Lugha ya Programu ya Kutu kutoka Mozilla (ni kama C ++ lakini bila alama mbaya). Ni nini watoto wote wa baridi wanatumia siku hizi.
Fuata maagizo kwenye https://rustup.rs/ kusanikisha Kutu. Ili kukuokoa wakati, maagizo ni kutekeleza amri hii moja. Unaweza kukubali majibu chaguomsingi kwa maswali yoyote wakati wa usakinishaji.
KUMBUKA: Tangu kuchapisha hii inayoweza kufundishwa, kuna maswala kadhaa na kusanikisha Kutu kwenye Raspberry Pi. Wakati mbaya: - / lakini nimebadilisha amri hapa chini kushughulikia suala hilo. Tunatumahi watarekebisha hii hivi karibuni. Ninafanya kazi kuunda picha ambayo watu wanaweza kupakua na kuchoma kwenye kadi ya SD. Ikiwa ungependa hiyo, tafadhali wasiliana nami.
kuuza nje RUSTUP_USE_HYPER = 1curl https://sh.rustup.rs -sSf | sh
Pakua nambari ya chanzo ya Ultrasonic Pi Piano
Nambari ya chanzo ya nambari ya chanzo ya Ultrasonic Piano imewekwa kwenye github. Kuna chaguzi mbili za kupata nambari. Ikiwa unajua git na github, unaweza kushikilia repo:
git clone [email protected]: TheGizmoDojo / UltrasonicPiPiano.git
Vinginevyo, unaweza kupakua faili ya zip ya nambari mpya.
Unganisha nambari ya chanzo
UltrasonicPiPiano
kujenga mizigo - tafadhali
Jaribu nambari
Kabla ya kuendelea kufanya muziki katika hatua inayofuata, wacha tuhakikishe kwamba programu inaendesha na kwamba tunaweza kusoma data halali kutoka kwa sensorer.
Tumia amri ifuatayo kuendesha programu. Hii itasoma data kutoka kwa sensorer na kutafsiri katika maelezo ya MIDI ambayo yanachapishwa kwenye koni. Unapohamisha mkono wako juu ya sensorer, unapaswa kuona data ikizalishwa. Ikiwa sivyo, basi ruka kwenda kwenye sehemu ya utatuzi mwishoni mwa hii inayoweza kufundishwa.
kukimbia mizigo - tafadhali
Ikiwa unataka kujua, bendera ya "- tafadhali" inaambia Rust kukusanya nambari kwa ufanisi zaidi, tofauti na mpangilio wa "-debug".
Hatua ya 7: Fanya Muziki
Hakikisha kuwa bado uko kwenye saraka ambapo umepakua nambari ya chanzo na utumie amri ifuatayo.
Hati hii ya "run.sh" inahakikisha kuwa nambari imekusanywa na kisha inaendesha nambari hiyo, ikitoa bomba kwenye fluidsynth.
./kimbia.sh
Hakikisha kuwa umeongeza spika zilizounganishwa na jack ya sauti ya 3.5mm kwenye Raspberry Pi na unapaswa kusikia muziki unapotembeza mikono yako juu ya sensorer.
Ikiwa hausiki muziki na una kiunga cha HDMI kimeambatanishwa, basi pato la sauti labda linaenda huko badala yake. Ili kurekebisha hili, fanya tu amri hii na uanze tena Piano ya Piano:
Sudo amixer cset nambari = 3 1
Kubadilisha sauti
Kiasi (au "faida") imetajwa na kigezo cha "-g" hadi fluidsynth. Unaweza kurekebisha run.sh na kubadilisha thamani hii. Tafadhali kumbuka kuwa mabadiliko madogo katika parameter hii husababisha mabadiliko makubwa kwa sauti, kwa hivyo jaribu kuiongeza kwa kiwango kidogo (kama 0.1 au 0.2).
Hatua ya 8: Udhibiti wa Ishara
Tazama video iliyoambatishwa na hatua hii kwa onyesho kamili la mradi huo, pamoja na jinsi udhibiti wa ishara unavyofanya kazi.
Wazo ni rahisi sana. Programu inafuatilia ni sensorer gani zinazofunikwa (ndani ya 10cm) na ambazo sio. Hii inatafsiri kwa nambari 8 za binary (1 au 0). Hii ni rahisi sana, kwani mlolongo wa nambari 8 za binary hufanya "byte" ambayo inaweza kuwakilisha nambari kati ya 0 na 255. Ikiwa haujui tayari juu ya nambari za binary basi ninapendekeza sana kutafuta mafunzo. Nambari za kibinadamu ni ujuzi wa kimsingi wa kujifunza ikiwa unataka kujifunza zaidi juu ya programu.
Programu inachora ramani ya hali ya sensorer kwa baiti moja inayowakilisha ishara ya sasa. Ikiwa nambari hiyo inakaa sawa kwa idadi ya mizunguko, basi programu inachukua hatua hiyo.
Kwa sababu sensorer za ultrasonic haziaminiki sana na kunaweza kuingiliwa kati ya sensorer, utahitaji kutumia uvumilivu wakati wa kutumia ishara. Jaribu kutofautisha umbali ambao umeshikilia mikono yako kutoka kwa sensorer na vile vile pembe ambayo umeshikilia mikono yako. Wewe baridi pia jaribu kushikilia kitu gorofa na imara juu ya sensorer ili kuonyesha vizuri sauti.
Hatua ya 9: Kufanya Banda
Ikiwa unataka kuifanya maonyesho ya kudumu na uweze kuionyesha kwa watu, labda utataka kutengeneza aina fulani ya kizuizi. Hii inaweza kutengenezwa kwa mbao, kadibodi, au vifaa vingine vingi. Hapa kuna video inayoonyesha eneo tunalofanyia kazi mradi huu. Hii imetengenezwa kwa kuni, na mashimo yamechimbwa kushikilia sensorer za ultrasonic mahali.
Hatua ya 10: Utatuzi na Hatua Zifuatazo
Utatuzi wa shida
Ikiwa mradi haufanyi kazi, kawaida huwa chini ya hitilafu ya wiring. Chukua muda wako kukagua miunganisho yote mara mbili.
Suala jingine la kawaida linashindwa kuwezesha SPI na kuwasha tena pi.
Tafadhali tembelea https://theotherandygrove.com/octasonic/ kwa nyaraka kamili pamoja na vidokezo vya utatuzi, na Rust na nakala maalum za Python, na pia habari juu ya jinsi ya kupata msaada.
Hatua Zifuatazo
Mara tu mradi unafanya kazi, ninapendekeza kujaribu nambari na kujaribu vyombo tofauti vya muziki. Nambari za chombo cha MIDI ni kati ya 1 na 127 na zimeandikwa hapa.
Je! Unataka chombo kimoja cha muziki na kila sensorer ikicheza octave tofauti? Labda ungependa kila sensaji iwe kifaa tofauti badala yake? Uwezekano ni karibu bila kikomo!
Natumai ulifurahiya hii inayoweza kufundishwa. Tafadhali penda ikiwa ulifanya, na hakikisha unisajili hapa na kwa kituo changu cha YouTube ili kuona miradi ya baadaye.
Ilipendekeza:
Ishara ya "NEON": Ishara 9 (na Picha)
Ishara inayoongozwa na "NEON": Katika hii isiyoweza kubadilika, nitaonyesha jinsi ya kufanya ishara ya neon-ishara na chaguzi zilizoongozwa na za kijijini. Kwenye amazon unaweza kupata seti kamili ya vipande vilivyoongozwa vya kijijini kwa karibu $ 25. Unaweza kudhibiti rangi, mwangaza na / au uwe na pre-p
Hawk ya Ishara: Roboti Iliyodhibitiwa na Ishara ya Mkono Kutumia Picha ya Usindikaji wa Picha: Hatua 13 (na Picha)
Hawk ya Ishara: Robot Iliyodhibitiwa na Ishara ya Mkono Kutumia Picha ya Usindikaji wa Picha: Hawk ya Ishara ilionyeshwa katika TechEvince 4.0 kama muundo rahisi wa picha ya msingi wa mashine ya kibinadamu. Huduma yake iko katika ukweli kwamba hakuna sensorer za ziada au za kuvaliwa isipokuwa glavu inahitajika kudhibiti gari ya roboti inayoendesha tofauti
Ishara ya pikseli ya LED ya Ishara ya Acrylic: Hatua 6 (na Picha)
Ishara ya Pikseli ya LED Lit Ishara ya Akriliki: Mradi rahisi ambao unaonyesha njia rahisi ya kutengeneza ishara iliyoboreshwa iliyowaka ya akriliki. Ishara hii hutumia anwani za RGB-CW (nyekundu, kijani kibichi, bluu, nyeupe nyeupe) saizi za LED zinazotumia chipset ya SK6812. Diode nyeupe iliyoongezwa haihitajiki, lakini haina
Jinsi ya Kurekebisha Urahisi "Ishara / Mwanga" Ishara kwa Programu Rahisi ya Arduino: Hatua 7 (na Picha)
Jinsi ya Kurekebisha Urahisi "Ishara / Mwanga" Ishara kwa Programu Rahisi ya Arduino: Katika hii nitafundisha nitaonyesha jinsi mtu yeyote anaweza kugeuza kitu na taa kuwa taa inayowaka ya arduino inayowaka au " Kusonga Taa "
Ishara iliyoamilishwa ya Ishara ya Uga wa Usalama: Hatua 4 (na Picha)
Ishara iliyoamilishwa Ishara ya Uga wa Usalama: Ishara za jadi za mfumo wa usalama hazifanyi chochote. Kwa kweli hawajabadilika sana katika kipindi cha miaka 30 iliyopita. Walakini, ni vizuizi vya thamani maadamu vimewekwa mahali wazi katika yadi yako na vinaonekana vizuri. Napenda