Sadržaj:

Prototip Arduino-Raspberry Pi zvučna ploča: 9 koraka (sa slikama)
Prototip Arduino-Raspberry Pi zvučna ploča: 9 koraka (sa slikama)

Video: Prototip Arduino-Raspberry Pi zvučna ploča: 9 koraka (sa slikama)

Video: Prototip Arduino-Raspberry Pi zvučna ploča: 9 koraka (sa slikama)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Studeni
Anonim
Prototip Arduino-Raspberry Pi zvučne ploče
Prototip Arduino-Raspberry Pi zvučne ploče

Prototip zvučne ploče izrađen s Arduinom i Raspberry Pi zamišljen je kao jednostavan način sviranja 4 različita zvuka ili šuma, dok ima mogućnost prebacivanja zvučnih postavki pomoću gumba i prikaza trenutnog zvučnog skupa na LCD zaslonu.

*Napomena: Kod projekta je 99% dovršen, ali nije funkcionalan.

Raspberry Pi kontrolira 16x2 LCD zaslon i okretni davač, dok Arduino čita analogne ulaze s otpornika osjetljivih na silu (FSR) i šalje signal Arduinu za reprodukciju zvuka. Oboje nikada prije ovog razreda nismo koristili Arduino ili Pi, ali naš profesor nam je dao sve potrebne alate i smjernice za jednostavno kodiranje i izgradnju ovog projekta. TinkerCad, besplatni internetski alat za 3D modeliranje tvrtke AutoDesk, korišten je za modeliranje našeg projekta.

Najteži dio projekta bio je pronaći način na koji će Arduino i Raspberry Pi komunicirati serijskom komunikacijom. Prvotno smo samo željeli koristiti Pi za cijeli projekt, ali trebao nam je Arduino da bismo mogli čitati analogni signal iz FSR -a. Lako smo mogli poslati redove riječi ili brojeva iz Arduina i prikazati ih na Pi, ali problem je nastao kada smo pokušali pročitati te vrijednosti u Pythonu i implementirati ih u izraze uvjeta kako bismo ih obradili.

Potrebne vještine

  • Jednostavno razumijevanje C/C ++ za Arduino kodiranje
  • Jednostavno razumijevanje Pythona za kodiranje Raspberry Pi
  • Znanje o tome kako je ožičena ploča
  • Osnovne vještine 3D modeliranja
  • Želja za učenjem i proširivanjem programiranja, ožičenja i izgradnje nečeg urednog

Popis dijelova

1 x malina Pi 3

1 x Elegoo Uno ILI Arduino Uno

1 x 830 Tie Breadboard

1 x GPIO ploča za probijanje (RSP-GPIO)

1 x vrpčani kabel za razbijanje ploče

4 x otpornici male snage

1 x osnovni LCD zaslon sa 16x2 znakova

1 x Modul rotacijskog kodera

24 x muške do ženske žice

10 x Muški na muški kabel

4 x 10k otpornika

1 x 10k potenciometar

1 x štitnik za koljena od vrtne pjene (trgovina dolarima)

Korak 1: Testirajte FSR s Arduinom

Testirajte FSR s Arduinom
Testirajte FSR s Arduinom

Prvo smo odlučili isprobati FSR s Arduinom. FSR -ovi šalju analogni signal pa smo morali koristiti Arduino jer Pi ne prima analogno bez drugih krugova. Željeli smo testirati pragove kako bismo bili sigurni da su preše pod dobrim pritiskom. Otkrili smo da ih je to oko 150 od ukupno 1000. Serijski ploter na Arduino IDE -u bio je od velike pomoći u ovom koraku.

Korak 2: Nacrtajte planove za ploču

Nacrtajte planove za ploču
Nacrtajte planove za ploču
Nacrtajte planove za ploču
Nacrtajte planove za ploču

Zatim smo sastavili i izmjerili planove za ploču. Željeli smo imati 4 jastučića za reprodukciju zvukova, mjesto za LCD zaslon za prikaz trenutne grupe zvukova i rotacijski koder za promjenu grupe zvukova.

Korak 3: Modelirajte ploču u TinkerCadu

Modelirajte ploču u TinkerCadu
Modelirajte ploču u TinkerCadu
Modelirajte ploču u TinkerCadu
Modelirajte ploču u TinkerCadu
Modelirajte ploču u TinkerCadu
Modelirajte ploču u TinkerCadu

Nakon izrade planova, ploču smo modelirali na internetskoj, besplatnoj web stranici za 3D modeliranje pod nazivom TinkerCad tvrtke Autodesk. Toplo ga preporučujemo onima od vas koji ne žele potrošiti tone novca na veliki softver za 3D modeliranje jer je jednostavan za korištenje, zasnovan na oblaku i ima potpunu podršku za 3D ispis.

Nakon što smo ga modelirali, morali smo ga podijeliti na 2 dijela kako bismo ga stavili na pisač. Ispisalo se jako dobro, ali moja greška nije bila to što sam dobro odredio veličinu utora za LCD zaslon (nemojte pogriješiti!) Prenijeli smo lijevu i desnu stranu. STL datoteke ako ih želite provjeriti.

Korak 4: Testirajte LCD zaslon

Testirajte LCD zaslon
Testirajte LCD zaslon

Već smo koristili zaslon na Arduinu i bilo ga je vrlo jednostavno postaviti. Međutim, bilo je teže pokrenuti ga s Pi -jem. S nekoliko sati rješavanja problema na Googleu i petljanjem po žicama, napokon smo to uspjeli. Pogledajte konačni Python kod na kraju da vidite kako je to funkcioniralo. Koristili smo nekoliko web stranica koje su nam pomogle u povezivanju i pisanju koda. Provjerite ih:

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

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

Korak 5: Testirajte rotacijski davač s LCD zaslonom

Testirajte rotacijski davač pomoću LCD zaslona
Testirajte rotacijski davač pomoću LCD zaslona

Zatim smo htjeli vidjeti možemo li LCD zaslon promijeniti kada se koder okreće. Davač nema postavljenu količinu kutova ili rotacija, pa smo u kodu brojali koliko je puta rotiran u smjeru kazaljke na satu ili suprotno od kazaljke na satu te smo brojali do 3. Ako bi prešao, vratio bi se na 0, a da je pao ispod 0, vratio bi se na 3. Ti se brojevi mogu postaviti za koliko god želite zvučnih skupova, ali na kraju smo testirali samo jedan skup zvukova. Provjerite jesu li vaši zvukovi u istoj mapi/mjestu na kojem se izvršava glavni Python kôd.

Korak 6: Sastavite ploču

Sastavite ploču
Sastavite ploču
Sastavite ploču
Sastavite ploču
Sastavite ploču
Sastavite ploču

FSR -ovi klize ispod četiri različita utora. Centrirali smo ih i zalijepili. Preporučujemo ljepljivu traku ili možda čak i lijepljenje jer je jednostavna ljepljiva traka bila užasna u lijepljenju na 3D ispisani materijal. Nakon kratkog odlaska u trgovinu s dolarima, pronašli smo mekanu, ali mekanu vrtnu štitnicu za koljena koju smo mogli izrezati na četiri dijela koja će se koristiti kao gumbi na ploči. Izrezali smo ih tako da se mogu dobro prilijegati na svoja mjesta kako bi mogli ostati na mjestu, ali i lako ih ukloniti ako je potrebno.

Korak 7: Ožičite sve

Ožičite sve
Ožičite sve
Ožičite sve
Ožičite sve

Nakon sastavljanja ploče i postavljanja FSR -ova, kodera i zaslona na mjesto, sve smo ožičili. Mogli biste koristiti 2 ploče, ali uspjeli smo sve smjestiti na jednu. Slika izgleda kao nered, ali smo napravili shematski dijagram u besplatnom programu pod nazivom Fritzing. Imajte na umu da možete promijeniti na koje pinove želite sve spojiti, ali dijagram odgovara našem kodu.

Korak 8: Dovršite kodiranje SVEGA

Ovo je bio lukav dio. Kao što je navedeno u uvodu, ovaj dio nismo mogli dovršiti. Kod je 99% svega tamo, ali jedan dio koji nije uspio bila je serijska komunikacija od Arduina do Pi. Mogli bismo lako poslati podatke kada smo Arduino spojili na Pi pomoću USB kabela, ali Pi nije mogao učiniti ništa osim prikazati te podatke na ekranu. Željeli smo biti u mogućnosti reći koja je tipka pritisnuta i učiniti da ona reproducira određeni zvuk, ali podaci koji su dolazili kroz komunikaciju nisu se mogli staviti u izraz uvjeta kako bi se testiralo koja je tipka pritisnuta.

Molimo pogledajte priloženi kod, bilješke su komentirane u Python kodu za Pi. Arduino kôd trebao bi biti 100%.

Korak 9: Zaključite

Zaključiti
Zaključiti

Sve u svemu, ovaj je projekt za nas dvoje bilo ogromno iskustvo učenja i nadamo se da će ovo pisanje budućim studentima, učiteljima ili majstorima dati inspiraciju za njihov vlastiti projekt te ih voditi kroz učenje na našim greškama. Pozovite našeg sjajnog profesora robotike koji nam je neizmjerno pomogao tijekom našeg vremena na satu i dao nam priliku da se puno zabavimo i naučimo mnogo u višoj klasi COMP! Hvala na čitanju:)

Preporučeni: