Tartalomjegyzék:

HALO: Handy Arduino Lámpa 1.0 W/Neo Pixelek: 9 lépés (képekkel)
HALO: Handy Arduino Lámpa 1.0 W/Neo Pixelek: 9 lépés (képekkel)

Videó: HALO: Handy Arduino Lámpa 1.0 W/Neo Pixelek: 9 lépés (képekkel)

Videó: HALO: Handy Arduino Lámpa 1.0 W/Neo Pixelek: 9 lépés (képekkel)
Videó: Только не говори никому.. Как легко можно восстановить жидкокристаллический экран.. 2024, Szeptember
Anonim
Image
Image
HALO: praktikus Arduino lámpa Rev1.0 W/NeoPixels
HALO: praktikus Arduino lámpa Rev1.0 W/NeoPixels
HALO: praktikus Arduino lámpa Rev1.0 W/NeoPixels
HALO: praktikus Arduino lámpa Rev1.0 W/NeoPixels

Ebben az oktatóanyagban megmutatom, hogyan kell HALO -t vagy Handy Arduino Lamp Rev1.0 -t építeni.

A HALO egy egyszerű lámpa, amelyet Arduino Nano hajt. A teljes lábnyom körülbelül 2 "3", és súlyozott faalapja a rendkívüli stabilitás érdekében. A rugalmas nyak és a 12 szuperfényes NeoPixel lehetővé teszi, hogy könnyedén megvilágítsa minden részletet bármilyen felületen. A HALO két nyomógombbal válthat a különböző fénymódok között, amelyek közül 15 előre programozott. Mivel az Arduino Nano processzort használja, lehetőség van új funkciók újraprogramozására. Az egyetlen potenciométer a fényerő és/vagy a sebesség beállítására szolgál, amellyel az üzemmód megjelenik. Az egyszerű fémszerkezet miatt a HALO nagyon tartós lámpa, amely bármilyen műhelyben használható. A könnyű használatot fokozza a Nano beépített teljesítményszabályozója, így a HALO tápellátását USB -ről vagy a hátul található szabványos 5 mm -es hordócsatlakozóról is lehet biztosítani.

Remélem, hogy a közeljövőben sokan látják majd használni ezeket a lámpákat, mert sok lehetőség nyílik ezzel a kialakítással. Kérjük, hagyjon szavazást a mikrokontroller versenyen, ha ez tetszik, vagy valamilyen módon hasznosnak találja, nagyon megköszönném.

Mielőtt belekezdenénk ebbe az Instructable -be, szeretnék rövid köszönetet mondani minden követőmnek, és mindenkinek, aki valaha megjegyzést fűzött a kedvenceimhez vagy megszavazta bármelyik projektemet. Hála nektek, a Cardboard utasításom hatalmas sikert aratott, és most, amikor beírtam, elérte a közel 100 követőt, véleményem szerint nagy mérföldkő. Nagyon értékelem a támogatást, amit tőletek kapok, amikor felhelyezem az Ible -t, és ha már szóba kerül, nélküled nem lennék ott, ahol ma vagyok. Ezzel azt mondta, köszönöm mindenkinek!

MEGJEGYZÉS: Ebben az utasításban félkövér betűkkel szerepelnek a kifejezések. Ezek az egyes lépések fontos részei, és nem szabad figyelmen kívül hagyni őket. Nem én kiabálok, vagy szándékosan durva vagyok, egyszerűen egy új írási technikával próbálkozom, hogy jobban kihangsúlyozzam a tennivalókat. Ha nem tetszik, és jobban szereted, ahogy korábban írtam a lépéseimet, akkor jelezd a megjegyzésekben, és visszaváltok a régi stílusomra.

Lépés: Az anyagok összegyűjtése

Anyagok gyűjtése
Anyagok gyűjtése
Anyagok gyűjtése
Anyagok gyűjtése
Anyagok gyűjtése
Anyagok gyűjtése
Anyagok gyűjtése
Anyagok gyűjtése

Hányszor kell elmondanom? Mindig legyen nálad, amire szükséged van, és garantáltan képes leszel valamit építeni a célig.

Megjegyzés: Ezek közül néhány affiliate link ("al" jelzéssel), egy kis visszavágást kapok, ha ezeken keresztül vásárol, további költségek nélkül. Köszönöm, ha a linkeken keresztül vásárol

Alkatrészek:

1x Arduino Nano Nano - al

1x 10k forgó potenciométer 5 csomag 10k potenciométer - al

1x 5 mm -es hordós jack (az enyémet sült Arduino Uno -ból újrahasznosítják) Női hordó Jack (5 csomag) - al

2x 2 tűs pillanatnyi nyomógomb 10 csomag SPST nyomógombos kapcsoló-al

12x NeoPixel egy 60 LED/méteres szálból (bármelyik megfelelő, pl. WS2812B működik) Adafruit NeoPixels

0,5 mm -es alumínium lemez

A rugalmas nyak egy régi flex öngyújtóból

A felső fedélgyűrű "Stick and Click" LED szekrénylámpából LED szekrényfény - al

Egy kis 1/4 hüvelykes rétegelt lemez

Nehéz, lapos fém tömege (nagyjából) 1,5 " - 2,5" - 0,25"

Sodort magú elektromos vezeték

Eszközök:

Forró ragasztópisztoly és ragasztó

Forrasztópáka és forrasztópáka

Akkumulátoros fúrógép és válogatott apró csavarófejek

X-acto kés (vagy használati kés)

Huzalhúzók

Fogó

Drótvágók/-vágók

Nagy teherbírású olló

Ha nincs lapos fém súlya, akkor a következőkre is szüksége van:

1 tekercs olcsó forrasztópáka (nem a forrasztáshoz használt cucc) Olcsó ólommentes forrasztópáka

Alkoholos gyertya (vagy Bunsen -égő)

Egy kicsi edzett acél edény, amelyet nem bánsz tönkretenni (vagy egy kis tégely, ha van ilyen)

Állvány az edényhez/tégelyhez (az enyémet 12 -es acélhuzalból készítettem)

Egy agyag növényi edény (az egyik olyan dolog, ami a fazék alá kerül)

Néhány alumínium fólia

MEGJEGYZÉS: Ha hegesztő készlettel vagy 3D nyomtatóval rendelkezik, előfordulhat, hogy nincs szüksége az itt felsorolt összes eszközre.

2. lépés: A súly létrehozása

A súly készítése
A súly készítése
A súly készítése
A súly készítése
A súly készítése
A súly készítése

Ez egy meglehetősen nehéz lépés, és rendkívül óvatosan kell eljárnia. Ha nehézfém súlya vagy lapos, neodímium mágnese van, körülbelül 2,75 x 1,75 x 0,25 , azt javaslom, hogy ezt használja (és a mágnes lehetővé teszi még a lámpa oldalirányú elhelyezését a fémfelületeken!).

Jogi nyilatkozat: Nem vagyok felelős az esetleges sérülésekért, ezért kérjük, használja a józan eszét

Ezenkívül tegye ezt kívül egy betonfelületen, amelyet nem bánja, ha kissé megperzselődik (ez csak elővigyázatosság). Nincsenek képeim ehhez a folyamathoz, mert a fényképezőgép extra zavaró tényező lett volna, amire nincs szükségem vagy szükségem.

Először készítsen egy kis formát alumínium fóliából vagy nedves agyagból, belső méretei körülbelül 2 3/4 hüvelyk x 1 3/4 hüvelyk 1/4 hüvelyk. Ez lehet tojás alakú, mint az enyém, vagy téglalap. Használjon több réteg fóliát vagy vastag agyagréteget.

Helyezze a formát a kerámia edénybe, és töltse fel a formát és a tálcát hideg vízzel.

Fogja meg a meg nem világított alkoholos gyertyáját/bunsen -égőjét, és tegye az acél edényt/tégelyt az állványra, hogy a láng felhevítse az edény közepét (ha világít). Az égő begyújtása előtt győződjön meg róla, hogy legalább 1 fogó vagy fémmegmunkáló fogó van kéznél, ha nem 2.

Érdemes bőrkesztyűt, hosszú ujjú, hosszú nadrágot, zárt cipőt és szemvédőt viselni a következő lépések során

Tekerje fel, és szakítson le egy csomó olcsó forrasztót az orsóról, és tegye az acél edénybe, majd gyújtsa be az égőt. Várja meg, amíg a tekercs teljesen felolvad, majd kezdje el a forraszanyag maradék adagolását az edénybe mérsékelt ütemben. Ha a forrasztóanyagban van gyanta, akkor ez a hőségben spontán megéghet, halványsárga lángot és fekete füstöt képezve. Ne aggódjon, ez többször megtörtént velem, és teljesen normális.

Folytassa a forrasztás adagolását az edénybe, amíg az utolsó fel nem olvad.

Hagyja, hogy az égő gyanta lángja teljesen kihaljon, és a fogó/fogó segítségével fogja meg az edényt, és óvatosan forgassa el benne az olvasztott fémet, miközben óvatosan a lángban tartja.

Miután meggyőződött arról, hogy az összes forrasztóanyag cseppfolyós és jó forró hőmérsékleten van, gyorsan és óvatosan vegye le a tűzről, és öntse a formába. Hangos sziszegő hang és gőz hallatszik, amikor a víz egy része elpárolog, a többi pedig kiszorul a formából, hogy olvadt forrasztással helyettesítsék.

Hagyja kihűlni a forrasztót, kapcsolja ki az égőt/fújja ki a gyertyát, és tegye az acél edényt biztonságos helyre. Érdemes hideg vizet önteni a hűtőforrasztóra, hogy felgyorsítsa a hűtést és tovább keményedjen. (A hideg víz gyorsabban lehűti a külsejét, mint a belső, belső feszültséget keltve, ami keményebbé és merevebbé teszi a fémet, hasonlóan a Rupert herceg cseppjéhez.) Vizet is átfolyhat a fémedényen, de ez törékennyé válik, különösen, ha többször megismétlik.

Miután a forrasztóanyag teljesen lehűlt (kb. 20 perc a biztonság érdekében), vegye ki a fóliából.

Az enyém az egyik oldalon vastagabb lett, mint a másik, ezért kalapáccsal kiegyenlítettem és elsimítottam a széleket (ennek eredményeképpen alakult ki a képeken). Ezután enyhén csiszoltam folyó víz alatt, hogy fényesítsem, és félretettem későbbre.

3. lépés: Az elektronikai ház építése, 1. lépés

Az elektronikai ház építése, 1. lépés
Az elektronikai ház építése, 1. lépés
Az elektronikai ház építése, 1. lépés
Az elektronikai ház építése, 1. lépés
Az elektronikai ház építése, 1. lépés
Az elektronikai ház építése, 1. lépés
Az elektronikai ház építése, 1. lépés
Az elektronikai ház építése, 1. lépés

Ezek azok a burkolatrészek, amelyek a Nano -t fogják elhelyezni, az interfészt rögzítik, és alapvetően ez tartja össze a HALO lámpát. Az enyémet a 0,5 mm -es alumíniumból és forró ragasztóból készítettem, de ha van 3D nyomtatója (amit már egy ideje megpróbálok beszerezni a boltomba), készítettem egy. STL verziót a Tinkercad -ban, amelyet ide csatoltam Önnek Letöltés. Mivel magamnak nincs nyomtatóm, nem tudtam tesztelni a modellt, hogy lássam, minden megfelelően nyomtat -e, de úgy gondolom, hogy rendben kell lennie, ha a megfelelő tartószerkezeteket hozzáadja a szeletelőhöz. Itt másolhatja és szerkesztheti a forrásfájlt is, ha kissé eltérő kialakításra vagy esztétikára van szüksége.

A méreteket tulajdonképpen abból a fém súlyból származtattam, amit forrasztásból öntöttem magamnak, nem az elektronika méretéből, de amúgy egész jól sikerült és a méretek elég optimálisak.

A képek kissé eltérő működési sorrendet ábrázolnak, mint amit itt írok, ez azért van, mert az eredeti módszerem eredményei alapján kifejlesztettem egy továbbfejlesztett módszert.

Ha fémlemezből szereli, mint én, akkor a következőket kell tennie:

1. lépés: Arclemezek

Vágjon két azonos félkör alakú formát, amelyek körülbelül 1,5 hüvelyk magasak és 3 hüvelyk szélesek. (Az enyémet szabadkézzel kezeltem, így kicsit hasonlítanak a juke box elejére).

A két lemez egyikében fúrja ki a három lyukat a gombokhoz és a potenciométerhez. Az enyémek 1/4 hüvelyk átmérőjűek voltak. Ezek tetszőleges elrendezésűek lehetnek, de én jobban szeretem, ha a potenciométerem középen kissé felemelkedik, és mindkét oldalán lévő gombok egyenlő szárú háromszöget alkotnak. Fúráskor mindig készítek egy kis kísérleti lyukat, mielőtt a kívánt méretű fúróra mennék, ez segít a lyukak központosításában és egy kicsit tisztábbá teszi őket.

2. lépés: Íves borítás

Hajoljon egy alumíniumdarab fölé, hogy illeszkedjen az egyik előlap görbéje köré, és jelölje meg a megfelelő élhosszat.

Vágjon ki egy ilyen hosszúságú és körülbelül 2 hüvelyk széles csíkot, és alakítson ki egy ívet, amely megfelel a homloklemezek görbéjének mindkét oldalán.

Keresse meg a középpontot a görbe tetején, és fúrjon lyukat az öngyújtó hajlított nyakához. Az enyémet hátulról eltoltam a lyuk felé, mert használat közben a lámpám nyaka előre döntött, ezért egy kis ellensúlyt akartam hozzáadni. A hajlékony nyakam valamivel több mint 1/4 hüvelyk átmérőjű volt, ezért 1/4 hüvelykes bitet használtam (a legnagyobb csavaró bit, ami a birtokomban van, és 3/4 hüvelyk alatt van), és csak óvatosan hajlítottam és csavartam fúrja ki a furatot, amíg a nyak be nem illeszkedik.

Most, hogy megvannak a héj alkatrészei, a következő lépés az elektronika hozzáadása és összerakása!

4. lépés: Az elektronikai ház építése, 2. lépés

Az elektronikai ház építése, 2. lépés
Az elektronikai ház építése, 2. lépés
Az elektronikai ház építése, 2. lépés
Az elektronikai ház építése, 2. lépés
Az elektronikai ház építése, 2. lépés
Az elektronikai ház építése, 2. lépés
Az elektronikai ház építése, 2. lépés
Az elektronikai ház építése, 2. lépés

Most hozzáadjuk a gombokat és a potenciométert, és összerakjuk az egészet.

1. lépés: Gombok és csavarok

Csavarja le a hatlapú anyákat a gombokról és a potenciométerről. Az anya alatt megfogó gyűrűnek kell lennie, hagyja ezt a helyén.

Húzza át az összes alkatrészt a megfelelő lyukon, majd csavarja vissza az anyákat, hogy mindegyik a helyére kerüljön. Húzza meg az anyákat annyira, hogy biztos legyen benne, hogy minden alkatrész teljesen biztonságos.

2. lépés. Rugalmas nyak

Húzza át a hajlékony nyakat az ívelt darab tetején lévő lyukon. Forró ragasztó vagy hegesztés (ha rendelkezik a felszereléssel) a nyakat biztonságosan a helyén.

Ha olyan forró ragasztót használ, mint én, akkor jó ötlet, ha sok ragasztóval mindkét oldalát nagy felületen elteríti, hogy a ragasztó később ne ragadjon le.

3. lépés: A héj összeszerelése (nem vonatkozik a 3D nyomtatott héjra)

Hegesztőpálca vagy forró ragasztó segítségével rögzítse az elülső és a hátsó előlapokat a boltíves fedél megfelelő helyére. Kellett néhány próbálkozás, hogy a ragasztóm megragadjon, és mint korábban, a trükk az, hogy sok ragasztót használok a kötés mindkét oldalán, akárcsak a nyakát. Minél nagyobb a ragasztóval borított terület, annál jobban tapad.

Most, hogy megvan a héj, továbbléphetünk az összes áramköri bit hozzáadásához.

5. lépés: Elektronika hozzáadása

Elektronika hozzáadása
Elektronika hozzáadása
Elektronika hozzáadása
Elektronika hozzáadása
Elektronika hozzáadása
Elektronika hozzáadása

És itt van a szórakoztató rész: Forrasztás! Az elmúlt hetekben őszintén meguntam a forrasztást, mert az utóbbi időben annyit tettem, hogy megpróbálok befejezni egy másik projektet, amelyet hamarosan fel kell tennem (figyelje a robotkijelző radikalizált új verzióját platformok), aminek eredményeképpen tönkreteszem az egyik vasalót, és beszerezek egy másikat … Egyébként itt nincs sok forrasztási lehetőség, ezért ennek nagyon egyszerűnek kell lennie.

Megjegyzés: Ha a Nano már rendelkezik fejfejjel, javaslom a forrasztást ehhez a projekthez, csak akadályozni fogják.

A fenti képeken van egy diagram, ezt követheti, ha úgy tetszik.

1. lépés: Interfész

Mindegyik kapcsolóból forrasztjon vezetéket egyetlen tűből a potenciométer oldalsó csapjába. Forrasztjon egy vezetéket ebből az oldalsó csapból a Nano földelőcsapjába.

Forrasztjon vezetéket a potenciométer középső tűjéről a Nano A0 -ra.

Forrasztjon egy vezetéket a kapcsoló nem csatlakoztatott érintkezőjéről a Nano A1 -re.

Forrasztjon vezetéket a másik kapcsoló nem csatlakoztatott csapjából a Nano A2 -hez.

Megjegyzés: Nem számít, melyik kapcsoló, a kódban nagyon egyszerűen megváltoztathatja őket, azon kívül, hogy az egyik kapcsoló egyszerűen a másik ellenkezőjét teszi.

Vágjon egy huzalt 4 hüvelykkel hosszabbra, mint a hajlékony nyak, és csíkozza le mindkét oldalát. Sharpie segítségével jelölje meg az egyik oldalt egyetlen vonallal.

Forrasztjon egy vezetéket a potenciométer utolsó nem csatlakoztatott oldalsó csapjához, csavarja össze a vezeték nem csatlakoztatott végét a vezeték jelöletlen végével az utolsó allépésben.

A forrasztás végén 5V -ra csatlakozott a Nano.

2. lépés: Kijelző és tápvezetékek

Vágjon le 2 huzalhosszúságot 4 hüvelykkel hosszabbra, mint a hajlékony nyak, és csavarja le mindkét végét.

Sharpie segítségével jelölje meg minden vezeték végét, az egyik vezetéket 2 vonallal, a másikat 3 -mal.

Forrasztja a vezetéket 2 vonallal a Nano 9 -es digitális tűjére.

Az 5 mm -es csőcsatlakozón forrasztjon egy vezetéket a középső csapból (pozitív) a Nano Vin -hez.

Forrasztjon egy másik vezetéket a csőcsatlakozó oldalsó csapjához (földelt/negatív).

Csavarja a hosszú vezetéket 3 vonallal együtt a huzalhoz a hordócsatlakozó oldalsó csapjából.

Forrasztja ezeket a huzalokat a Nano nyitott GND csapjára.

Szükség esetén szigetelje le a csatlakozásokat elektromos szalaggal vagy forró ragasztóval.

3. lépés: Lyukak vágása (csak a fém változatnál, ha 3D -ben nyomtatta a borítót, akkor rendben kell lennie)

Fúróval és X-acto vagy segédkéssel óvatosan készítsen lyukat a fedél oldalán a Nano USB-portjához.

Csináljon egy másik lyukat a fedél hátoldalán, körülbelül akkora, mint a hordócsatlakozó, lehetőleg közelebb az USB -port furatával ellentétes oldalhoz.

4. lépés: Alkatrészek felszerelése

Vezesse át a három hosszú vezetéket a hajlékony nyakon és a másik oldalon.

Rengeteg forró ragasztó segítségével szerelje fel a hordó emelőjét úgy, hogy a csapok a fedél teteje felé nézzenek.

Ismét rengeteg forró ragasztó segítségével szerelje fel a Nano -t a helyére, a reset gombbal lefelé és az USB -porttal a nyílásában. Készítettem egy "forró ragasztóhidat" a hordócsatlakozó és a Nano között, ami miatt mindegyik stabilan tartja a másikat.

Most folytathatjuk a súlyozott alap elkészítését!

6. lépés: Súlyozott alap

Súlyozott alap
Súlyozott alap
Súlyozott alap
Súlyozott alap
Súlyozott alap
Súlyozott alap

Bízom a forrasztási képességeimben, és ezt jól megterveztem, ezért továbbmentem és hozzáadtam az alapot a kód tesztelése előtt. Ha kevésbé bízik a készségeiben, azt javaslom, hagyja ki ezt a lépést, és térjen vissza a végén, amikor tudja, hogy minden működik.

Ha elkészítette a 3D nyomtatott verziót, kihagyhatja az első lépést, és továbbléphet a másodikra.

1. lépés: Fa

1/4 hüvelykes rétegelt lemezből vágjon le egy alapot kb.

Csiszolja le a széleket, hogy kisimuljon, és távolítsa el a hornyokat.

2. lépés: Súly

Először is győződjön meg a választott súlyáról, legyen az mágnes, fém vagy egyedi forrasztó, amely illeszkedik az általunk készített fémborítás széleihez. Az enyém egy irányban kicsit nagy volt, ezért X-acto késsel borotváltam le kicsit oldalról. Ha a tiéd nem az, ahol ezt megteheted, előfordulhat, hogy más alaprajzzal kell babrálnod.

Forró ragasztóval helyezze súlyát a rétegelt lemez közepére, vagy 3D nyomtatott kivitel esetén az én erre a célra tervezett középső "tálca" területére.

3. lépés: Bázis

Helyezze a fém burkolatot a súlyra, és helyezze középre a fa alapra. (A 3D nyomtatott kivitel esetén illessze az előre elkészített hornyokba.)

Győződjön meg arról, hogy a súly nem zavarja az elektronikát

Forró ragasztóval rögzítse az alapot a helyén. Használjon eleget a szilárd kapcsolat biztosításához.

Most, hogy teljesen elkészítettük a vezérlődobozt, térjünk át a lámpákra.

7. lépés: NeoPixel Halo Ring

NeoPixel Halo Ring
NeoPixel Halo Ring
NeoPixel Halo Ring
NeoPixel Halo Ring
NeoPixel Halo Ring
NeoPixel Halo Ring
NeoPixel Halo Ring
NeoPixel Halo Ring

A lámpa nevének inspirációja, ez a rész a NeoPixel halo gyűrű, amelyet megvilágítási forrásként fogunk használni. Ez a darab tetszés szerint módosítható vagy helyettesíthető bármilyen NeoPixel vagy egyedileg címezhető LED -gyűrűvel.

1. lépés: Forrasztás

Vágjon egy csíkot NeoPixels 12 LED -ből.

Forrasztja a GND tüskét a vezetékhez a hajlékony nyakból, amely 3 vonallal rendelkezik.

Forrasztja a Din csapot a 2 vonalú vezetékhez.

Forrasztja az 5V -os csapot az 1 vezetékkel rendelkező vezetékhez.

2. lépés: Tesztelje a fényeket

Töltse le és telepítse az Adafruit_NeoPixel könyvtárat, és nyissa meg a "strandtest" kódot.

Módosítsa az állandó PIN kódot 9 -re.

Módosítsa azt a sort, ahol a csík van meghatározva, hogy 12 LED -re legyen konfigurálva.

Töltse fel a kódot a Nano készülékre, és győződjön meg arról, hogy az összes LED megfelelően működik.

Cserélje ki a hibás LED -eket működőre, amíg az egész szalag működik.

3. lépés: csengetés

Vegye le a felső gyűrűt a "Stick and Click" lámpáról, és vágja le a belső perem csavarjait.

Vágjon egy kis bevágást a szélén a vezetékekhez a csíkból.

Húzza le a NeoPixels hátoldalán található ragasztószalag fedelét (ha van), és ragassza a gyűrű belsejébe úgy, hogy a csík egyik vége kb.

Forró ragasztóval erősen rögzítse a szalag széleit

Miután a ragasztó teljesen lehűlt, tesztelje újra a képpontokat. Ez azért van, hogy megbizonyosodjon arról, hogy senki sem finnyás a hőségben és a göndörödésben (néhányan az enyémek voltak).

4. lépés: Szerelés

Vágjon ki két kis téglalapot 1/4 hüvelykes fából, körülbelül a gyűrű magasságában és 1 2/3 -szor szélesebbre.

Ragassza ezeket egymással párhuzamosan a huzalok mindkét oldalán a gyűrűtől, töltse ki a rést, és fedje le teljesen a ragasztóval a közöttük lévő vezetékeket.

Óvatosan tolja vissza a huzal felesleges hosszát a hajlékony nyakba, majd ragassza fel a fadarabokat a nyak végére, sok ragasztóval, és óvatosan töltse ki az esetleges réseket (anélkül, hogy a nyakat ragasztóval töltené fel).

6. lépés: Befejezés

Festheti a gyűrűt, és tetszőleges színt felszerelhet, ha úgy tetszik, én inkább az ezüst színű felületet választottam, így csak Sharpie -t használtam a gyűrűre (bosszantóan) nyomtatott logó elfedésére. Ugyanez vonatkozik a lámpa többi részére is.

Most folytathatjuk a végső kód befejezését!

8. lépés: Kódok és tesztek

Kódok és tesztek
Kódok és tesztek
Kódok és tesztek
Kódok és tesztek

Így most már csak programozni kell a lámpát és tesztelni kell. Csatolva az aktuális kódverzió (rev1.0), elég alaposan teszteltem ezt a kódot, és nagyon jól működik. Dolgozom egy rev2.0 -n, ahol a gombok külső megszakításként vannak konfigurálva, hogy az üzemmódok könnyebben váltsanak, de ez a verzió hibás és még nem áll készen a kiadásra. A jelenlegi verziónál addig kell nyomva tartani a gombot, amíg a Debounce ciklus le nem fut, és fel nem ismeri az állapotváltozást, ami bosszantó lehet a hosszabb "Dinamikus" ciklusokon. Az alábbiakban a kód található néhány magyarázattal együtt (a letölthető verzióban ugyanazok a magyarázatok találhatók).

#include #ifdef _AVR_ #include #endif

#define PIN 9

#define POT A0 #define BUTTON1 A1 #define BUTTON2 A2

// 1. paraméter = a képpontok száma a szalagon

// 2. paraméter = Arduino pin szám (a legtöbb érvényes) // 3. paraméter = képpont típusú jelzők, szükség szerint összeadva: // NEO_KHZ800 800 KHz bitfolyam (a legtöbb NeoPixel termék WS2812 LED -ekkel) // NEO_KHZ400 400 KHz (klasszikus) v1 '(nem v2) FLORA képpontok, WS2811 illesztőprogramok) // NEO_GRB A képpontok GRB bitfolyamhoz vannak kötve (a legtöbb NeoPixel termék) // A NEO_RGB képpontok RGB bitfolyamhoz vannak kötve (v1 FLORA pixel, nem v2) // NEO_RGBW Pixelek vezetékesek RGBW bitfolyam (NeoPixel RGBW termékek) Adafruit_NeoPixel halo = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800);

// És most egy biztonsági üzenet barátainktól az Adafruitban:

// FONTOS: A NeoPixel kiégési kockázatának csökkentése érdekében adjon hozzá 1000 uF kondenzátort

// pixel tápvezetékek, adjon hozzá 300 - 500 Ohm ellenállást az első pixel adatbeviteléhez // és minimalizálja az Arduino és az első pixel közötti távolságot. Kerülje a csatlakoztatást // élő áramkörre… ha szükséges, először csatlakoztassa a GND -t.

// Változók

int buttonState1; int buttonState2; // az aktuális leolvasás a bemeneti tűből int lastButtonState1 = LOW; // az előző leolvasás a bemeneti tűből int lastButtonState2 = LOW; int mód; // fényeink üzemmódja a 16 beállítás egyike lehet (0-15) int brightVal = 0; // a potenciométer által beállított fényerő/ sebesség

// a következő változók hosszúak, mert az idő ezredmásodpercben mérve, // gyorsan nagyobb szám lesz, mint amennyi egy int -ben tárolható. long lastDebounceTime = 0; // az utolsó alkalommal, amikor a kimeneti tűt átváltották hosszú debounceDelay = 50; // a visszakapcsolási idő; nő, ha a kimenet villog

void debounce () {

// olvassa be a kapcsoló állapotát egy helyi változóba: int reading1 = digitalRead (BUTTON1); int olvasás2 = digitalRead (BUTTON2); // Ha a gombok valamelyike megváltozott, zaj vagy megnyomás miatt: if (reading1! = LastButtonState1 || reading2! = LastButtonState2) {// állítsa vissza a lekapcsolási időzítőt lastDebounceTime = millis (); } if ((millis () - lastDebounceTime)> debounceDelay) {// ha a gomb állapota határozottan megváltozott a megnyomás/felengedés miatt: if (reading1! = buttonState1) {buttonState1 = olvasás1; // állítsa be olvasásként, ha módosult, ha (buttonState1 == LOW) {// ezek aktív alacsony kapcsolók módnak vannak beállítva ++; if (mód == 16) {mód = 0; }}} if (olvasás2! = gombállapot2) {gombállapot2 = olvasás2; if (buttonState2 == LOW) {mode = mód - 1; if (mód == -1) {mód = 15; }}}} // az olvasás mentése a következő alkalommal a cikluson keresztül lastButtonState1 = olvasás1; lastButtonState2 = olvasás2; }

void getBright () {// kódunk a potenciométer leolvasásához, 0 és 255 közötti értéket ad ki. Használja a fényerő beállításához egyes módokban, és a sebesség beállítását más módokban.

int potVal = analogRead (POT); brightVal = térkép (potVal, 0, 1023, 0, 255); }

// Itt vannak a színmódjaink. Ezek egy része a szálkásítási példából származik, mások eredeti.

// Töltse fel a pontokat egymás után egy színnel (színszál törlés, szálas tesztből)

void colorWipe (uint32_t c, uint8_t wait) {for (uint16_t i = 0; i

// szivárványfüggvények (szintén a strandtestből származnak)

void rainbow (uint8_t wait) {

uint16_t i, j;

(j = 0; j <256; j ++) {esetén (i = 0; i

// Kicsit más, ezért a szivárvány egyenletesen oszlik el az egészben

void rainbowCycle (uint8_t várjon) {uint16_t i, j;

for (j = 0; j <256*5; j ++) {// 5 ciklus minden színben a keréken (i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, Wheel (((i * 256 / halo.numPixels ()) + j) & 255)); } halo.show (); késleltetés (várakozás); }}

// Adjon meg egy 0 és 255 közötti értéket a színérték eléréséhez.

// A színek átmenet r - g - b - vissza r. uint32_t Kerék (byte WheelPos) {WheelPos = 255 - WheelPos; if (WheelPos <85) {return halo. Color (255 - WheelPos * 3, 0, WheelPos * 3); } if (WheelPos <170) {WheelPos -= 85; return halo. Color (0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos -= 170; return halo. Color (WheelPos * 3, 255 - WheelPos * 3, 0); }

void setup () {

// Ez a Trinket 5V 16MHz -re vonatkozik, eltávolíthatja ezt a három sort, ha nem használ Trinket #if meghatározott (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // A csecsebecse speciális kódjának vége pinMode (POT, INPUT); pinMode (BUTTON1, INPUT_PULLUP); pinMode (BUTTON2, INPUT_PULLUP); pinMode (PIN, OUTPUT); Sorozat.kezdet (9600); // hibakeresési dolgok halo.begin (); halo.show (); // Inicializálja az összes képpontot "kikapcsolt" értékre}

void loop () {

debounce ();

// Sorozat.println (mód); // további hibakeresés //Serial.println(lastButtonState1); //Serial.println(lastButtonState2);

if (mód == 0) {

getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, brightVal, brightVal)); // az összes képpont fehérre állítása} halo.show (); }; if (mód == 1) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, 0, 0)); // az összes képpont pirosra állítása} halo.show (); }; if (mód == 2) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, brightVal, 0)); // az összes képpont zöldre állítása} halo.show (); }; if (mód == 3) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, 0, brightVal)); // az összes képpont beállítása kékre} halo.show (); }; if (mód == 4) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (0, brightVal, brightVal)); // az összes képpont beállítása ciánkékre} halo.show (); }; if (mód == 5) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, 0, brightVal)); // az összes képpont beállítása lila/bíborvörösre} halo.show (); }; if (mód == 6) {getBright (); for (int i = 0; i <halo.numPixels (); i ++) {halo.setPixelColor (i, halo. Color (brightVal, brightVal, 0)); // az összes képpont beállítása narancssárga/sárga színre} halo.show (); }; if (mód == 7) {// most a dinamikus módok getBright (); colorWipe (halo. Color (brightVal, 0, 0), 50); // Piros}; if (mód == 8) {getBright (); colorWipe (halo. Color (0, brightVal, 0), 50); // Zöld}; if (mód == 9) {getBright (); colorWipe (halo. Color (0, 0, brightVal), 50); // Kék}; if (mód == 10) {getBright (); colorWipe (halo. Color (brightVal, brightVal, brightVal), 50); // fehér }; if (mód == 11) {getBright (); colorWipe (halo. Color (brightVal, brightVal, 0), 50); // narancs/sárga}; if (mód == 12) {getBright (); colorWipe (halo. Color (0, brightVal, brightVal), 50); // cián}; if (mód == 13) {getBright (); colorWipe (halo. Color (brightVal, 0, brightVal), 50); // lila/bíbor}; if (mód == 14) {// az utolsó kettő sebességszabályozás, mert a fényerő dinamikus getBright (); szivárvány (brightVal); }; if (mód == 15) {getBright (); rainbowCycle (brightVal); }; késleltetés (10); // hagyjon egy kis pihenőt a processzornak}

9. lépés: A nagy finálé

A nagy finálé
A nagy finálé

És most van egy fantasztikus, szuper fényes kis lámpánk!

Innen tovább módosíthatja, vagy hagyhatja úgy, ahogy van. Megváltoztathatja a kódot, vagy akár újat is írhat. Növelheti az alapot, és elemeket tehet hozzá. Hozzáadhat egy ventilátort. Több NeoPixelt is hozzáadhat. A lista, amit ezzel megtehet, szinte végtelen. Azt mondom, hogy "majdnem", mert biztos vagyok benne, hogy még mindig nem rendelkezünk azzal a technikával, hogy ezt mini portálgenerátorrá alakítsuk át (sajnos), de az ilyen dolgokon kívül az egyetlen képzelet a képzelet (és bizonyos mértékig, ahogy nemrég találtam, a műhelyében lévő eszközök). De ha nincsenek eszközeid, ne hagyd, hogy ez megállítson, ha valamit tényleg tenni akarsz, mindig van rá mód.

Ez része ennek a projektnek, hogy bebizonyítsam magamnak (és kisebb mértékben a világnak), hogy olyan hasznos dolgokat tudok készíteni, amelyek másoknak is tetszenének, még akkor is, ha csak egy ócska halom régi és leselejtezett anyagom van. alkatrészek és egy tálca Arduino kellékek.

Itt hagyom, mert szerintem ez elég jól sikerült. Ha javítási javaslata van, vagy kérdése van a módszereimmel kapcsolatban, kérjük, hagyjon megjegyzést alább. Ha elkészítette, készítsen képet, mindannyian látni akarjuk!

Kérlek, ne felejts el szavazni, ha tetszik!

Mint mindig, ezek a Dangerously Explosive projektjei, az egész életen át tartó küldetése: "Bátran megépíteni azt, amit fel akarsz építeni, és még sok más!"

A többi projektemet itt találod.

Köszönöm, hogy elolvastad, és jó alkotást!

Ajánlott: