Tartalomjegyzék:

Bluetooth -vezérelt Arduino LED dohányzóasztal: 10 lépés (képekkel)
Bluetooth -vezérelt Arduino LED dohányzóasztal: 10 lépés (képekkel)

Videó: Bluetooth -vezérelt Arduino LED dohányzóasztal: 10 lépés (képekkel)

Videó: Bluetooth -vezérelt Arduino LED dohányzóasztal: 10 lépés (képekkel)
Videó: Szoboszlai és az andorrai vagány srác #foryou #foryoupage #liverpool #liverpoolfc #szoboszlai 2024, Július
Anonim
Bluetooth vezérlésű Arduino LED dohányzóasztal
Bluetooth vezérlésű Arduino LED dohányzóasztal
Bluetooth vezérlésű Arduino LED dohányzóasztal
Bluetooth vezérlésű Arduino LED dohányzóasztal
Bluetooth vezérlésű Arduino LED dohányzóasztal
Bluetooth vezérlésű Arduino LED dohányzóasztal
Bluetooth vezérlésű Arduino LED dohányzóasztal
Bluetooth vezérlésű Arduino LED dohányzóasztal

Ez volt az első igazi Arduino projektem, és egyben az első oktatható is, ezért légy kedves a megjegyzésekben:) Meg akartam próbálni megválaszolni azokat a kérdéseket, amelyeknek egy kis időbe telt, mire rájöttem és részletes utasításokat adtam, így ha nagyon jól ismeri a hobbit az elektronika területén, akkor valószínűleg átléphet minden lépést, de ha még nem ismeri ezt, akkor mindent meg kell adnia, amire szüksége van.

A projekt célja egy 12 x 12 képpontos képernyő létrehozása volt egy dohányzóasztalban, amely Bluetooth -on keresztül vezérelhető, és hűvös szobafényként használható.

Ehhez az építéshez a következő alkatrészekre lesz szüksége:

  1. Arudino Mega (vagy klón)-https://www.amazon.co.uk/Arduino-Mega-2560-R3-Micr…
  2. Arduino micro SD kártyapajzs (ezt használtam, és forrasztottam a fejléceket) -
  3. Micro SD kártya - Bármilyen méretű, de FAT32 formátumban kell formázni
  4. 5m WS2812B Hozzáadható LED szalag -
  5. HC05 Bluetooth modul -
  6. 5 V 6 A erősáramú tápegység-(ezt használtam, de van még száz ilyen az ebay-en)
  7. Ikea LACK asztal (a hobbik klasszikusa) -
  8. Hozzáférés lézervágóhoz 3 mm -es rétegelt lemezhez (vagy nagyon stabil kézhez). Lézerrel vágott alkatrészeket online megrendelhet különböző helyeken (például
  9. Fehér spray festék
  10. 2 m alumínium T szakasz (1 1/2 x 1 1/2 x 1/8) -
  11. 450 mm x 450 mm x 6 mm üveglap (a legtöbb helyi üvegező egyedi darabokat vághat az Ön számára, de én ezeket a srácokat használtam:
  12. 1 x 100 mikro Farad kondenzátor
  13. 2 x 1k ellenállás
  14. 1 x 2k ellenállás
  15. 1 x lineáris forgó potenciométer
  16. Különféle jumperek (valószínűleg egy tucat a prototípus elkészítése során)
  17. Legalább három színű, viszonylag vastag kábel forrasztáshoz (ez nagy áramokat vonhat le, ezért nem javaslom az áthidaló vezetékeket az áramellátáshoz)
  18. Stripboard a belső áramkörhöz (ne aggódjon, ez nagyon egyszerű)

Szükséges eszközök:

  1. Forrasztópáka + forrasztópáka
  2. Egy pár darab
  3. Huzalhúzók
  4. Egy Dremel vagy valamilyen kirakós, amely szétveri az asztalt. Ezt a https://www.amazon.co.uk/gp/product/B0078LENZC/ref… célt használtam spirálvágó bitekkel

1. lépés: Kezdeti teszt és elrendezés

Kezdeti teszt és elrendezés
Kezdeti teszt és elrendezés
Kezdeti teszt és elrendezés
Kezdeti teszt és elrendezés
Kezdeti teszt és elrendezés
Kezdeti teszt és elrendezés

Az első hívási port a LED szalag vágása a kívánt hosszúságra. Ez a LED -szalag nagyon könnyen használható, mert csak 3 érintkezővel rendelkezik, és az Arduino -t teszi az igazi munkává. Az orsót 12 darab, 12 LED hosszúságú részre vágtam az ábrán látható módon, és az asztal hátoldalára helyeztem, hogy segítsen elképzelni, merre haladok.

Ezután maradt néhány LED -em, így csatlakoztattam őket egy Arduino UNO -hoz, amelyet tesztelnem kellett, hogy működnek -e (használhatja a projekt vázlatában említett Mega -t is). Ehhez levágtam és lecsupaszítottam néhány hímet férfi fejre, és forrasztottam őket a LED szalag végén lévő párnákhoz. A WS2812 szalagon az 5V -os vezetéket használtam, a föld fehér és az adatok zöldek. Ügyeljen arra, hogy figyeljen a WS2812B szalagra nyomtatott iránymutató nyílra, hogy ne próbáljon rossz irányba küldeni adatokat. Az 5V -os vezetéket 5V -ra kötöttem az Arduino -n, a Ground -ot a GND -re és a Data -t a 6 -os tűre egy 1k -os ellenállással sorban. Ne feledje, hogy a WS2812B LED -ek Fritzing -sémája kissé eltér az általam szállítottól - elég, ha csak annyit teszünk, hogy győződjünk meg arról, hogy az adatok a 6. tűhöz, a Gnd a földhöz, az 5 pedig az 5 V -hoz van csatlakoztatva.

Ilyen kevés LED (5 vagy több) esetén az Arduino -nak tökéletesen kell biztosítania az áramellátást; mindazonáltal sokakat nem tud árammal ellátni, mivel teljesen fehéren a LED -ek egyenként akár 60 mA feszültséget is elérhetnek, és gyorsan túlterhelhetik az Arduino -t.

Tegyük fel, hogy rendelkezik Arduino IDE -vel (ha nem tölti le és telepíti), akkor állítsa be a lapkakészlet típusát a meglévő Arduino -ra, és állítsa a COM -portot arra, amelyiken az Arduino látható. Most töltse le és telepítse a FastLED könyvtárat (https://fastled.io/). Nyissa meg a striptest.h példát, és állítsa a vázlatban lévő LED -ek számát ahányra van (5 maradt). Nyomja meg az ellenőrzést, és (feltéve, hogy minden jól megy) töltse fel az Arduino -ba, és látnia kell, hogy a kis csík fényei felgyulladnak és színt váltanak.

2. lépés: A Mátrix és a Stripboard forrasztása

A Mátrix és a Stripboard forrasztása
A Mátrix és a Stripboard forrasztása
A Mátrix és a Stripboard forrasztása
A Mátrix és a Stripboard forrasztása
A Mátrix és a Stripboard forrasztása
A Mátrix és a Stripboard forrasztása

Itt az ideje elkezdeni a LED mátrix létrehozását.

Vágjon 11 rövid hosszúságot a három színű huzalból. Győződjön meg arról, hogy elég hosszúak ahhoz, hogy az egyik csík végétől a következő elejéig eljussanak. A LED csíkok lerakásakor meg kell győződnie arról, hogy az adatáramlási nyíl kígyót követ. Miután ezt lefektette, óvatosan forrasztja a vezetett sorokat a következő sorra, az ábrán látható módon. Ez lényegesen egyszerűbb, ha minden típusú kapcsolathoz ugyanazt a színt használja.

Most, több forrasztás, létre kell hoznunk a szalaglemezt, amely kezeli a hálózati tápegység áramát. Két oszlopot forrasztottam össze a szalaglemezen az 5V és a GND számára, hogy jobban kezelje az áramot. Lásd a mellékelt vázlatot a létrehozandó áramkörhöz. A kondenzátor forrasztásakor ügyeljen arra, hogy a negatív vége a GND sínhez legyen csatlakoztatva, ne az 5 V -os. Miután a szalagpanel elkészült, csatlakoztatnunk kell a +VE -t és a GND -t a LED -szalaghoz, és a korábban levágott áthidalók másik felét is használva kell csatlakoztatnunk az Arduino -t a tápegységhez és a szalagpanelhez. Most jó alkalom lenne hozzáadni az SD kitörő táblát az Arduino -hoz, hogy fájlokat menthessünk hozzá, és később olvashassunk belőle. Amint az SD megszakítópanel a helyén van, csatlakoztathatjuk az 5V -os sínt a Vin -tűhöz, a GND -t pedig az Arduino bármely GND -tűjéhez.

Végül csatlakoztathatunk egy potenciométert az A0 analóg bemenethez az ábrán látható módon, így módunkban áll szabályozni a LED -ek fényerejét.

Miután mindez megtörtént, feltölthetjük a striptest vázlatot, és a LED -ek számát 144 -re változtathatjuk. A vázlat feltöltése előtt győződjön meg arról, hogy az áramellátás aktív. Remélhetőleg az összes LED -nek fel kell világítania a striptest vázlat mintáiban, így tudjuk, hogy minden működik.

3. lépés: Bluetooth modul integrálása

Bluetooth modul integráció
Bluetooth modul integráció

Most az utolsó huzalozás, a HC05 egység az Arduino Mega -hoz csatlakozik, ahogy az a rajzon látható. Győződjön meg arról, hogy a HC05 egység csatlakozik a mega Rx1 és Tx1 portjaihoz - ez sokkal könnyebbé teszi a programozást, és elkerülhető a "szoftveres" könyvtár használata.

NB. A HC05 egység 5 V -os vagy 3,3 V -os bemenetet vesz fel, és általában 3,3 V -os logikával működik, ezért a 3,3 V -os sínhez csatlakoztattam. Néhány más utasítás megmutatta a Tx -et (Arduino -n) Rx -re (a HC05 -egységen) potenciális osztóáramkörrel, hogy az 5 V -os logikát az Arduino -ból a HC05 -modul natív szintjére üsse. Ez az oka annak, hogy az 1k és 2k ellenállások szerepeltek az alkatrészlistában; azonban nem zavartam magam, és tökéletesen boldognak tűnik az asztalon:)

4. lépés: A táblázat feltörése

Táblázatok feltörése
Táblázatok feltörése
Táblázatok feltörése
Táblázatok feltörése
Táblázatok feltörése
Táblázatok feltörése

Most el kell kezdenünk levágni az asztalt, hogy új otthont kapjunk a LED -einknek és az elektronikánknak.

Először jelöljön ki egy 450 mm x 450 mm négyzetet a LACK asztallap tetejének közepén. A Dremel (vagy kirakós) segítségével vágja ki a négyzetet a lehető legjobban, hogy egyenes maradjon. Most eltávolíthatjuk a tetejét és a kartondoboz belső darabjait, így egy üreges asztallapot kapunk, amint az a képen látható. A Dremel újbóli használatával lyukat tudunk fúrni az asztal aljának sarkában, hogy legyen hová átvezetni a hálózati kábelt.

Miután elkészült az asztal, ragaszthatjuk a LED -eket nagyjából a megfelelő helyzetbe, mielőtt továbblépnénk a következő lépésekhez. Hasznosnak találtam minden lépés után meggyőződni arról, hogy az elektronika rendben van -e, ezért próbálja meg újra a legcsíkosabb vázlatot.

Miután kényelmesen érezte magát, minden a helyén van, majd fúrhat néhány kis lyukat, hogy kis csavarokkal rögzítse a tápegységet az asztal szélén. Úgy döntöttem, hogy az Arduino -t az asztalon kívülre szerelem, hogy könnyen átprogramozhassam, ha akarom, de fejjel lefelé van felszerelve az asztal aljára, és nem könnyen látható. A potenciométert az asztal aljára is beszereltem, hogy a fényerő -szabályozás szép és professzionális legyen.

5. lépés: Lézerrel vágott alkatrészek

Lézervágott alkatrészek
Lézervágott alkatrészek
Lézervágott alkatrészek
Lézervágott alkatrészek
Lézervágott alkatrészek
Lézervágott alkatrészek

Most be kell vezetnünk a lézerrel vágott részeket, amelyek négyzetek mátrixát alkotják, így meghatározott pixeleket kaptunk. Mellékeltem a fából készült mátrixot alkotó lézervágott alkatrészek dxf fájljait és azok képeit is, hogy tudd, hogyan kell kinézniük. Két különálló darabból állnak, az egyik a LED -sorok mentén halad, a másik pedig keresztezi őket. A kereszteződő részek alján 10 mm magas rés van kivágva, hogy a vezetékek áthaladhassanak. Ez a rés 5 mm -re csökkenthető, mivel úgy tűnik, hogy egy kis fényszivárgás van az egyik képpontról a másikra.

Mindkét rész 11 példányát lézerrel kell kivágni 3 mm -es rétegelt lemezből, majd össze kell szerelni, hogy megbizonyosodjon arról, hogy helyesen illeszkednek. Ha elégedett, vegye szét újra a mátrixot, és fújja fehérre, hogy javítsa az asztal fényvisszaverő tulajdonságait. Ha megszáradt, tegye vissza őket, és helyezze a LED -ek fölé. Lehet, hogy kissé nehezebb összeilleszteni őket permetezés után, mivel most egy kicsit vastagabbak, de ne aggódjon, csak óvatosan ütögesse a helyükre, mielőtt a mátrixot az asztalra helyezi.

6. lépés: Glediator

Glediator
Glediator
Glediator
Glediator

Most már minden hardver megvalósult, és elkezdhetjük nézni a szoftvereket. Letöltöttem és telepítettem a Glediator nevű szoftvert, hogy animációkat készítsek a LED -ekhez (https://www.solderlab.de/index.php/software/glediat…). A telepítési utasítások kissé furcsák lehetnek, de alaposan kövesse a webhelyet, és rendben kell lennie. Ezenkívül le kell töltenünk a vázlatot a Glediator webhelyéről, hogy feltölthessük az Arduino -ra (https://www.solderlab.de/index.php/downloads/catego…). WS2812B LED -eket használunk, ezért feltétlenül töltse le a megfelelőt (WS2812 Glediator Interface). Miután megnyitotta ezt a vázlatot, módosítsa a NUMBER_OF_PIXELS értéket 144 -re, és töltse fel az Arduino -ba.

A Glediator telepítése után elkezdhetjük az animációk lejátszását az asztalon. Először a mátrix méretét 12 x 12 -re kell állítanunk a Glediator szoftverben, és a kimeneti típust HSBL -re kell állítanunk - Vízszintes kígyó (indítás) bal alsó, mivel így kapcsoltuk be a LED -eket, és változtassuk a színrendet GRB -re (erre vesznek adatokat a LED -ek). A kimeneti lapon nyissa meg a COM portot, és a LED mátrixnak el kell kezdenie megjeleníteni a LED mintát a Glediator szoftver középső képernyőjén.

Létrehozhat animációkat, és rögzítheti azokat egy.dat fájlba, amelyet feltölthetünk az SD -kártyára, ami azt jelenti, hogy kedvenc animációi megjeleníthetők az asztalon anélkül, hogy számítógépet kellene csatlakoztatni. Van néhány online oktatóanyag erről (például https://hackaday.io/project/5714-glediator-from-sd…). Néhány különböző forráskódot módosítottam, hogy működjenek, így a kódomnak rendben kell lennie.

Az animációk mentésekor ügyeljen arra, hogy "animX.dat" néven mentse őket, ahol X tetszőleges szám 1-15. Többet is megvalósíthat, ha megváltoztat egy pár sort a kódomban.

Megjegyzés: A Glediator fájlok rögzítésekor a szoftver tartalmaz egy hibát, ami azt jelenti, hogy nem emlékszik arra, hogyan kötötte össze a LED szalagot. A kódomban egy egyszerű funkciót valósítottam meg, amely megfordítja a páros sorok sorrendjét, vagyis minden helyesen jelenik meg

7. lépés: Bluetooth soros vezérlés

Bluetooth soros vezérlés
Bluetooth soros vezérlés
Bluetooth soros vezérlés
Bluetooth soros vezérlés

A Bluetooth kommunikáció beállítása az okostelefon és az Arduino között meglepően bonyolultnak bizonyult, de néhány egyszerű lépés megkönnyíti ezt. Először is le kell töltenie egy alkalmazást az okostelefonjára. A https://play.google.com/store/apps/details?id=com… címet használtam. de valószínűleg van iphone megfelelője (amiért fizetni kell; p)

Talán észrevette, hogy a HC05 modulon van egy kis kapcsoló. Ha ezzel a kapcsolóval lenyomva kapcsolja be, akkor AT módba lép, ami azt jelenti, hogy lekérdezheti a paramétereket, és szükség esetén megváltoztathatja azokat.

Töltse fel a mellékelt vázlatot a Mega -ba, és állítsa a számítógép soros sebességét 9600 -ra. Húzza ki a tápellátást a HC05 egységből, majd nyomja meg a rajta lévő gombot, amikor újra csatlakoztatja. A villogásnak körülbelül két másodpercenként kell lennie - most a HC05 AT üzemmódban van.

Most a soros monitoron parancsokat küldhetünk a HC05 -nek, és láthatjuk a válaszát. Gépelje be az "AT" -t, és nyomja meg a Küldés gombot, és az "OK" jelenik meg a soros monitoron - most már tudjuk, hogy hallgat. Az eszköz bluetooth neve megváltoztatható az "AT+NAME = XYZPQR" begépelésével, ahol az XYZPQR a modul neve. Az enyémet LightWave -nek hívtam. A bluetooth modul alapértelmezett jelszava 1234 (vagy 0000), de ez is megváltoztatható, például "AT+PSWD = 9876" elküldésével. Végül megváltoztathatjuk a HC05 kommunikációs sebességét az "AT+UART = 38400" elküldésével. Ez a legtöbb HC05 modul alapértelmezett aránya, de az enyémet másként állították be, ezért jó gyakorlat, hogy biztos legyen benne. Ezekről a parancsokról itt olvashat bővebben: https://www.itead.cc/wiki/Serial_Port_Bluetooth_M…, és vannak olyan utasítások is erről a lépésről, amelyek sokkal részletesebbek https://www.instructables.com/id/Modify -A-HC-05-…

Most megpróbálhatunk parancsokat küldeni a modulra Bluetooth -eszközön keresztül. Először húzza ki a tápellátást a HC05 modulból, majd csatlakoztassa újra. Látnia kell, hogy a LED villogási sebessége sokkal gyorsabb - ez azt jelenti, hogy most vár a párosításra. Okostelefonján nyissa meg az Arduino Bluetooth Controller alkalmazást, és keresse meg a HC05 modult. Ha nem változtatta meg a nevet, akkor valószínűleg HC05 vagy hasonló név lesz. Amikor megadja a csatlakozási mód lehetőségeit, válassza a Terminál módot. Most próbáljon meg néhány számot és szöveget küldeni, és nézze meg, hogy a PC soros monitorja azt jelenti -e, hogy megkapta őket. Remélhetőleg megvan, így tovább tudunk lépni, ha nem, akkor rengeteg utasítást adhat néhány tipphez (például:

Az utolsó dolog, amit itt meg kell tenni, az, hogy a vezérlő bemeneteit leképezze olyan számokra, amelyekkel az Arduino tehet valamit. A következő értékeket használtam:

Fel = 1, Lefelé = 2, Bal = 3, Jobb = 4, Kezdés = 5, Válassza ki = 6.

8. lépés: Játékok

Játékok
Játékok

Nem vállalok elismerést a játékkódért. Az itt található forráskódot használtam https://github.com/davidhrbaty/IKEA-LED-Table, írta davidhrbaty. Azonban néhány különböző módon módosítottam:

  1. Hozzáadtam egy fényerő -korlátozó funkciót a potenciométer értéke alapján, így megváltoztathatjuk a fényerőt
  2. Eltávolítottam a tégla játékot, mert nem tudtam lefordítani
  3. Megváltoztattam a tetris blokkok színkódját, hogy mindegyik különböző színű legyen
  4. Átrendeztem a menüt
  5. Megvalósítottam egy lehetőséget az animációk SD -kártyáról történő lejátszására
  6. Hozzáadtam a magas pontszámok követését és a magas pontszám megjelenítési opciót a menüben

A mellékelt kódnak azonnal működnie kell, de ha nem, akkor azt javaslom, hogy távolítsa el a játékokat, amelyek látszólag hibaüzeneteket okoznak, és ellenőrizze újra a kódot, amíg meg nem találja a probléma helyét. Ezután fokozatosan növelje a bonyolultságot.

Ennek a kódnak az eredeti szerzője fantasztikus munkát végzett, ami igazán moduláris és könnyen hozzáadható. Nem olyan nehéz extra eseteket hozzáadni, hogy több funkciót adjon hozzá a táblázathoz.

A menüben a következő lehetőségek állnak rendelkezésre:

  1. SD -kártya - Az SD -kártyán tárolt animációk lejátszása
  2. Tetris
  3. Kígyó
  4. Pong
  5. Dice - Véletlenszerű nuber generátor 1 és 6 között
  6. Animáció - Animációk gyűjteménye a FastLED könyvtárból
  7. Stars Animation - EDIT - Most az animáció helyett megvalósítottam Conway életjátékát
  8. Szivárványos animáció
  9. Magas pontszámok - Magas pontszámokat jelenít meg a tetris és a kígyó esetében

Mielőtt elkezdené a lejátszást, létre kell hoznia két txt fájlt az SD -kártyán, az egyik a "teths.txt", a másik az "snkhs.txt". Mindkét fájlba írja be a 0 számot, majd mentse az SD kártya gyökérmappájába. Ezek a magas pontszámot követő fájlok, és minden alkalommal frissülnek, amikor a magas pontszámot megverik. Ha vissza akarja állítani, csak módosítsa az értékeket 0 -ra egy PC -n.

Miután feltöltötte a LED_table programot az Arduino -ba, megnyithatja a soros monitort, és látnia kell a Bluetooth -parancsokat az elküldésük során - így tudja, hogy minden jól működik.

9. lépés: Élvezze

Élvezd
Élvezd
Élvezd
Élvezd
Élvezd
Élvezd

Nincs más hátra, mint feltölteni a fő LED asztal kódját a Mega -ba, majd élvezni a játékot, és tudassa velem a magas pontszámokat!

Még mindig várom az asztallap alkatrészeinek megérkezését (alumínium T rész és üveg), de az asztal most jól működik, és játszhatok rajta.

Tájékoztasson, ha bármilyen megjegyzése, módosítása vagy hibája van.

10. lépés: Frissítés

Image
Image
Frissítés
Frissítés
Frissítés
Frissítés

Most már teljesen kész!:)

Végül átvettem az alumínium T -szelvényt a szegélyhez, és a legjobb munkámat végeztem a kötés gérlelésében (kiderül, hogy a 45 fok az egyik keményebb szög), de szinte teljesen négyzet alakú. A tetejére úgy döntöttem, hogy veszek egy vastagabb üveglapot (425 x 425 x 8 mm), és az alsó oldalát Rustoleum üvegfagyálló spray -vel mattítottam. Rendszeres tömítést (szilikon tömítőanyagot) használtam a felső és a szögdarabok összeillesztéséhez, hogy szükség esetén legyen egy kis hajlítás az illesztésekben.

Frissített frissítés. Most hozzáadtam a Conway's Game of Life -t a 7. opcióhoz a menüben, nem pedig a csillag animációt, mivel soha nem használtam. Ha nem tudja, mi ez a játék, akkor keressen rá Google -ra, de alapvetően ez egy nulla játékos, amely három egyszerű szabály alapján mutatja be az evolúciót. Conway életének játéka

Frissítés^3. Néhány módosítást végeztem a kódon úgy, hogy ez most egy hibajavítást tartalmaz a piros LED -ek halványításával kapcsolatban, és egy karácsonyfa animációt is tartalmaz, mint a 11. opciót a menüben. Élvezd.

Ajánlott: