Tartalomjegyzék:

Prototípus Arduino-Raspberry Pi Soundboard: 9 lépés (képekkel)
Prototípus Arduino-Raspberry Pi Soundboard: 9 lépés (képekkel)

Videó: Prototípus Arduino-Raspberry Pi Soundboard: 9 lépés (képekkel)

Videó: Prototípus Arduino-Raspberry Pi Soundboard: 9 lépés (képekkel)
Videó: Electronic development kits for prototyping new hardware products 2024, Július
Anonim
Arduino-Raspberry Pi hangtábla prototípusa
Arduino-Raspberry Pi hangtábla prototípusa

Az Arduino és a Raspberry Pi segítségével létrehozott hangtábla prototípusa egyszerű módja annak, hogy 4 különböző hangot vagy zajt játsszon le, miközben lehetőség van a hangkészletek gombokkal történő váltására és az aktuális hangkészlet LCD -képernyőn történő megjelenítésére.

*Kérjük, vegye figyelembe: A projekt kódja 99% -ban kész, de nem működik.

A Raspberry Pi vezérli a 16x2 LCD -képernyőt és a forgó kódolót, míg az Arduino leolvassa az erőérzékeny ellenállások (FSR) analóg bemeneteit, és jelet küld az Arduino -nak, hogy hangot játsszon le. Mindketten soha nem használtunk Arduino -t vagy Pi -t ezen az órán, de professzorunk minden szükséges eszközt és útmutatást adott nekünk a projekt egyszerű kódolásához és felépítéséhez. Projektünk modellezéséhez a TinkerCad, az AutoDesk ingyenes online 3D modellező eszköze volt.

A projekt legnehezebb része az volt, hogy megtalálja a módját, hogy az Arduino és a Raspberry Pi kommunikációra kerüljön soros kommunikációval. Eredetileg csak a PI -t akartuk használni a projekt teljes egészében, de szükségünk volt az Arduino -ra ahhoz, hogy leolvassuk az FSR -ek analóg jelét. Könnyen tudtunk szavakat vagy számokat küldeni az Arduino -ból, és megjeleníteni a Pi -n, de a probléma az volt, amikor megpróbáltuk ezeket az értékeket beolvasni a Pythonba, és feltétel -utasításként megvalósítani őket.

Szükséges készségek

  • A C/C ++ egyszerű megértése az Arduino kódoláshoz
  • A Python egyszerű megértése a Raspberry Pi kódoláshoz
  • A kenyértábla bekötésének ismerete
  • Alapvető 3D modellezési ismeretek
  • A vágy, hogy megtanuljam és kibővítsem a programozást, a vezetékezést és valami ügyes építését

Alkatrészlista

1 x Raspberry Pi 3

1 x Elegoo Uno VAGY Arduino Uno

1 x 830 nyakkendő kenyértábla

1 x GPIO Breakout Board (RSP-GPIO)

1 x szalagkábel a kitörési táblához

4 x kis erősségű érzékeny ellenállás

1 x alap 16x2 karakterű LCD képernyő

1 x forgó kódoló modul

24 x Férfi -női vezetékek

10 x Kábel -férfi vezeték

4x10k ellenállás

1 x 10k potenciométer

1 x kerti hab térdvédő (dollár áruház)

1. lépés: Tesztelje az FSR -t az Arduino segítségével

Tesztelje az FSR -t az Arduino segítségével
Tesztelje az FSR -t az Arduino segítségével

Először úgy döntöttünk, hogy kipróbáljuk az FSR -t az Arduino -val. Az FSR -ek analóg jelet küldenek, ezért Arduino -t kellett használnunk, mivel a Pi nem kap analógot más áramkörök nélkül. Szerettük volna tesztelni a küszöbértékeket, hogy megbizonyosodjunk arról, hogy a prések jó nyomáson vannak -e. Úgy találtuk, hogy körülbelül 150 az összes 1000 -ből. Az Arduino IDE soros plottere nagyon hasznos volt ebben a lépésben.

2. lépés: Rajzolja meg a testület terveit

Rajzolja meg a testület terveit
Rajzolja meg a testület terveit
Rajzolja meg a testület terveit
Rajzolja meg a testület terveit

Ezután összeállítottuk és megmértük a tábla terveit. Szerettünk volna 4 párnát a hangok lejátszására, egy helyet az LCD képernyőn az aktuális hangcsoport megjelenítéséhez, és egy forgó kódolót a hangcsoport megváltoztatásához.

3. lépés: A tábla modellezése TinkerCad alkalmazásban

A Tábla modellezése TinkerCad alkalmazásban
A Tábla modellezése TinkerCad alkalmazásban
A Tábla modellezése TinkerCad alkalmazásban
A Tábla modellezése TinkerCad alkalmazásban
A Tábla modellezése TinkerCad alkalmazásban
A Tábla modellezése TinkerCad alkalmazásban

A tervek elkészítése után a táblát az Autodesk TinkerCad nevű online, ingyenes, 3D -s modellező weboldalán mintáztuk. Nagyon ajánljuk azoknak, akik nem akarnak rengeteg pénzt költeni nagy 3D modellező szoftverre, mivel könnyen használható, felhőalapú és teljes mértékben támogatja a 3D nyomtatást.

A modellezés után 2 részre kellett osztanunk, hogy illeszkedjünk a nyomtatóra. Nagyon jól nyomtatott, de a hibám az volt, hogy nem jól méreteztem az LCD képernyő nyílását (ne kövessük el ezt a hibát!) Feltöltöttük a bal és jobb oldali. STL fájlokat, ha meg akarjuk nézni őket.

4. lépés: Ellenőrizze az LCD képernyőt

Tesztelje az LCD képernyőt
Tesztelje az LCD képernyőt

Már használtuk a képernyőt az Arduino -n, és nagyon könnyű volt beállítani. A Pi -vel azonban nehezebb volt futtatni. Miután több hibaelhárítási órát töltöttünk a Google -on, és huzagoltuk a vezetékeket, végül működésbe lépett. Kérjük, nézze meg a végső Python -kódot a végén, hogy lássa, hogyan működött. Néhány weboldalt használtunk, hogy segítsük a vezetéket és a kód írását. Nézze meg őket:

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

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

5. lépés: A rotációs kódoló tesztelése az LCD -képernyővel

Tesztelje a forgó kódolót az LCD képernyővel
Tesztelje a forgó kódolót az LCD képernyővel

Ezután meg akartuk nézni, hogy meg tudjuk -e változtatni az LCD képernyő szövegét a kódoló elforgatásakor. A kódolónak nincs meghatározott szöge vagy elfordulása, ezért a kódban megszámoltuk, hogy hányszor forgattuk el az óramutató járásával megegyező vagy az óramutató járásával ellentétes irányba, és 3 -ig számoltuk. Ha 0 alá menne, akkor 3 -ra emelkedne vissza. Ezeket a számokat tetszőleges hangkészlethez lehet beállítani, de végül csak egy hanghalmazt teszteltünk. Győződjön meg arról, hogy a hangok ugyanabban a mappában/helyen vannak, mint ahol a fő Python -kódot végrehajtják.

6. lépés: Szerelje össze a táblát

Szerelje össze a táblát
Szerelje össze a táblát
Szerelje össze a táblát
Szerelje össze a táblát
Szerelje össze a táblát
Szerelje össze a táblát

Az FSR -ek a négy különböző rés alá csúsznak. Középre állítottuk és leragasztottuk őket. Javasoljuk a ragasztószalagot vagy esetleg a ragasztást, mert az egyszerű szalag borzasztóan ragaszkodott a 3D nyomtatott anyaghoz. A dollárboltba tett gyors utazás után találtunk egy puha, mégis csípős kerti térdvédőt, amelyet négy darabra vághatunk, hogy gombként használhassuk a táblát. Úgy vágtuk őket, hogy jól illeszkedjenek a foltjaikba, hogy a helyükön maradhassanak, de szükség esetén könnyen eltávolíthatók is legyenek.

7. lépés: Csatlakoztassa az egészet

Vegyük fel az egészet
Vegyük fel az egészet
Vegye fel az egészet
Vegye fel az egészet

Miután összeszereltük a táblát, és a helyére tettük az FSR -eket, a kódolót és a képernyőt, mindent bekötöttünk. Használhat 2 kenyérsütőt, de mindent el tudtunk helyezni egyre. A kép rendetlenségnek tűnik, de egy sematikus diagramot készítettünk a Fritzing nevű ingyenes programban. Ne feledje, hogy megváltoztathatja, hogy milyen csapokat szeretne csatolni, de a diagram megfelel a kódunknak.

8. lépés: fejezze be MINDEN kódolását

Ez volt a trükkös rész. Amint a bevezetőben is szerepel, ezt a részt nem tudtuk befejezni. A kód 99% -a ott van, de az egyik rész, amely nem működött, az Arduino és a Pi közötti soros kommunikáció volt. Könnyen elküldhettük az információkat, amikor az USB -kábellel csatlakoztattuk az Arduino -t a Pi -hez, de a Pi nem tudott mást tenni, csak megjeleníteni ezeket az információkat a képernyőn. Szerettük volna tudni, hogy melyik gombot nyomták meg, és hogy egy adott hangot játsszon le, de a kommunikáción keresztül érkező adatokat nem lehetett feltételi nyilatkozatba helyezni annak tesztelésére, hogy melyik gombot nyomták meg.

Kérjük, tekintse meg a mellékelt kódot, a megjegyzéseket a Pi Python kódjához fűzték. Az Arduino kódnak 100%-nak kell lennie.

9. lépés: Következtetés

Következtetést levonni
Következtetést levonni

Összességében ez a projekt óriási tanulási élmény volt kettőnk számára, és reméljük, hogy ez az írás inspirációt adhat a jövőbeli diákoknak, tanároknak vagy barkácsolóknak saját projektjükhöz, és útmutatást adhat nekik a hibáinkból tanulva. Kiáltson félelmetes robotikai professzorunknak, aki óriási segítséget nyújtott óráinkon, és lehetőséget adott számunkra, hogy rengeteget szórakozzunk és sokat tanuljunk egy magasabb szintű COMP osztályban! Köszönöm, hogy elolvasta:)

Ajánlott: