Sisukord:

Bluetooth -juhitav Arduino LED kohvilaud: 10 sammu (piltidega)
Bluetooth -juhitav Arduino LED kohvilaud: 10 sammu (piltidega)

Video: Bluetooth -juhitav Arduino LED kohvilaud: 10 sammu (piltidega)

Video: Bluetooth -juhitav Arduino LED kohvilaud: 10 sammu (piltidega)
Video: Leap Motion SDK 2024, November
Anonim
Bluetooth -juhitav Arduino LED kohvilaud
Bluetooth -juhitav Arduino LED kohvilaud
Bluetooth -juhitav Arduino LED kohvilaud
Bluetooth -juhitav Arduino LED kohvilaud
Bluetooth -juhitav Arduino LED kohvilaud
Bluetooth -juhitav Arduino LED kohvilaud
Bluetooth -juhitav Arduino LED kohvilaud
Bluetooth -juhitav Arduino LED kohvilaud

See oli minu esimene tõeline Arduino projekt ja see on ka minu esimene juhendatav, nii et olge kommentaarides lahke:) Tahtsin proovida vastata küsimustele, mis aitasid mul natuke aega välja mõelda ja üksikasjalikud juhised anda, nii et kui olete harrastajaga väga tuttav elektroonika, siis saate tõenäoliselt iga sammu läbi vaadata, kuid kui olete selle jaoks uus, peaks see teile kõik vajaliku pakkuma.

Projekti eesmärk oli luua 12 x 12 piksline ekraan kohvilauda, mida saab juhtida bluetoothi kaudu ja kasutada sellel laheda valgustusena/mängida.

Selle ehituse jaoks vajate järgmisi osi:

  1. Arudino Mega (või kloon)-https://www.amazon.co.uk/Arduino-Mega-2560-R3-Micr…
  2. Arduino mikro -SD -kaardi kilp (ma kasutasin seda ja jootsin päised sisse) -
  3. Micro SD -kaart - sobib mis tahes suurus, kuid see peab olema vormindatud FAT32 -s
  4. 5m WS2812B Lisatav LED -riba -
  5. HC05 Bluetooth -moodul -
  6. 5 V 6 Amp toiteallikas-(ma kasutasin seda, kuid eBays on sada muud)
  7. Ikea LACK laud (harrastajate klassika) -
  8. Juurdepääs laserlõikurile 3 mm vineerile (või väga kindlale käele). Laserlõigatud osi saate veebist tellida erinevatest kohtadest (näiteks
  9. Valge pihustusvärv
  10. 2 m alumiiniumist T -sektsioon (1 1/2 x 1 1/2 x 1/8) -
  11. 450 mm x 450 mm x 6 mm klaasist ülaosa (enamik kohalikke klaasijaid saab teie jaoks kohandatud tükke lõigata, kuid ma kasutasin neid poisse
  12. 1 x 100 mikro Farad kondensaatorit
  13. 2 x 1k takisti
  14. 1 x 2k takisti
  15. 1 x lineaarne pöörlev potentsiomeeter
  16. Erinevad džemprid (prototüüpimise ajal ilmselt tosin)
  17. Vähemalt kolme värvi suhteliselt paksud kaablid jootmiseks (see võib tõmmata suuri voolusid, nii et ma ei soovitaks toiteallikaks hüppajajuhtmeid)
  18. Stripboard sisemise vooluahela jaoks (ärge muretsege, see on väga lihtne)

Vajalikud tööriistad:

  1. Jootekolb + joodis
  2. Paar tükki
  3. Traadi eemaldajad
  4. Mingisugune Dremel või mosaiik laua lõhkumiseks. Kasutasin seda https://www.amazon.co.uk/gp/product/B0078LENZC/ref… spiraalsete lõiketeradega

1. samm: esialgne test ja paigutus

Esialgne test ja paigutus
Esialgne test ja paigutus
Esialgne test ja paigutus
Esialgne test ja paigutus
Esialgne test ja paigutus
Esialgne test ja paigutus

Esimene sadam on lõigata LED -riba vajalikeks pikkusteks. Seda LED -riba on tõesti lihtne kasutada, kuna sellel on ainult 3 tihvti ja see paneb Arduino tegelikku tööd tegema. Lõikasin pooli 12 osaks, igaüks pikkusega 12 LED -i, nagu joonisel näidatud, ja asetasin need laua tagaküljele, et aidata mul visualiseerida, kuhu ma sellega lähen.

Siis jäid mul mõned LED -id üle, nii et ühendasin need Arduino UNO -ga, mida pidin testima, kas need toimivad (saate kasutada ka projekti ülevaates mainitud Megat). Selleks lõikasin ja koorisin mõned isased isased päised ja jootsin need LED -riba otsas olevate padjandite külge. Ribal WS2812 kasutasin 5 V juhtmest punast, maandus on valge ja andmed on rohelised. Pöörake kindlasti tähelepanu WS2812B ribale trükitud suuna noolele, et mitte proovida saata andmeid vales suunas. Ühendasin 5V liini Arduino 5V -ga, Groundi GND -ga ja andmed pin 6 -ga 1k takisti järjestikku. Pidage meeles, et WS2812B valgusdioodide Fritzingu skeem erineb pisut minu tarnitud skeemidest - piisab sellest, kui veenduda, et andmed on ühendatud tihvtiga 6, Gnd on ühendatud maaga ja 5 on ühendatud 5 V pingega.

Nii vähese valgusdioodiga (5 või nii) peaks Arduino toiteallikaks sobima; kuid te ei saa paljusid toiteallikaid kasutada, kuna kui need on täisvalged, tõmbavad valgusdioodid kuni 60 mA ja võivad Arduino kiiresti üle koormata.

Eeldades, et teil on Arduino IDE (kui see pole alla laaditud ja installitud), määrake kiibistiku tüübiks Arduino, mis teil on, ja määrake COM -port selliseks, mis kuvab suvandites Arduino. Laadige nüüd alla FastLED -kogu ja installige see (https://fastled.io/). Avage näide striptest.h ja määrake visandis olevate valgusdioodide arvuks nii palju, kui palju teil on (mul jäi 5). Vajutage kinnitust ja (eeldades, et kõik läheb hästi) laadige see Arduinosse üles ja peaksite nägema, et väikese riba tuled süttivad ja värvi muudavad.

2. samm: maatriksi ja ribalaua jootmine

Maatriksi ja ribalaua jootmine
Maatriksi ja ribalaua jootmine
Maatriksi ja ribalaua jootmine
Maatriksi ja ribalaua jootmine
Maatriksi ja ribalaua jootmine
Maatriksi ja ribalaua jootmine

Nüüd on aeg hakata LED -maatriksit looma.

Lõika 11 lühikest pikkust igast kolmest traadivärvist. Veenduge, et need oleksid piisavalt pikad, et minna ühe riba lõpust järgmise riba alguseni. LED -ribade paigaldamisel peate veenduma, et andmevoo nool järgib madu. Kui see on välja pandud, jootke hoolikalt iga juhitud rida järgmisele reale, nagu joonisel näidatud. See on oluliselt lihtsam, kui kasutate iga ühenduse tüübi jaoks sama värvi.

Nüüd, rohkem jootmist, peame looma ribalaua, mis hakkab toitevõrgust saama. Jootsin ribaplaadil kaks veergu kokku nii 5V kui ka GND jaoks, et see saaks vooluga paremini hakkama. Vaadake lisatud skemaatilist skeemi, mida peate looma. Kondensaatori jootmisel veenduge, et negatiivne ots on kinnitatud GND rööpa külge, mitte 5V. Kui ribalaud on valmis, peame ühendama +VE ja GND LED -ribaga ning kasutama ka teist poolt varem lõigatud džempritest, et ühendada Arduino toiteallika ja ribalauaga. Nüüd oleks hea aeg lisada Arduinole SD jaotusplaat, et saaksime sinna failid salvestada ja sealt hiljem lugeda. Kui SD -katkestusplaat on paigas, saame ühendada 5V rööpa Vin -tihvtiga ja GND -ga mis tahes Arduino GND -tihvti.

Lõpuks saame ühendada potentsiomeetri analoogsisendiga A0, nagu näidatud, nii et meil on võimalus LED -de heledust juhtida.

Kui see kõik on tehtud, saame striptesti visandi uuesti üles laadida, muutes LED -ide arvu 144. Enne eskiisi üleslaadimist veenduge, et toiteallikas oleks aktiivne. Loodetavasti peaksid kõik valgusdioodid süttima striptesti visandi mustrites, nii et me teame, et kõik töötab.

Samm: Bluetooth -mooduli integreerimine

Bluetooth -mooduli integreerimine
Bluetooth -mooduli integreerimine

Viimane juhtmestik, HC05 seade ühendatakse Arduino Megaga, nagu on näidatud skemaatiliselt. Veenduge, et HC05 seade ühenduks megapistikute Rx1 ja Tx1 portidega - see muudab programmeerimise palju lihtsamaks ja väldib tarkvararakenduse kasutamist.

NB! HC05 seade võtab kas 5 V sisse või 3,3 V sisse ja töötab üldiselt 3,3 V loogikaga, nii et ühendasin selle 3,3 V rööpaga. Mõned teised juhendid on näidanud Tx (Arduino) kuni Rx (HC05 seadmel) potentsiaalse jagaja ahelaga, et lüüa Arduino 5 V loogika HC05 mooduli algtasemele. See on põhjus, miks mul oli osade loendis 1k ja 2k takistid; aga ma ei viitsinud ja tundub minu laual täiesti õnnelik:)

4. samm: tabeli häkkimine

Tabeli häkkimine
Tabeli häkkimine
Tabeli häkkimine
Tabeli häkkimine
Tabeli häkkimine
Tabeli häkkimine

Nüüd peame hakkama lauda lõikama, et anda oma LEDidele ja elektroonikale uus kodu.

Märgistage esmalt LACK lauaplaadi ülaosa keskel ruut 450 mm x 450 mm. Dremeli (või pusle) abil lõigake ruut nii hästi kui võimalik, et see jääks sirgeks. Nüüd saame eemaldada ülaosa ja papi sisemised osad, jättes teile õõnsa lauaplaadi, nagu pildil näidatud. Dremeli uuesti kasutades saame laua põhja nurka augu puurida, nii et meil oleks kuskilt toitekaabel läbi viia.

Kui tabel on ette valmistatud, saame LED -id teipida umbes õigesse asendisse, enne kui jätkame järgmiste sammudega. Leidsin, et on kasulik veenduda, et elektroonika on õige pärast igat sammu, nii et proovige uuesti kõige stripstuuri visandit.

Kui olete end mugavalt tundnud, on kõik oma õiges kohas, siis võite puurida paar väikest auku, et toiteallikas väikeste poltide abil laua serva sisse paigaldada. Valisin Arduino paigaldamise laua taha, et saaksin soovi korral hõlpsasti ümber programmeerida, kuid see on paigaldatud tagurpidi laua põhja ja pole kergesti nähtav. Paigaldasin ka potentsiomeetri läbi laua põhja, et heleduse regulaator kena ja professionaalne välja näeks.

Samm: laserlõigatud osad

Laserlõigatud osad
Laserlõigatud osad
Laserlõigatud osad
Laserlõigatud osad
Laserlõigatud osad
Laserlõigatud osad

Nüüd peame tutvustama laserlõigatud osi, mis moodustavad ruutude maatriksi, nii et oleme määratlenud pikslid. Olen lisanud puitmaatriksi moodustavate laserlõigatud osade dxf -failid ja ka nende pildid, et saaksite teada, millised need välja peaksid nägema. Need on valmistatud kahest eraldi osast, üks läheb mööda iga LED -rida ja teine ristab neid. Ristuvate osade allosas on välja lõigatud 10 mm kõrgune vahe, mis võimaldab juhtmestiku läbida. Seda pilu võiks vähendada 5 mm -ni, kuna näib, et valgusti lekib ühelt pikslilt teisele.

Mõlema osa 11 koopiat tuleb 3 mm vineerist laseriga välja lõigata ja seejärel kokku panna, et veenduda, kas need sobivad õigesti. Kui olete õnnelik, võtke maatriks uuesti lahti ja piserdage valgeks, et parandada laua peegeldavaid omadusi. Kui need on kuivad, pange need uuesti kokku ja asetage need LED -ide kohale. Pärast pihustamist võib neid veidi raskem kokku sobitada, kuna need on nüüd veidi paksemad, kuid ärge muretsege, koputage neid enne maatriksi lauale panemist õrnalt oma kohale.

6. samm: Glediator

Glediator
Glediator
Glediator
Glediator

Nüüd on meil kogu riistvara rakendatud, et saaksime hakata tarkvara vaatama. Laadisin alla ja installisin tarkvara nimega Glediator, et luua LED -ide jaoks animatsioone (https://www.solderlab.de/index.php/software/glediat…). Paigaldusjuhised võivad olla pisut keerulised, kuid järgige veebisaiti tähelepanelikult ja teil peaks kõik korras olema. Samuti peame visandi Glediator veebisaidilt alla laadima, et see Arduinosse üles laadida (https://www.solderlab.de/index.php/downloads/catego…). Me kasutame WS2812B LED -e, nii et veenduge, et laadite alla õige (WS2812 Glediator Interface). Kui olete selle visandi avanud, muutke NUMBER_OF_PIXELS väärtuseks 144 ja laadige see Arduinosse üles.

Kui Glediator on installitud, saame hakata laual animatsioone mängima. Esiteks peame seadistama Glediator tarkvara maatriksi suuruseks 12 x 12 ja ka väljundi tüübiks HSBL - Horisontaalne madu (käivitamine) all vasakul, kuna nii oleme LED -id ühendanud ja värvide järjekorra muutnud GRB -ks (selleks võtavad LED -id andmeid). Avage vahekaardil väljund COM -port ja LED -maatriks peaks hakkama LED -mustrit kuvama Glediator tarkvara keskmisel ekraanil.

Saate luua animatsioone ja salvestada need.dat -faili, mille saame SD -kaardile üles laadida, mis tähendab, et teie lemmikanimatsioone saab lauale kuvada ilma arvutit ühendamata. Internetis on selle kohta mõned õpetused (näiteks https://hackaday.io/project/5714-glediator-from-sd…). Olen selle jaoks töötamiseks muutnud mõnda erinevat koodi allikat, nii et minu kood peaks olema korras.

Animatsioonide salvestamisel salvestage need kindlasti nimega „animX.dat”, kus X on suvaline arv vahemikus 1–15. Saate minu koodis paar rida muutes rohkem rakendada.

NB! Glediator-failide salvestamisel on tarkvaras viga, mis tähendab, et see ei mäleta, kuidas LED-riba ühendasite. Oma koodis olen rakendanud lihtsa funktsiooni paarisarvuliste ridade järjekorra ümberpööramiseks, mis tähendab, et kõik kuvatakse õigesti

Samm: Bluetoothi jadakontroll

Bluetoothi jadakontroll
Bluetoothi jadakontroll
Bluetoothi jadakontroll
Bluetoothi jadakontroll

Nutitelefoni ja Arduino vahelise bluetooth -ühenduse seadistamine osutus üllatavalt keeruliseks, kuid on mõned lihtsad sammud, mis muudavad selle palju lihtsamaks. Esiteks peate oma nutitelefoni jaoks rakenduse alla laadima. Kasutasin https://play.google.com/store/apps/details?id=com…. aga tõenäoliselt on olemas iphone ekvivalent (mille eest peate maksma; p)

Võib -olla olete märganud, et HC05 moodulil on väike lüliti. Kui lülitate selle lüliti alla, lülitub see AT-režiimi, mis tähendab, et saate selle parameetreid küsida ja soovi korral neid muuta.

Laadige lisatud eskiis üles Mega -seadmesse ja seadke arvutis jadakiiruseks 9600. Ühendage HC05 toide lahti ja vajutage selle uuesti ühendamisel nuppu. Vilkuv peaks nüüd olema umbes kord kahe sekundi jooksul - nüüd on HC05 AT -režiimis.

Nüüd saame jadamonitoris saata HC05 -le käske ja näha selle vastust. Sisestage "AT" ja vajutage saatmist ning jadamonitoril peaksite nägema "OK" - nüüd teame, et see kuulab. Seadme bluetooth -nime saab muuta, sisestades "AT+NAME = XYZPQR", kus XYZPQR on mooduli nimi. Helistasin oma LightWave'ile. Bluetooth -mooduli vaikimisi pääsukood on 1234 (või 0000), kuid seda saab ka muuta, saates näiteks "AT+PSWD = 9876". Lõpuks saame muuta HC05 suhtluskiirust, saates "AT+UART = 38400". See on enamiku HC05 moodulite vaikeväärtus, kuid minu oma määrati teisiti, seega on hea tava see kindel olla. Nende käskude kohta leiate palju lisateavet siit: https://www.itead.cc/wiki/Serial_Port_Bluetooth_M… ja selle sammu kohta on ka palju üksikasjalikumaid juhiseid https://www.instructables.com/id/Modify -HC-05-…

Nüüd võime proovida moodulitele bluetooth -seadme kaudu käske saata. Ühendage esmalt lahti HC05 mooduli toide ja seejärel uuesti. Peaksite nägema, et LED -i vilkumiskiirus on palju kiirem - see tähendab, et see ootab nüüd sidumist. Avage nutitelefonis rakendus Arduino Bluetooth Controller ja leidke HC05 moodul. Kui te pole nime muutnud, kannab see tõenäoliselt nime HC05 või sarnane. Kui teile pakutakse ühenduse loomise võimalusi, valige terminalirežiim. Nüüd proovige saata mõned numbrid ja tekst ning vaadata, kas arvuti jadamonitor teatab, et need on vastu võetud. Loodetavasti on neil nii, et saaksime edasi liikuda, kui mitte, siis on palju juhiseid, mis võivad teile mõned näpunäited anda (näiteks

Viimane asi, mida teha, on kaardistada kontrolleri sisendid numbritega, millega Arduino saab midagi teha. Kasutasin järgmisi väärtusi:

Üles = 1, Alla = 2, Vasakul = 3, Õige = 4, Algus = 5, Valige = 6.

8. samm: mängud

Mängud
Mängud

Ma ei võta mängu koodi eest au. Kasutasin siit leitud lähtekoodi https://github.com/davidhrbaty/IKEA-LED-Table, mille on kirjutanud davidhrbaty. Siiski olen seda muutnud mitmel erineval viisil:

  1. Lisasin potentsiomeetri väärtusel põhineva heleduse piiramise funktsiooni, et saaksime heledust muuta
  2. Eemaldasin telliste mängu, kuna ei saanud seda kompileerida
  3. Muutsin tetrisplokkide värvikoode nii, et need olid kõik erinevat värvi
  4. Korraldasin menüü ümber
  5. Rakendasin võimaluse animatsioone SD -kaardilt mängida
  6. Lisasin menüüsse kõrge punktisumma jälgimise ja kõrge skoori kuvamisvaliku

Lisatud kood peaks kohe töötama, kuid kui mitte, siis minu soovitus oleks eemaldada mängud, mis näivad põhjustavat veateateid, ja kontrollida koodi uuesti, kuni saate teada, kus probleem on. Seejärel lisage järk -järgult keerukamaks.

Selle koodi algne autor tegi fantastilist tööd, ehitades midagi, mis on tõesti modulaarne ja mida on lihtne lisada. Täiendavate juhtumite lisamine tabelisse funktsioonide lisamiseks pole nii keeruline.

Menüüs on järgmised valikud.

  1. SD -kaart - taasesitab SD -kaardile salvestatud animatsioone
  2. Tetris
  3. Madu
  4. Pong
  5. Täringud - juhusliku nuberi generaator vahemikus 1 kuni 6
  6. Animatsioon - kogum animatsioone FastLED -i teegist
  7. Stars Animation - EDIT - Olen nüüd selle animatsiooni asemel rakendanud Conway elumängu
  8. Vikerkaare animatsioon
  9. Rekordid - kuvab tetrise ja madu kõrgeid tulemusi

Enne mängimise alustamist peate SD -kaardile looma kaks txt -faili, millest üks on "teths.txt" ja teine "snkhs.txt". Mõlemasse faili sisestage number 0 ja salvestage need SD -kaardi juurkausta. Need on rekordite jälgimise failid ja neid värskendatakse iga kord, kui rekordit lüüakse. Kui soovite selle lähtestada, muutke lihtsalt arvutis väärtused tagasi 0 -le.

Kui olete programmi LED_table programmi Arduinole üles laadinud, saate avada jadamonitori ja peaksite nägema bluetooth -käske nende saatmisel - nii teate, et kõik töötab hästi.

9. samm: naudi

Nautige
Nautige
Nautige
Nautige
Nautige
Nautige

Jääb vaid üles laadida põhiline LED -tabeli kood Megasse ja seejärel nautida mängimist ning anda mulle teada oma rekordid!

Ootan endiselt lauaplaadi osade saabumist (alumiiniumist T -sektsioon ja klaas), kuid laud töötab nüüd hästi ja saan sellel mänge mängida.

Andke mulle teada, kui teil on kommentaare, muudatusi või märkate minu tehtud vigu.

Samm: värskendage

Image
Image
Värskenda
Värskenda
Värskenda
Värskenda

Nüüd on see täiesti valmis!:)

Lõpuks võtsin servi jaoks kätte alumiiniumist T -sektsiooni ja tegin oma parima töö vuugi niitmisel (selgub, et 45 kraadi on üks raskemaid nurki), kuid see on peaaegu täielikult kandiline. Ülaosa jaoks otsustasin hankida paksema klaasilehe (425 x 425 x 8 mm) ja ma hõõrusin alumise külje, kasutades Rustoleumi klaasist härmatise pihustit. Ülaosa ja nurgatükkide ühendamiseks kasutasin tavalist tihendit (silikoontihendit), nii et vajadusel oleks liitekohtades veidi painduvust.

Värskendatud värskendus. Nüüd olen lisanud menüüsse Conway elumängu 7. valikuna, mitte tähtede animatsiooni, kuna ma pole seda kunagi kasutanud. Kui te ei tea, mis see mäng on, siis googeldage, kuid põhimõtteliselt on see nullmängija, mis näitab kolme lihtsa reegli alusel evolutsiooni. Conway elumäng

Värskenda^3. Olen teinud koodis mõningaid muudatusi, nii et see sisaldab nüüd veaparandust seoses punaste LED -de hämardamisega ja sisaldab menüüs ka valikut jõulupuu animatsiooni. Nautige.

Soovitan: