Obsah:

Prototyp zvukovej dosky Arduino-Raspberry Pi: 9 krokov (s obrázkami)
Prototyp zvukovej dosky Arduino-Raspberry Pi: 9 krokov (s obrázkami)

Video: Prototyp zvukovej dosky Arduino-Raspberry Pi: 9 krokov (s obrázkami)

Video: Prototyp zvukovej dosky Arduino-Raspberry Pi: 9 krokov (s obrázkami)
Video: Lesson 1: What is Arduino? Types of Arduino Boards and SunFounder Kit | SunFounder Robojax 2024, November
Anonim
Prototyp zvukovej dosky Arduino-Raspberry Pi
Prototyp zvukovej dosky Arduino-Raspberry Pi

Prototyp zvukovej dosky vytvorený pomocou Arduino a Raspberry Pi má byť jednoduchým spôsobom prehrávania 4 rôznych zvukov alebo zvukov a zároveň má možnosť prepínať zvukové sady pomocou gombíka a zobrazovať aktuálnu zvukovú sadu pomocou obrazovky LCD.

*Poznámka: Kód projektu je z 99% kompletný, ale nie je funkčný.

Raspberry Pi ovláda obrazovku 16x2 LCD a rotačný kodér, zatiaľ čo Arduino číta analógové vstupy z odporovo citlivých odporov (FSR) a vysiela signál do Arduina, aby prehral zvuk. Obaja sme nikdy predtým nepoužívali Arduino alebo Pi v tejto triede, ale náš profesor nám poskytol všetky potrebné nástroje a pokyny na ľahké kódovanie a zostavenie tohto projektu. Na modelovanie nášho projektu bol použitý TinkerCad, bezplatný online nástroj na 3D modelovanie od AutoDesk.

Najťažšou časťou projektu bolo nájsť spôsob, ako prinútiť Arduino a Raspberry Pi komunikovať so sériovou komunikáciou. Pôvodne sme chceli použiť Pi iba na celý projekt, ale na čítanie analógového signálu z FSR sme potrebovali Arduino. Z Arduina sme mohli ľahko odosielať riadky slov alebo čísel a zobrazovať ich na Pi, ale problém nastal, keď sme sa pokúsili načítať tieto hodnoty do Pythonu a implementovať ich do príkazov podmienok na ich spracovanie.

Vyžadované schopnosti

  • Jednoduché pochopenie C/C ++ pre kódovanie Arduino
  • Jednoduché pochopenie kódovania Python pre Raspberry Pi
  • Vedomosti o tom, ako je drôtový panel zapojený
  • Základné znalosti 3D modelovania
  • Túžba naučiť sa a rozšíriť programovanie, zapojenie a budovanie niečoho úhľadného

Zoznam dielov

1 x Raspberry Pi 3

1 x Elegoo Uno ALEBO Arduino Uno

1 x 830 Kravata na kravatu

1 x GPIO Breakout Board (RSP-GPIO)

1 x Stužkový kábel pre nástenku

4 x rezistory citlivé na malú silu

1 x základný 16 x 2 znakový LCD displej

1 x modul rotačného enkodéra

24 x Mužské - Samičie vodiče

10 x mužské až mužské vodiče

4 x 10k odpory

1 x 10k potenciometer

1 x Chrániče kolien zo záhradnej peny (obchod s dolárom)

Krok 1: Otestujte FSR pomocou Arduina

Otestujte FSR s Arduino
Otestujte FSR s Arduino

Najprv sme sa rozhodli vyskúšať FSR s Arduinom. FSR vysielajú analógový signál, a preto sme museli použiť Arduino, pretože Pi neprijíma analógy bez ďalších obvodov. Chceli sme otestovať prahové hodnoty, aby sme sa presvedčili, že lisy majú dobrý tlak. Zistili sme, že je to asi 150 z celkového počtu 1 000. Sériový plotter na IDE Arduino bol v tomto kroku veľmi nápomocný.

Krok 2: Nakreslite plány rady

Vypracujte plány rady
Vypracujte plány rady
Vypracujte plány rady
Vypracujte plány rady

Potom sme zostavili a zmerali plány pre tabuľu. Chceli sme mať 4 podložky na prehrávanie zvukov, miesto na LCD obrazovku na zobrazenie aktuálnej skupiny zvukov a otočný kodér na zmenu skupiny zvukov.

Krok 3: Modelovanie dosky v TinkerCad

Modelujte dosku v TinkerCad
Modelujte dosku v TinkerCad
Modelujte dosku v TinkerCad
Modelujte dosku v TinkerCad
Modelujte dosku v TinkerCad
Modelujte dosku v TinkerCad

Po vypracovaní plánov sme modelovali dosku na online bezplatnom webovom serveri 3D modelovania s názvom TinkerCad od Autodesk. Vrelo odporúčame pre tých z vás, ktorí nechcú minúť veľa peňazí na veľký softvér pre 3D modelovanie, pretože je ľahký na používanie, v cloude a má plnú podporu 3D tlače.

Keď bol modelovaný, museli sme ho rozdeliť na 2 časti, aby sa zmestili na tlačiareň. Vytlačilo sa to naozaj dobre, ale mojou chybou bolo nevhodne zvoliť veľkosť otvoru pre obrazovku LCD (nerobte chybu!) Nahrali sme súbory. STL na ľavú a pravú stranu, ak si ich chcete pozrieť.

Krok 4: Otestujte obrazovku LCD

Otestujte obrazovku LCD
Otestujte obrazovku LCD

Obrazovku sme už použili na Arduine a jej nastavenie bolo veľmi jednoduché. S Pi to však bolo náročnejšie spustiť. S niekoľkými hodinami riešenia problémov na Googli a vrtením sa v drôtoch sme sa konečne dostali do práce. Ako to fungovalo, nájdete v konečnom kóde Pythonu na konci. Na prepojenie a napísanie kódu sme použili niekoľko webových stránok. Pozrite sa na ne:

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 obrazovkou LCD

Otestujte rotačný snímač s LCD obrazovkou
Otestujte rotačný snímač s LCD obrazovkou

Potom sme chceli zistiť, či by sme mohli otočiť kodér zmeniť obrazovku LCD na text. Kodér nemá nastavený počet uhlov alebo otáčok, takže v kóde sme spočítali, koľkokrát bol otočený v smere alebo proti smeru hodinových ručičiek, a napočítal do 3. Ak by prešiel, vrátil by sa späť na 0 a keby klesla pod 0, vrátilo by sa to späť na 3. Tieto čísla je možné nastaviť pre ľubovoľný počet zvukových súborov, ktoré sa vám páčia, ale my sme skončili iba s testovaním jednej zvukovej sady. Uistite sa, že sú vaše zvuky v rovnakom priečinku/mieste, ako je miesto, kde sa vykonáva hlavný kód Pythonu.

Krok 6: Zostavte dosku

Zostavte dosku
Zostavte dosku
Zostavte dosku
Zostavte dosku
Zostavte dosku
Zostavte dosku

FSR sa zasúvajú pod štyri rôzne sloty. Vycentrovali sme ich a prelepili páskou. Odporúčame lepiacu pásku alebo dokonca lepenie, pretože jednoduchá škótska páska bola prilepená na 3D tlačený materiál hrozná. Po rýchlej ceste do obchodu s dolármi sme našli mäkkú, ale hebkú záhradnú kolennú podložku, ktorú sme mohli rozrezať na štyri kusy a použiť ako tlačidlá na doske. Strihali sme ich tak, aby sa mohli pohodlne zmestiť na svoje miesta, aby mohli zostať na svojom mieste, ale v prípade potreby ich tiež bolo možné ľahko odstrániť.

Krok 7: Zapojte všetko

Zapojte to všetko
Zapojte to všetko
Zapojte to všetko
Zapojte to všetko

Po zostavení dosky a umiestnení FSR, kodéra a obrazovky na miesto sme všetko zapojili. Môžete použiť 2 chlebové platne, ale na jedno sme zmestili všetko. Obrázok vyzerá ako neporiadok, ale vytvorili sme schematický diagram vo voľnom programe s názvom Fritzing. Všimnite si toho, že môžete zmeniť, ku ktorým kolíkom chcete všetko pripojiť, ale diagram zodpovedá nášmu kódu.

Krok 8: Dokončite kódovanie VŠETKO

Toto bola ošemetná časť. Ako sa uvádza v úvode, túto časť sme nemohli dokončiť. Kód je tam na 99%, ale tá časť, ktorá nefungovala, bola sériová komunikácia z Arduina do Pi. Informácie sme mohli ľahko odoslať, keď sme pripojili Arduino k Pi pomocou kábla USB, ale Pi nedokázal nič iné, iba tieto informácie zobraziť na obrazovke. Chceli sme byť schopní zistiť, ktoré tlačidlo bolo stlačené, a vytvoriť z neho konkrétny zvuk, ale údaje prichádzajúce z komunikácie nebolo možné vložiť do príkazu podmienky, aby sme mohli otestovať, aké tlačidlo bolo stlačené.

Pozrite si priložený kód, poznámky boli komentované v kóde Pythonu pre Pi. Kód Arduino by mal byť 100%.

Krok 9: Záver

Záver
Záver

Celkovo bol tento projekt pre nás dvoch OBROVSKOU skúsenosťou s učením a dúfame, že tento text môže budúcim študentom, učiteľom alebo drotárom poskytnúť inšpiráciu pre ich vlastný projekt a usmerniť ich poučením sa z našich chýb. Kričte na nášho úžasného profesora robotiky, ktorý nám počas vyučovania nesmierne pomohol a dal nám príležitosť užiť si veľa zábavy a veľa sa naučiť v seniorskej triede COMP! Vďaka za prečítanie:)

Odporúča: