Obsah:

Prototyp soundboardu Arduino-Raspberry Pi: 9 kroků (s obrázky)
Prototyp soundboardu Arduino-Raspberry Pi: 9 kroků (s obrázky)

Video: Prototyp soundboardu Arduino-Raspberry Pi: 9 kroků (s obrázky)

Video: Prototyp soundboardu Arduino-Raspberry Pi: 9 kroků (s obrázky)
Video: Raspberry Pi Soundboard 2024, Listopad
Anonim
Prototyp soundboardu Arduino-Raspberry Pi
Prototyp soundboardu Arduino-Raspberry Pi

Prototyp soundboardu vytvořeného pomocí Arduina a Raspberry Pi má být jednoduchým způsobem přehrávání 4 různých zvuků nebo zvuků a zároveň má možnost přepínat zvukové sady pomocí ovladače a zobrazovat aktuální zvukovou sadu pomocí LCD obrazovky.

*Poznámka: Kód projektu je z 99% dokončen, ale není funkční.

Raspberry Pi ovládá obrazovku LCD 16x2 a rotační kodér, zatímco Arduino čte analogové vstupy z odporově citlivých rezistorů (FSR) a vysílá signál do Arduina, aby přehrával zvuk. Oba jsme v této třídě nikdy nepoužívali Arduino nebo Pi, ale náš profesor nám poskytl všechny potřebné nástroje a pokyny pro snadné kódování a vybudování tohoto projektu. K modelování našeho projektu byl použit TinkerCad, bezplatný online nástroj pro 3D modelování od AutoDesk.

Nejtěžší částí projektu bylo najít způsob, jak přimět Arduino a Raspberry Pi komunikovat pomocí sériové komunikace. Původně jsme chtěli pouze použít Pi pro celý projekt, ale potřebovali jsme Arduino, abychom mohli přečíst analogový signál z FSR. Byli jsme snadno schopni odeslat řádky slov nebo čísel z Arduina a zobrazit je na Pi, ale problém nastal, když jsme se pokusili načíst tyto hodnoty do Pythonu a implementovat je do stavových příkazů, abychom je mohli zpracovat.

Požadované dovednosti

  • Jednoduché porozumění C/C ++ pro kódování Arduino
  • Jednoduché porozumění kódování Pythonu pro Raspberry Pi
  • Znalosti o tom, jak je prkénko zapojeno
  • Základní dovednosti 3D modelování
  • Touha naučit se a rozšířit programování, zapojení a budování něčeho úhledného

Seznam součástí

1 x Raspberry Pi 3

1 x Elegoo Uno NEBO Arduino Uno

1 x 830 Tie Breadboard

1 x GPIO Breakout Board (RSP-GPIO)

1 x Plochý kabel pro Breakout Board

4 x rezistory citlivé na malou sílu

1 x základní 16x2 znakový LCD displej

1 x modul rotačního kodéru

24 x Dráty mezi mužem a ženou

10 x kabel samec - samec

4 x 10k odpory

1 x 10k potenciometr

1 x Podložka na koleno ze zahradní pěny (obchod s dolary)

Krok 1: Otestujte FSR pomocí Arduina

Otestujte FSR pomocí Arduina
Otestujte FSR pomocí Arduina

Nejprve jsme se rozhodli vyzkoušet FSR s Arduinem. FSR vysílají analogový signál, a proto jsme museli použít Arduino, protože Pi nepřijímá analog bez dalších obvodů. Chtěli jsme otestovat prahové hodnoty, abychom se ujistili, že lisy mají dobrý tlak. Zjistili jsme, že je to asi 150 z celkových 1000. Sériový plotter na Arduino IDE byl pro tento krok velmi užitečný.

Krok 2: Nakreslete plány rady

Nakreslete plány rady
Nakreslete plány rady
Nakreslete plány rady
Nakreslete plány rady

Poté jsme sestavili a změřili plány desky. Chtěli jsme mít 4 pady pro přehrávání zvuků, místo pro LCD obrazovku pro zobrazení aktuální zvukové skupiny a otočný kodér pro změnu zvukové skupiny.

Krok 3: Modelování desky v TinkerCad

Modelujte desku v TinkerCad
Modelujte desku v TinkerCad
Modelujte desku v TinkerCad
Modelujte desku v TinkerCad
Modelujte desku v TinkerCad
Modelujte desku v TinkerCad

Po sepsání plánů jsme desku vymodelovali na online bezplatném webu pro 3D modelování s názvem TinkerCad od Autodesk. Vřele doporučujeme pro ty z vás, kteří nechtějí utrácet spoustu peněz za velký software pro 3D modelování, protože je snadno použitelný, cloudový a má plnou podporu 3D tisku.

Poté, co byl modelován, museli jsme jej rozdělit na 2 kusy, aby se vešel na tiskárnu. Vytisklo se to opravdu dobře, ale mojí chybou bylo nevhodně dimenzovat slot pro LCD obrazovku (nedělejte tu chybu!) Nahráli jsme soubory. STL na levou a pravou stranu, pokud si je přejete zkontrolovat.

Krok 4: Otestujte LCD obrazovku

Otestujte LCD obrazovku
Otestujte LCD obrazovku

Už jsme použili obrazovku na Arduinu a nastavení bylo velmi snadné. S Pi to však bylo náročnější spustit. S několika hodinami řešení problémů na Googlu a vrtěním se s dráty jsme to konečně dostali do práce. Podívejte se prosím na konečný kód Pythonu na konci, abyste zjistili, jak to fungovalo. Použili jsme několik webových stránek, které nám pomohly propojit to a napsat kód. Podívejte se na ně:

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

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

Krok 5: Otestujte rotační kodér s LCD obrazovkou

Otestujte rotační kodér pomocí obrazovky LCD
Otestujte rotační kodér pomocí obrazovky LCD

Poté jsme chtěli zjistit, zda můžeme při otočení kodéru změnit obrazovku LCD na text. Kodér nemá nastavený počet úhlů nebo otáček, takže jsme v kódu spočítali, kolikrát byl otočen ve směru nebo proti směru hodinových ručiček, a nastavili jeho počet na 3. Pokud by přešel, vrátil by se zpět na 0 a pokud by klesla pod 0, vrátila by se až na 3. Tato čísla lze nastavit pro libovolný počet zvukových sad, které se vám líbí, ale my jsme nakonec skončili pouze s testováním jedné zvukové sady. Ujistěte se, že jsou vaše zvuky ve stejné složce/umístění, kde se spouští hlavní kód Pythonu.

Krok 6: Sestavte desku

Sestavte desku
Sestavte desku
Sestavte desku
Sestavte desku
Sestavte desku
Sestavte desku

FSR sklouzávají pod čtyři různé sloty. Vycentrovali jsme je a přelepili páskou. Doporučujeme lepicí pásku nebo dokonce lepení, protože jednoduchá skotská páska byla hrozná při lepení na 3D tištěný materiál. Po rychlém výletu do dolarového obchodu jsme našli měkkou, ale rozmačkanou zahradní podložku na kolena, kterou jsme mohli rozřezat na čtyři kusy a použít jako tlačítka na desce. Stříhali jsme je tak, aby se mohly pohodlně vejít na svá místa, aby mohly zůstat na svém místě, ale také je bylo možné v případě potřeby snadno odstranit.

Krok 7: Zapojte vše

Zapojte to všechno
Zapojte to všechno
Zapojte to všechno
Zapojte to všechno

Po sestavení desky a vložení FSR, kodéru a obrazovky jsme vše zapojili. Mohli byste použít 2 prkénka, ale na jedno jsme dokázali vměstnat vše. Obrázek vypadá jako nepořádek, ale vytvořili jsme schematický diagram ve volném programu Fritzing. Všimněte si, že můžete změnit, ke kterým kolíkům chcete vše připojit, ale diagram odpovídá našemu kódu.

Krok 8: Dokončete kódování VŠE

Tohle byla ošemetná část. Jak je uvedeno v úvodu, tuto část jsme nemohli dokončit. Kód je tam na 99%, ale jedna část, která nefungovala, byla sériová komunikace z Arduina do Pi. Informace jsme mohli snadno odeslat, když jsme připojili Arduino k Pi pomocí kabelu USB, ale Pi nemohl dělat nic kromě zobrazení těchto informací na obrazovce. Chtěli jsme být schopni zjistit, které tlačítko bylo stisknuto, a vytvořit z něj konkrétní zvuk, ale data přicházející přes komunikaci nebylo možné vložit do příkazu podmínky, abychom mohli otestovat, jaké tlačítko bylo stisknuto.

Podívejte se prosím na přiložený kód, poznámky byly komentovány v kódu Pythonu pro Pi. Kód Arduino by měl být 100%.

Krok 9: Závěr

Uzavřít
Uzavřít

Celkově byl tento projekt pro nás dva OBROVSKÝ zážitek z učení a doufáme, že tento zápis může poskytnout budoucím studentům, učitelům nebo dráteník nějakou inspiraci pro jejich vlastní projekt a vést je tím, že se poučí z našich chyb. Křičte na našeho úžasného profesora robotiky, který nám během vyučování nesmírně pomohl a dal nám příležitost užít si spoustu zábavy a hodně se naučit ve třídě senior COMP! Děkuji za přečtení:)

Doporučuje: