Sisukord:

Arduino-Raspberry Pi heliplaadi prototüüp: 9 sammu (piltidega)
Arduino-Raspberry Pi heliplaadi prototüüp: 9 sammu (piltidega)

Video: Arduino-Raspberry Pi heliplaadi prototüüp: 9 sammu (piltidega)

Video: Arduino-Raspberry Pi heliplaadi prototüüp: 9 sammu (piltidega)
Video: Leap Motion SDK 2024, November
Anonim
Arduino-Raspberry Pi heliplaadi prototüüp
Arduino-Raspberry Pi heliplaadi prototüüp

Arduino ja Raspberry Pi abil loodud heliplaadi prototüüp on mõeldud lihtsaks viisiks 4 erineva heli või müra esitamiseks, samal ajal kui teil on võimalus helitugevust nupuga vahetada ja praegust helikomplekti LCD -ekraaniga kuvada.

*Pange tähele: projekti kood on 99% ulatuses valmis, kuid ei tööta.

Raspberry Pi juhib 16x2 LCD -ekraani ja pöörlevat kodeerijat, samal ajal kui Arduino loeb jõutundlike takistite (FSR) analoogsisendeid ja saadab Arduinole heli esitamiseks signaali. Me mõlemad polnud kunagi enne seda tundi Arduinot ega Pi kasutanud, kuid meie professor andis meile kõik vajalikud tööriistad ja juhised selle projekti hõlpsaks kodeerimiseks ja koostamiseks. Meie projekti modelleerimiseks kasutati AutoDeski tasuta 3D -modelleerimise tööriista TinkerCad.

Projekti kõige raskem osa oli leida viis, kuidas Arduino ja Raspberry Pi suhelda jadaühendusega. Algselt tahtsime kasutada pi kogu projekti ulatuses, kuid vajasime Arduinot, et lugeda FSR -ide analoogsignaali. Meil oli lihtne saata Arduino sõnade või numbrite ridu ja kuvada see Pi -l, kuid probleem tekkis siis, kui proovisime neid väärtusi Pythonisse lugeda ja rakendada neid tingimuste avaldusteks, et neid töödelda.

Nõutavad oskused

  • Lihtne C/C ++ mõistmine Arduino kodeerimiseks
  • Lihtne arusaam Pythonist Raspberry Pi kodeerimiseks
  • Teadmised leivaplaadi juhtmestiku kohta
  • Põhilised 3D -modelleerimise oskused
  • Soov õppida ja laiendada programmeerimist, juhtmestikku ja millegi korraliku ehitamist

Osade nimekiri

1 x Raspberry Pi 3

1 x Elegoo Uno VÕI Arduino Uno

1 x 830 sidumisleib

1 x GPIO Breakout Board (RSP-GPIO)

1 x lintkaabel Breakout Board jaoks

4 x väikese jõu tundlikud takistid

1 x põhiline 16x2 tähemärgiga LCD -ekraan

1 x pöörleva koodri moodul

24 x meessoost naissoost juhtmed

10 x isane kuni isane juhtmed

4 x 10k takistid

1 x 10k potentsiomeeter

1 x aiavaht põlvekaitsmed (dollaripood)

Samm: testige FSR -i Arduino abil

Testige FSR -i Arduino abil
Testige FSR -i Arduino abil

Otsustasime kõigepealt proovida FSR -i koos Arduinoga. FSR -id saadavad analoogsignaali ja seetõttu pidime kasutama Arduinot, kuna Pi ei võta analoogi vastu ilma muude ahelateta. Tahtsime testida künniseid, et veenduda, kas pressidel on hea rõhk. Leidsime, et see on umbes 150 kokku 1000 -st. Arduino IDE seeriaplotter oli selle sammu jaoks väga kasulik.

2. samm: joonistage juhatuse plaanid

Koostage juhatuse plaanid
Koostage juhatuse plaanid
Koostage juhatuse plaanid
Koostage juhatuse plaanid

Seejärel koostasime ja mõõtsime tahvli plaane. Tahtsime, et meil oleks 4 padja, millega helisid esitada, LCD -ekraani kohta praeguse helirühma kuvamiseks ja pöörleva kodeerijaga helirühma muutmiseks.

3. samm: modelleerige tahvlit TinkerCadis

Plaadi modelleerimine TinkerCadis
Plaadi modelleerimine TinkerCadis
Plaadi modelleerimine TinkerCadis
Plaadi modelleerimine TinkerCadis
Plaadi modelleerimine TinkerCadis
Plaadi modelleerimine TinkerCadis

Pärast plaanide koostamist modelleerisime tahvli veebipõhises tasuta 3D -modelleerimise veebisaidil Autodesk TinkerCad. Soovitame seda neile, kes ei soovi kulutada palju raha suurele 3D -modelleerimistarkvarale, kuna seda on lihtne kasutada, pilvepõhine ja see toetab täielikult 3D -printimist.

Pärast selle modelleerimist pidime selle printerisse mahutamiseks jagama kaheks osaks. See trükiti tõesti hästi välja, kuid minu viga ei olnud LCD -ekraani pesa suuruse suuruse määramine (ärge seda viga tehke!) Kui soovite neid vaadata, laadisime üles vasak- ja parempoolsed. STL -failid.

4. samm: testige LCD -ekraani

Testige LCD -ekraani
Testige LCD -ekraani

Olime Arduino ekraani juba kasutanud ja seda oli väga lihtne seadistada. Piga oli seda aga keerulisem joosta. Kuna Google'is oli mitu vigade otsimise tundi ja juhtmetega askeldamist, saime selle lõpuks tööle. Palun vaadake lõpus olevat Pythoni koodi, et näha, kuidas see töötas. Me kasutasime paari veebisaiti, et aidata meil seda juhtida ja koodi kirjutada. Vaadake neid:

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

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

Samm: katsetage pöördkodeerijat LCD -ekraaniga

Kontrollige pöörlevat kodeerijat LCD -ekraaniga
Kontrollige pöörlevat kodeerijat LCD -ekraaniga

Seejärel tahtsime näha, kas saame kodeerija pööramisel muuta LCD -ekraani teksti. Kodeerijal ei ole määratud arvu nurki ega pöörlemisi, seega lugesime koodis kokku mitu korda seda päripäeva või vastupäeva pööratud ja tegime selle 3 -ks. Kui see üle läheks, läheks see tagasi 0 -le ja kui see läheks alla 0, läheks see tagasi kuni 3. Neid numbreid saab määrata nii paljude helikomplektide jaoks, kui soovite, kuid me testisime ainult ühte helikomplekti. Veenduge, et teie helid oleksid samas kaustas/kohas, kus Pythoni põhikoodi täidetakse.

6. samm: pange plaat kokku

Pange juhatus kokku
Pange juhatus kokku
Pange juhatus kokku
Pange juhatus kokku
Pange juhatus kokku
Pange juhatus kokku

FSR -id libisevad nelja erineva pilu all. Me tsentreerisime need ja teipisime maha. Soovitame kleeplinti või võib -olla isegi liimimist, sest lihtne kleeplint oli 3D -trükitud materjali külge kleepimine kohutav. Pärast kiiret reisimist dollaripoodi leidsime pehme, kuid siidise aia põlvekaitsme, mille saime neljaks tükiks lõigata, et seda tahvli nuppudena kasutada. Lõikasime need nii, et nad suutsid oma kohtadesse tihedalt ära mahtuda, et nad saaksid oma kohal püsida, kuid vajadusel ka kergesti eemaldatavad.

7. samm: ühendage see kõik kokku

Juhtme see kõik üles
Juhtme see kõik üles
Juhtme see kõik üles
Juhtme see kõik üles

Pärast plaadi kokkupanekut ja FSR -ide, kodeerija ja ekraani paika panemist ühendasime kõik juhtmega. Võite kasutada 2 leivaplaati, kuid saime kõik ühele mahutada. Pilt näeb välja nagu jama, kuid tegime skemaatilise diagrammi tasuta programmis nimega Fritzing. Pange tähele, et saate muuta, millistele tihvtidele soovite kõik kinnitada, kuid skeem vastab meie koodile.

8. samm: lõpetage KÕIK kodeerimine

See oli keeruline osa. Nagu sissejuhatuses öeldud, ei saanud me seda osa lõpule viia. Kood on 99% kõik olemas, kuid üks osa, mis ei töötanud, oli jadaühendus Arduino ja Pi vahel. Saime teabe hõlpsalt saata, kui ühendasime Arduino USB -kaabli abil Pi -ga, kuid Pi ei saanud midagi teha, välja arvatud selle teabe kuvamine ekraanil. Tahtsime teada saada, millist nuppu vajutati, ja panna see mängima konkreetset heli, kuid side kaudu saabuvaid andmeid ei saanud panna tingimuste avaldusse, et testida, millist nuppu vajutati.

Palun vaadake lisatud koodi, märkused on kommenteeritud Piytoni Pythoni koodis. Arduino kood peaks olema 100%.

9. samm: tehke kokkuvõte

Järeldus
Järeldus

Üldiselt oli see projekt meie kahe jaoks tohutu õppimiskogemus ja loodame, et see kirjutis võib anda tulevastele õpilastele, õpetajatele või nõustajatele oma projekti jaoks inspiratsiooni ja suunata neid meie vigadest õppides. Hüüdke meie ägedale robootikaprofessorile, kes aitas tohutult meie klassis viibimise ajal ja andis meile võimaluse COMP vanemas klassis palju lõbutseda ja palju õppida! Aitäh lugemast:)

Soovitan: