Sisällysluettelo:

Prototyyppi Arduino-Raspberry Pi Soundboard: 9 vaihetta (kuvilla)
Prototyyppi Arduino-Raspberry Pi Soundboard: 9 vaihetta (kuvilla)

Video: Prototyyppi Arduino-Raspberry Pi Soundboard: 9 vaihetta (kuvilla)

Video: Prototyyppi Arduino-Raspberry Pi Soundboard: 9 vaihetta (kuvilla)
Video: Raspberry Pi Soundboard 2024, Joulukuu
Anonim
Prototyyppi Arduino-Raspberry Pi Soundboard
Prototyyppi Arduino-Raspberry Pi Soundboard

Arduinon ja Raspberry Pi: n luoman prototyyppisen soundboardin on tarkoitus olla yksinkertainen tapa toistaa 4 erilaista ääntä tai ääntä samalla, kun sinulla on mahdollisuus vaihtaa äänisarjoja nupilla ja näyttää nykyinen äänisarja LCD -näytöllä.

*Huomaa: Projektin koodi on 99% valmis, mutta ei toimiva.

Raspberry Pi ohjaa 16x2 LCD -näyttöä ja kiertokooderia, kun taas Arduino lukee analogiset tulot voimaherkistä vastuksista (FSR) ja lähettää signaalin Arduinolle äänen toistamiseksi. Emme olleet koskaan käyttäneet Arduinoa tai Piä ennen tätä luokkaa, mutta professori antoi meille kaikki tarvittavat työkalut ja ohjeet tämän projektin koodaamiseen ja rakentamiseen. Projektimme mallintamiseen käytettiin TinkerCadia, AutoDeskin ilmaista online -3D -mallinnustyökalua.

Hankkeen vaikein osa oli löytää tapa saada Arduino ja Raspberry Pi kommunikoimaan sarjaviestinnän kanssa. Alunperin halusimme käyttää Pi: tä koko projektin ajan, mutta tarvitsimme Arduinoa, jotta voisimme lukea FSR: ien analogisen signaalin. Pystyimme helposti lähettämään sanarivejä tai numeroita Arduinosta ja näyttämään sen Pi: llä, mutta ongelma tuli, kun yritimme lukea nämä arvot Pythoniin ja toteuttaa ne ehtolausekkeina niiden käsittelemiseksi.

Vaaditut taidot

  • Yksinkertainen käsitys C/C ++: sta Arduino -koodauksessa
  • Yksinkertainen ymmärrys Pythonista Raspberry Pi -koodaukseen
  • Tietoa siitä, miten leipälauta on kytketty
  • 3D -mallinnuksen perustaidot
  • Halu oppia ja laajentaa ohjelmointia, johdotusta ja rakentaa jotain siistiä

Osa lista

1 x Raspberry Pi 3

1 x Elegoo Uno TAI Arduino Uno

1 x 830 sidontaleipä

1 x GPIO Breakout Board (RSP-GPIO)

1 x nauhakaapeli katkaisulaudalle

4 x pienille voimille herkkiä vastuksia

1 x perus 16x2 merkin LCD -näyttö

1 x pyörivä koodausmoduuli

24 x uros -naarasjohdot

10 x uros -urosjohdot

4 x 10k vastukset

1 x 10k potentiometri

1 x puutarhan vaahtotyyny (dollarin kauppa)

Vaihe 1: Testaa FSR Arduinolla

Testaa FSR Arduinolla
Testaa FSR Arduinolla

Päätimme ensin kokeilla FSR: ää Arduinon kanssa. FSR: t lähettävät analogisen signaalin, ja siksi meidän oli käytettävä Arduinoa, koska Pi ei vastaanota analogia ilman muita piirejä. Halusimme testata kynnyksiä varmistaaksemme, että puristimissa oli hyvä paine. Löysimme sen olevan noin 150 yhteensä 1000: sta. Arduino IDE: n sarjaplotteri oli erittäin hyödyllinen tässä vaiheessa.

Vaihe 2: Piirrä hallituksen suunnitelmat

Piirrä hallitukselle suunnitelmat
Piirrä hallitukselle suunnitelmat
Piirrä hallitukselle suunnitelmat
Piirrä hallitukselle suunnitelmat

Laadimme ja mittasimme hallituksen suunnitelmat. Halusimme saada 4 tyynyä äänien toistamiseen, LCD -näytön paikan nykyisen ääniryhmän näyttämiseksi ja kiertokooderin ääniryhmän vaihtamiseksi.

Vaihe 3: Mallita levy TinkerCadissa

Mallita levy TinkerCadissa
Mallita levy TinkerCadissa
Mallita levy TinkerCadissa
Mallita levy TinkerCadissa
Mallita levy TinkerCadissa
Mallita levy TinkerCadissa

Suunnitelmien laatimisen jälkeen mallinnimme levyn online -ilmaisella 3D -mallinnussivustolla, jonka nimi oli Autodesk, TinkerCad. Suosittelemme sitä niille teistä, jotka eivät halua käyttää paljon rahaa suuriin 3D -mallinnusohjelmistoihin, koska se on helppokäyttöinen, pilvipohjainen ja tukee täysin 3D -tulostusta.

Mallinnuksen jälkeen meidän oli jaettava se kahteen osaan, jotta se mahtuisi tulostimeen. Se tulostui todella hyvin, mutta erehdykseni ei ollut mitoittaa LCD -näytön paikkaa oikein (älä tee sitä virhettä!) Olemme ladanneet vasemman ja oikean puolen. STL -tiedostot, jos haluat tarkistaa ne.

Vaihe 4: Testaa nestekidenäyttö

Testaa LCD -näyttö
Testaa LCD -näyttö

Olimme jo käyttäneet Arduinon näyttöä ja se oli erittäin helppo asentaa. Oli kuitenkin vaikeampaa käyttää sitä Pi: n kanssa. Kun Googlessa oli useita vianmääritystunteja ja jousitimme johtojen kanssa, saimme sen vihdoin toimimaan. Katso lopullinen Python -koodi lopussa nähdäksesi kuinka se toimi. Käytimme muutamia verkkosivustoja, jotka auttoivat meitä johtamaan sen ja kirjoittamaan koodin, ja tarkista ne:

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

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

Vaihe 5: Testaa pyörivä enkooderi nestekidenäytöllä

Testaa kiertokooderia nestekidenäytön avulla
Testaa kiertokooderia nestekidenäytön avulla

Halusimme sitten nähdä, voisimmeko saada LCD -näytön muuttamaan sen tekstiä, kun kooderia käännettiin. Anturilla ei ole tiettyä määrää kulmia tai kierroksia, joten laskimme koodissa kuinka monta kertaa sitä pyöritettiin myötä- tai vastapäivään ja laskimme sen arvoon 3. Jos se menisi yli, se palaisi 0: een ja jos se olisi alle 0, se palaisi takaisin 3. Nämä numerot voidaan asettaa niin monelle äänisarjalle kuin haluat, mutta testasimme vain yhden äänijoukon. Varmista, että äänesi ovat samassa kansiossa/paikassa kuin missä Python -pääkoodi suoritetaan.

Vaihe 6: Kokoa levy

Kokoa lauta
Kokoa lauta
Kokoa lauta
Kokoa lauta
Kokoa lauta
Kokoa lauta

FSR: t liukuvat neljän eri paikan alle. Keskitimme ne ja teipattiin ne. Suosittelemme teippiä tai ehkä jopa liimaamista, koska yksinkertainen teippi oli kamala tarttua 3D -tulostettuun materiaaliin. Nopean matkan jälkeen dollarikauppaan löysimme pehmeän mutta kiiltävän puutarhan polvisuojan, jonka voisimme leikata neljään osaan laudan painikkeiksi. Leikkasimme ne niin, että ne pystyivät istumaan tiukasti paikkoihinsa, jotta ne pysyisivät paikallaan, mutta myös tarvittaessa helposti irrotettavissa.

Vaihe 7: Yhdistä kaikki

Johdottaa kaikki
Johdottaa kaikki
Johdottaa kaikki
Johdottaa kaikki

Kun olemme koonneet levyn ja asettaneet FSR: t, kooderin ja näytön paikoilleen, johdotimme kaiken. Voit käyttää kahta leipälautaa, mutta pystyimme sovittamaan kaiken yhteen. Kuva näyttää sotkuiselta, mutta teimme kaavamaisen kaavion ilmaisessa ohjelmassa nimeltä Fritzing. Huomaa, että voit muuttaa mihin nastoihin haluat kiinnittää kaiken, mutta kaavio vastaa koodiamme.

Vaihe 8: Lopeta KAIKKI koodaus

Tämä oli hankala osa. Kuten johdannossa todettiin, emme voineet suorittaa tätä osaa loppuun. Koodi on 99% kaikki siellä, mutta yksi osa, joka ei toiminut, oli sarjaliikenne Arduinosta Pi: hen. Voisimme lähettää tiedot helposti, kun liitimme Arduinon Pi: hen USB -kaapelilla, mutta Pi ei voinut tehdä mitään muuta kuin näyttää nämä tiedot näytöllä. Halusimme pystyä kertomaan, mitä painiketta painettiin, ja saamaan sen toistamaan tietyn äänen, mutta viestinnän kautta tulleita tietoja ei voitu laittaa ehtoilmoitukseen testatakseen, mitä painiketta painettiin.

Katso liitteenä oleva koodi, huomautuksia on kommentoitu Pi: n Python -koodiin. Arduino -koodin pitäisi olla 100%.

Vaihe 9: Päätä

Päättele
Päättele

Kaiken kaikkiaan tämä projekti oli valtava oppimiskokemus meille kahdelle, ja toivomme, että tämä kirjoitus voi antaa tuleville opiskelijoille, opettajille tai hoitajille inspiraatiota omaan projektiinsa ja ohjata heitä oppimalla virheistämme. Huutakaa mahtavalle robotiikkaprofessorillemme, joka auttoi valtavasti oppitunnillamme ja antoi meille mahdollisuuden pitää hauskaa ja oppia paljon vanhemmassa COMP -luokassa! Kiitos kun luit:)

Suositeltava: