Turinys:

„Arduino-Raspberry Pi“garso plokštės prototipas: 9 žingsniai (su nuotraukomis)
„Arduino-Raspberry Pi“garso plokštės prototipas: 9 žingsniai (su nuotraukomis)

Video: „Arduino-Raspberry Pi“garso plokštės prototipas: 9 žingsniai (su nuotraukomis)

Video: „Arduino-Raspberry Pi“garso plokštės prototipas: 9 žingsniai (su nuotraukomis)
Video: Leap Motion SDK 2024, Lapkritis
Anonim
„Arduino-Raspberry Pi“garso plokštės prototipas
„Arduino-Raspberry Pi“garso plokštės prototipas

Garso plokštės prototipas, sukurtas naudojant „Arduino“ir „Raspberry Pi“, yra paprastas būdas groti 4 skirtingus garsus ar triukšmus, tuo pačiu suteikiant galimybę perjungti garso rinkinius rankenėle ir rodyti esamą garso rinkinį LCD ekrane.

*Atkreipkite dėmesį: projekto kodas 99% baigtas, tačiau jis neveikia.

„Raspberry Pi“valdo 16x2 skystųjų kristalų ekraną ir sukamąjį kodavimo įrenginį, o „Arduino“skaito analogines įvestis iš jėgai jautrių rezistorių (FSR) ir siunčia signalą „Arduino“, kad jis paleistų garsą. Mes abu niekada nenaudojome „Arduino“ar „Pi“prieš šią pamoką, tačiau mūsų profesorius suteikė mums visas reikalingas priemones ir gaires, kad galėtume lengvai koduoti ir kurti šį projektą. Mūsų projektui modeliuoti buvo naudojamas nemokamas „AutoDesk“3D modeliavimo įrankis „TinkerCad“.

Sunkiausia projekto dalis buvo rasti būdą, kaip priversti „Arduino“ir „Raspberry Pi“bendrauti su serijiniu ryšiu. Iš pradžių norėjome naudoti „Pi“tik visą projektą, tačiau mums reikėjo „Arduino“, kad galėtume nuskaityti analoginį signalą iš FSR. Mes lengvai galėjome išsiųsti žodžių ar skaičių eilutes iš „Arduino“ir parodyti jį „Pi“, tačiau problema kilo tada, kai bandėme nuskaityti šias vertes į „Python“ir įdiegti jas į būsenos teiginius, kad jas apdorotume.

Reikalingi įgūdžiai

  • Paprastas „C/C ++“supratimas „Arduino“kodavimui
  • Paprastas „Python“supratimas, skirtas „Raspberry Pi“kodavimui
  • Žinios, kaip prijungti duonos lentą
  • Pagrindiniai 3D modeliavimo įgūdžiai
  • Noras išmokti ir išplėsti programavimą, laidus ir sukurti kažką tvarkingo

Dalių sąrašas

1 x Raspberry Pi 3

1 x „Elegoo Uno“ARBA „Arduino Uno“

1 x 830 kaklaraištis su duona

1 x GPIO pertraukimo lenta (RSP-GPIO)

1 x juostelės kabelis pertraukimo lentai

4 x mažos jėgos jautrūs rezistoriai

1 x pagrindinis 16x2 simbolių LCD ekranas

1 x rotacinio kodavimo modulis

24 x laidai nuo vyrų iki moterų

10 x laidai nuo vyrų iki vyrų

4x10k rezistoriai

1 x 10k potenciometras

1 x sodo putų kelio pagalvė (dolerių parduotuvė)

1 žingsnis: išbandykite FSR naudodami „Arduino“

Išbandykite FSR naudodami „Arduino“
Išbandykite FSR naudodami „Arduino“

Pirmiausia nusprendėme išbandyti FSR su „Arduino“. FSR siunčia analoginį signalą, todėl turėjome naudoti „Arduino“, nes „Pi“negauna analogo be kitų grandinių. Mes norėjome išbandyti slenksčius, kad įsitikintume, jog spaudos presai yra gerai spaudžiami. Mes nustatėme, kad tai yra apie 150 iš 1000. Arduino IDE serijinis braižytuvas buvo labai naudingas šiam žingsniui.

2 žingsnis: nubrėžkite valdybos planus

Nubraižykite valdybos planus
Nubraižykite valdybos planus
Nubraižykite valdybos planus
Nubraižykite valdybos planus

Tada parengėme ir išmatavome lentos planus. Mes norėjome turėti 4 bloknotus, kuriais būtų galima groti garsus, vietą LCD ekranui, kuriame būtų rodoma dabartinė garso grupė, ir sukamąjį kodavimo įrenginį, kad pakeistume garso grupę.

3 žingsnis: sumodeliuokite lentą TinkerCad

Modeliuokite lentą TinkerCad
Modeliuokite lentą TinkerCad
Modeliuokite lentą TinkerCad
Modeliuokite lentą TinkerCad
Modeliuokite lentą TinkerCad
Modeliuokite lentą TinkerCad

Po to, kai buvo parengti planai, modeliavome plokštę internetinėje nemokamoje 3D modeliavimo svetainėje, kurią Autodesk pavadino TinkerCad. Mes labai rekomenduojame tai tiems iš jūsų, kurie nenori išleisti daugybės pinigų didelei 3D modeliavimo programinei įrangai, nes ji yra paprasta naudoti, pagrįsta debesimis ir visiškai palaiko 3D spausdinimą.

Po to, kai jis buvo sumodeliuotas, turėjome jį padalyti į 2 dalis, kad tilptų į spausdintuvą. Jis atspausdino tikrai gerai, bet mano klaida buvo netinkamas LCD ekrano lizdo dydžio nustatymas (nedarykite šios klaidos!) Jei norite juos patikrinti, įkėlėme kairės ir dešinės pusės. STL failus.

4 veiksmas: išbandykite LCD ekraną

Patikrinkite LCD ekraną
Patikrinkite LCD ekraną

Mes jau naudojome „Arduino“ekraną ir jį buvo labai lengva nustatyti. Tačiau jį paleisti su „Pi“buvo sunkiau. Praleidę kelias trikčių šalinimo valandas „Google“ir blaškydamiesi laidais, pagaliau pradėjome veikti. Pabaigoje peržiūrėkite galutinį „Python“kodą, kad pamatytumėte, kaip jis veikė. Mes naudojome keletą svetainių, kad padėtų mums prisijungti ir parašyti kodą. Patikrinkite juos:

learn.adafruit.com/drive-a-16x2-lcd-direct…

www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…

5 veiksmas: išbandykite rotacinį kodavimo įrenginį naudodami LCD ekraną

Patikrinkite rotacinį kodavimo įrenginį naudodami LCD ekraną
Patikrinkite rotacinį kodavimo įrenginį naudodami LCD ekraną

Tada norėjome sužinoti, ar sukant kodavimo priemonę galime pakeisti LCD ekrano tekstą. Kodavimo įrenginyje nėra nustatyto kampų ar apsisukimų, todėl kode suskaičiavome, kiek kartų jis buvo pasuktas pagal laikrodžio rodyklę arba prieš laikrodžio rodyklę, ir suskaičiavome iki 3. jei jis būtų mažesnis nei 0, jis vėl padidėtų iki 3. Šiuos skaičius galima nustatyti tiek, kiek jums patinka garsų rinkiniai, bet mes galiausiai išbandėme tik vieną garso rinkinį. Įsitikinkite, kad jūsų garsai yra tame pačiame aplanke/vietoje, kur vykdomas pagrindinis „Python“kodas.

6 žingsnis: Surinkite lentą

Surinkite lentą
Surinkite lentą
Surinkite lentą
Surinkite lentą
Surinkite lentą
Surinkite lentą

FSR slysta po keturiais skirtingais laiko tarpsniais. Mes juos sucentravome ir priklijavome. Rekomenduojame klijuoti lipnią juostą ar net klijuoti, nes paprasta lipni juosta buvo baisi prilipti prie 3D spausdintos medžiagos. Po greitos kelionės į dolerių parduotuvę radome minkštą, bet glotnų sodo kelio pagalvėlę, kurią galėjome supjaustyti į keturias dalis ir naudoti kaip lentos mygtukus. Mes juos supjaustėme taip, kad jie galėtų tvirtai įsitaisyti savo vietose, kad galėtų likti vietoje, bet prireikus būtų lengvai pašalinami.

7 žingsnis: prijunkite viską

Sujunkite viską
Sujunkite viską
Sujunkite viską
Sujunkite viską

Surinkę plokštę ir įdėję FSR, kodavimo įrenginį ir ekraną, mes viską sujungėme. Galite naudoti 2 duonos lentas, bet mes sugebėjome viską sutalpinti į vieną. Paveikslėlis atrodo kaip netvarka, tačiau mes sukūrėme schemą nemokamoje programoje „Fritzing“. Atminkite, kad galite pakeisti kaiščius, prie kurių norite viską pritvirtinti, tačiau schema atitinka mūsų kodą.

8 žingsnis: Užbaikite kodavimą VISKĄ

Tai buvo sudėtinga dalis. Kaip nurodyta įžangoje, negalėjome užbaigti šios dalies. Visas kodas yra 99%, tačiau viena dalis, kuri neveikė, buvo nuoseklusis ryšys iš „Arduino“į „Pi“. Mes galėjome lengvai nusiųsti informaciją, kai USB kabeliu prijungėme „Arduino“prie „Pi“, tačiau „Pi“nieko negalėjo padaryti, išskyrus tos informacijos rodymą ekrane. Mes norėjome pasakyti, kuris mygtukas buvo paspaustas, ir leisti tam tikrą garsą, tačiau per ryšį gautų duomenų nepavyko sudėti į būsenos pareiškimą, kad būtų galima patikrinti, koks mygtukas buvo paspaustas.

Žiūrėkite pridedamą kodą, pastabos buvo pakomentuotos „Python“kode. „Arduino“kodas turėtų būti 100%.

9 žingsnis: padarykite išvadą

Išvada
Išvada

Apskritai, šis projektas mums buvo didžiulė mokymosi patirtis, ir mes tikimės, kad šis rašinys gali suteikti būsimiems studentams, mokytojams ar meistrams įkvėpimo savo projektui ir padėti jiems mokytis iš mūsų klaidų. Šaukitės mūsų nuostabaus robotikos profesoriaus, kuris nepaprastai padėjo mūsų klasėje ir suteikė mums galimybę smagiai praleisti laiką ir daug išmokti vyresnio amžiaus COMP klasėje! Ačiū, kad skaitote:)

Rekomenduojamas: