Satura rādītājs:

Ultraskaņas pi klavieres ar žestu vadību!: 10 soļi (ar attēliem)
Ultraskaņas pi klavieres ar žestu vadību!: 10 soļi (ar attēliem)

Video: Ultraskaņas pi klavieres ar žestu vadību!: 10 soļi (ar attēliem)

Video: Ultraskaņas pi klavieres ar žestu vadību!: 10 soļi (ar attēliem)
Video: ❤️💥 𝗦𝗘𝗣𝗧𝗘𝗠𝗕𝗥𝗜𝗘 𝗣𝗘𝗡𝗧𝗥𝗨 𝗧𝗜𝗡𝗘 💥❤️ 𝗗𝗘 𝗟𝗔 𝗩𝗢𝗥𝗕𝗔 𝗟𝗔 𝗙𝗔𝗣𝗧𝗔! 2024, Novembris
Anonim
Image
Image
Ultraskaņas pi klavieres ar žestu vadību!
Ultraskaņas pi klavieres ar žestu vadību!

Šajā projektā tiek izmantoti lēti ultraskaņas sensori HC-SR04 un ģenerētas MIDI piezīmes, kuras var atskaņot, izmantojot Raspberry Pi sintezatoru, lai iegūtu augstas kvalitātes skaņu.

Projektā tiek izmantota arī žestu vadības pamata forma, kur mūzikas instrumentu var nomainīt, dažas sekundes turot rokas pār diviem attālākajiem sensoriem. Kad esat pabeidzis, Raspberry Pi var izslēgt ar citu žestu.

Iepriekš redzamais video parāda gatavo produktu vienkāršā lāzera griezuma korpusā. Vēlāk šajā pamācībā ir padziļināts video, kas izskaidro projekta darbību.

Es izveidoju šo projektu kopā ar The Gizmo Dojo (mana vietējā veidotāju telpa Broomfield, CO), lai izveidotu dažus interaktīvus eksponātus, kurus mēs varētu ņemt līdzi vietējiem STEM/STEAM pasākumiem un Maker Faires.

Lūdzu, pārbaudiet arī jaunāko dokumentāciju un apmācības vietnē https://theotherandygrove.com/octasonic/, kas tagad ietver informāciju par šī projekta Python versiju (šī pamācība tika uzrakstīta Rust versijai).

1. solis: Sastāvdaļas

Lai to izdarītu, jums būs nepieciešamas šādas sastāvdaļas:

  • Raspberry Pi (2 vai 3) ar SD karti
  • 8 HC-SR04 ultraskaņas sensori
  • Octasonic Breakout Board
  • Divvirzienu loģikas līmeņa pārveidotājs
  • 32 x 12 "sieviešu un sieviešu džemperu vadi ultraskaņas sensoru pievienošanai
  • 13 x 6 collu sieviešu un sieviešu džemperu vadi Raspberry Pi, Octasonic un loģikas līmeņa pārveidotāja savienošanai
  • Raspberry Pi piemērots barošanas avots
  • PC skaļruņi vai tamlīdzīgi

Es ieteiktu, ja iespējams, izmantot Raspberry Pi 3, jo tam ir lielāka skaitļošanas jauda, kā rezultātā skaņa ir atsaucīgāka un patīkamāka. Tas var labi darboties ar Raspberry Pi 2 ar nelielu pielāgošanu, bet es nemēģinātu šim projektam izmantot oriģinālo Raspberry Pi.

HC -SR04 ultraskaņas sensoriem ir 4 savienojumi - 5V, GND, Trigger un Echo. Parasti Trigger un Echo ir savienoti ar atsevišķām tapām mikrokontrollerī vai Raspberry Pi, bet tas nozīmē, ka, lai savienotu 8 sensorus, jums jāizmanto 16 tapas, un tas nav praktiski. Tieši šeit ir pieejams Octasonic sadalīšanas panelis. Šī plāksne savienojas ar visiem sensoriem, un tai ir īpašs mikrokontrolleris, kas uzrauga sensorus un pēc tam sazinās ar Raspberry Pi, izmantojot SPI.

HC-SR04 ir nepieciešami 5 V, un Raspberry Pi ir tikai 3,3 V, tāpēc mums ir nepieciešams arī loģikas līmeņa pārveidotājs, kas savienos Raspberry Pi ar Octasonic sadalīšanas paneli.

2. solis: pievienojiet ultraskaņas sensorus Octasonic Board

Pievienojiet ultraskaņas sensorus Octasonic Board
Pievienojiet ultraskaņas sensorus Octasonic Board
Pievienojiet ultraskaņas sensorus Octasonic Board
Pievienojiet ultraskaņas sensorus Octasonic Board

Izmantojiet 4 džemperu vadus, lai savienotu katru ultraskaņas sensoru ar plāksni, uzmanīgi savienojot tos pareizi. Tāfele ir veidota tā, lai tapas būtu tādā pašā secībā kā tapas uz ultraskaņas sensora. No kreisās uz labo pusi uz tāfeles tapas ir GND, Trigger, Echo, 5V.

3. darbība. Pievienojiet loģiskā līmeņa pārveidotāju Octasonic Board

Pievienojiet loģikas līmeņa pārveidotāju Octasonic Board
Pievienojiet loģikas līmeņa pārveidotāju Octasonic Board

Raspberry Pi un Octasonic Board sazinās, izmantojot SPI. SPI izmanto 4 vadus:

  • Ievadiet, atlaidiet (MISO)
  • Iziet, palīgdarboties (MOSI)
  • Sērijas pulkstenis (SCK)
  • Vergu izvēle (SS)

Turklāt mums ir jāpievieno barošana (5V un GND).

Loģikas līmeņa pārveidotājam ir divas puses - zemspriegums (LV) un augstspriegums (HV). Aveņu pieslēgsies LV pusei, jo tas ir 3.3V. Octasonic pieslēgsies HV pusei, jo tas ir 5V.

Šis solis ir paredzēts, lai savienotu Octasonic ar loģiskā līmeņa pārveidotāja HV pusi

Skatiet šim solim pievienoto fotoattēlu, kurā parādīts, kuras tapas jāpievieno loģikas līmeņa pārveidotājam.

Savienojumiem no Octasonic līdz loģikas līmeņa pārveidotājam jābūt šādam:

  • 5V līdz HV
  • SCK līdz HV4
  • MISO uz HV3
  • MOSI līdz HV2
  • SS līdz HV1
  • GND līdz GND

4. solis: savienojiet loģiskā līmeņa pārveidotāju ar Raspberry Pi

Pievienojiet loģiskā līmeņa pārveidotāju Raspberry Pi
Pievienojiet loģiskā līmeņa pārveidotāju Raspberry Pi

Raspberry Pi un Octasonic Board sazinās, izmantojot SPI. SPI izmanto 4 vadus:

  • Ievadiet, atlaidiet (MISO)
  • Iziet, palīgdarboties (MOSI)
  • Sērijas pulkstenis (SCK)
  • Vergu izvēle (SS)

Turklāt mums ir jāpievieno barošana (3.3V un GND). Loģikas līmeņa pārveidotājam ir divas puses - zemspriegums (LV) un augstspriegums (HV). Aveņu pieslēgsies LV pusei, jo tas ir 3.3V. Octasonic pieslēgsies HV pusei, jo tas ir 5V.

Šis solis ir paredzēts Raspberry Pi savienošanai ar loģiskā līmeņa pārveidotāja LV pusi

Savienojumiem no Raspbery Pi līdz loģikas līmeņa pārveidotājam jābūt šādam:

  • 3.3V uz LV
  • GPIO11 (SPI_SCLK) uz LV4
  • GPIO09 (SPI_MISO) uz LV3
  • GPIO10 (SPI_MOSI) uz LV2
  • GPIO08 (SPI_CE0_N) no SS līdz LV1
  • GND līdz GND

Izmantojiet šim solim pievienoto diagrammu, lai Raspberry Pi atrastu pareizās tapas!

5. darbība: pievienojiet Raspberry Pi 5V pie Octasonic 5V

Savienojiet Raspberry Pi 5V ar Octasonic 5V
Savienojiet Raspberry Pi 5V ar Octasonic 5V
Savienojiet Raspberry Pi 5V ar Octasonic 5V
Savienojiet Raspberry Pi 5V ar Octasonic 5V

Ir jāpievieno viens pēdējais vads. Mums faktiski ir jāieslēdz Octasonic plates barošana ar 5 V spriegumu, tāpēc mēs to darām, savienojot vienu no Raspberry Pi 5V tapām ar 5V tapu Octasonic AVR galvenē. Šī ir apakšējā kreisā tapa AVR galvenes blokā (tas ir 2 x 3 bloks paneļa augšējā labajā stūrī). Skatiet pievienoto fotoattēlu, kurā parādīts, kur atrodas AVR bloks.

Skatiet citu pievienoto diagrammu, lai atrastu 5V tapu uz Raspberry Pi.

6. darbība: instalējiet programmatūru

Instalējiet Raspian

Sāciet ar tīru Raspbian Jessie instalēšanu, pēc tam atjauniniet to uz jaunāko versiju:

sudo apt-get update

sudo apt-get jauninājums

Iespējot SPI

Lai šis projekts darbotos, Raspberry Pi ir jāiespējo SPI! Lai to izdarītu, izmantojiet utilītu Raspberry Pi Configuration.

Ir arī svarīgi restartēt Pi pēc SPI iespējošanas, lai tas stātos spēkā

Instalējiet FluidSynth

Fluidsynth ir pārsteidzošs bezmaksas programmatūras MIDI sintezators. To var instalēt no komandrindas, izmantojot šo komandu:

sudo apt-get install fluidsynth

Instalējiet Rust programmēšanas valodu

Ultraskaņas Pi klavieres ir ieviestas Mozilla Rust programmēšanas valodā (tas ir kā C ++, bet bez sliktajiem fragmentiem). To izmanto visi foršie bērni šajās dienās.

Lai instalētu Rust, izpildiet norādījumus vietnē https://rustup.rs/. Lai ietaupītu laiku, norādījumi ir palaist šo vienu komandu. Instalēšanas laikā jūs varat pieņemt noklusējuma atbildes uz visiem jautājumiem.

PIEZĪME: Kopš šīs pamācības ievietošanas ir dažas problēmas, instalējot Rust uz Raspberry Pi. Slikts laiks:-/ bet esmu mainījis zemāk esošo komandu, lai novērstu problēmu. Cerams, ka viņi drīz to novērsīs. Es strādāju pie tā, lai izveidotu attēlu, ko cilvēki var lejupielādēt un ierakstīt SD kartē. Ja vēlaties, lūdzu, sazinieties ar mani.

eksportēt RUSTUP_USE_HYPER = 1curl https://sh.rustup.rs -sSf | sh

Lejupielādējiet Ultrasonic Pi Piano avota kodu

Ultraskaņas Pi Piano avota koda avota kods tiek mitināts vietnē github. Koda iegūšanai ir divas iespējas. Ja esat iepazinies ar git un github, varat klonēt repo:

git klons [email protected]: TheGizmoDojo/UltrasonicPiPiano.git

Varat arī lejupielādēt jaunākā koda zip failu.

Apkopojiet avota kodu

cd UltrasonicPiPiano

kravas būve -izlaišana

Pārbaudiet kodu

Pirms nākamās darbības pāriešanas pie mūzikas, pārliecinieties, vai programmatūra darbojas un vai mēs varam nolasīt derīgus datus no sensoriem.

Lai palaistu lietojumprogrammu, izmantojiet šo komandu. Tas nolasīs datus no sensoriem un pārvērtīs tos MIDI piezīmēs, kuras pēc tam tiek izdrukātas konsolē. Pārvietojot roku virs sensoriem, vajadzētu redzēt, kā tiek ģenerēti dati. Ja nē, pārejiet uz problēmu novēršanas sadaļu šīs instrukcijas beigās.

kravas brauciens -atbrīvošana

Ja jūs interesē, karodziņš "--release" liek Rustam apkopot kodu pēc iespējas efektīvāk, atšķirībā no noklusējuma iestatījuma "--debug".

7. solis: izveidojiet mūziku

Pārliecinieties, vai joprojām atrodaties direktorijā, kurā lejupielādējāt avota kodu, un palaidiet šādu komandu.

Šis skripts "run.sh" nodrošina, ka kods ir apkopots, un pēc tam palaiž kodu, ievadot izvadi fluīdsintē.

./run.sh

Pārliecinieties, vai Raspberry Pi 3,5 mm audio ligzdai ir pievienoti pastiprinātie skaļruņi, un, pārvietojot rokas virs sensoriem, jums vajadzētu dzirdēt mūziku.

Ja jūs nedzirdat mūziku un jums ir pievienots HDMI monitors, tad audio izvade, iespējams, notiek tur. Lai to labotu, vienkārši palaidiet šo komandu un pēc tam restartējiet Pi Piano:

sudo amixer cset numid = 3 1

Skaļuma maiņa

Skaļums (vai "pastiprinājums") tiek norādīts ar parametru "-g", lai šķidrums tiktu sintezēts. Varat mainīt skriptu run.sh un mainīt šo vērtību. Lūdzu, ņemiet vērā, ka nelielas izmaiņas šajā parametrā izraisa lielas apjoma izmaiņas, tāpēc mēģiniet to palielināt par nelielām summām (piemēram, 0,1 vai 0,2).

8. darbība: žestu kontrole

Skatiet šim solim pievienoto video, lai pilnībā demonstrētu projektu, tostarp žestu vadīklu darbību.

Koncepcija ir ļoti vienkārša. Programmatūra izseko, kuri sensori ir pārklāti (10 cm robežās) un kuri nav. Tas nozīmē 8 binārus skaitļus (1 vai 0). Tas ir ļoti ērti, jo 8 bināro skaitļu secība veido “baitu”, kas var attēlot ciparus no 0 līdz 255. Ja jūs vēl nezināt par binārajiem skaitļiem, es ļoti iesaku meklēt pamācību. Binārie skaitļi ir pamatprasme, kas jāapgūst, ja vēlaties uzzināt vairāk par programmēšanu.

Programmatūra kartē sensoru pašreizējo stāvokli vienā baitā, kas attēlo pašreizējo žestu. Ja šis skaitlis paliek nemainīgs vairākus ciklus, tad programmatūra iedarbojas uz šo žestu.

Tā kā ultraskaņas sensori nav īpaši uzticami un var būt traucējumi starp sensoriem, žestu lietošanas laikā jums būs jābūt pacietīgam. Mēģiniet mainīt attālumu, kādā turat rokas no sensoriem, kā arī leņķi, kurā turat rokas. Jūs arī auksti mēģināt turēt kaut ko plakanu un cietu virs sensoriem, lai labāk atspoguļotu skaņu.

9. solis: norobežojuma izgatavošana

Ja vēlaties to padarīt par pastāvīgu eksponātu un parādīt to cilvēkiem, iespējams, vēlēsities izveidot sava veida norobežojumu. To var izgatavot no koka, kartona vai daudziem citiem materiāliem. Šeit ir video, kurā parādīts korpuss, pie kura mēs strādājam pie šī projekta. Tas ir izgatavots no koka, un tajā ir urbti caurumi, lai noturētu ultraskaņas sensorus.

10. darbība: problēmu novēršana un nākamās darbības

Traucējummeklēšana

Ja projekts nedarbojas, tas parasti ir saistīts ar elektroinstalācijas kļūdu. Nesteidzieties, lai vēlreiz pārbaudītu visus savienojumus.

Vēl viena izplatīta problēma ir SPI neiespējošana un pi restartēšana.

Lūdzu, apmeklējiet vietni https://theotherandygrove.com/octasonic/, lai iegūtu pilnu dokumentāciju, tostarp padomus par problēmu novēršanu, ar Rust un Python īpašiem rakstiem, kā arī informāciju par to, kā saņemt atbalstu.

Nākamie soļi

Kad projekts darbojas, es iesaku eksperimentēt ar kodu un izmēģināt dažādus mūzikas instrumentus. MIDI instrumentu kodi ir no 1 līdz 127 un ir dokumentēti šeit.

Vai vēlaties vienu mūzikas instrumentu, kurā katrs sensors spēlē citu oktāvu? Varbūt vēlaties, lai katrs sensors būtu atsevišķs instruments? Iespējas ir gandrīz neierobežotas!

Es ceru, ka jums patika šī pamācība. Lūdzu, atzīmējiet to ar Patīk, ja jums tas patika, un noteikti abonējiet mani šeit un manā YouTube kanālā, lai redzētu turpmākos projektus.

Ieteicams: