Difference between revisions of "Smart lampa"
(→Nastavenia v Dashboarde) |
(→Nastavenia v Dashboarde) |
||
Line 90: | Line 90: | ||
= Nastavenia v Dashboarde = | = Nastavenia v Dashboarde = | ||
− | * Widget na nastavenie farby | + | * Widget na nastavenie farby: |
+ | ** | ||
+ | |||
+ | * Widget na posielanie textových správ: | ||
+ | ** | ||
+ | |||
+ | * Widget spínač na zapnutie/vypnutie funkcie: | ||
** | ** | ||
Revision as of 11:28, 25 June 2021
Tento projekt Sleduje vývoj a fabrikáciu prototypu Smart lampy. Výsledný produkt by som nazval ako prvú verziu prototypu, pretože má ešte pár chýb ktoré sa musia opraviť.
Contents
Členovia
- Michal Mihálik (hlavný dizajnér) - mihalik63@uniba.sk
- Frederik Kohár (pomocná sila)
Vývoj
Nápad
Tento nápad vzišiel z potreby mať lampu ktorá by bola flexibilná na použitie v mnohých situáciách. Funkcionality ako zapnutie pri západe slnka,flexibilné rameno ktoré sa dá nastaviť do požadovaných uhlov, mobilná hlava lampy a pripojenie na IoT sú súčasťou tejto flexibility.
Výskum súčiastok
Po vytvorení nápadu a spísaní chcených aj možných funkcionalít sa začal výskum súčiastok. Ako prvý som našiel vhodný mikrokontrolér. Hľadal som niečo s WiFi a možnosťou integrácie niektorej IoT služby. Tak som našiel "Arduino MKR WIFI 1010". Potom som začal hľadať svetlá, najlepšie niečo lacné. Najprv som sa pozrel na firmu Adafruit, ktorá vyrába a predáva rôzne komponenty kompatibilné s Arduinom. Ale keďže firma bola z USA, ceny poštovného boli astronomické. Nakoniec som po nejakom čase našiel obchod GM Electronic [1], kde mali všetky súčiastky, ktoré som potreboval. Okrem súčiastok som nakúpil aj pár nástrojov ktoré som pri skladaní potreboval.
Dizajn kostry
Dizajn kostry som mal viac-menej hotový už na začiatku. Prototypovanie som robil vo free a open source programe Blender[2]. Rameno lampy som plánoval vytvoriť z viacerých, do seba zapadajúcich dielov(sem vložiť fotku) ktoré by sa dali natáčať do rôznych uhlov, teda niečo na spôsob flexibilného ramena stojana fotoaparátov(sem vložiť fotku). Cez stred by pre pevnosť išlo duté kovové ohybné jadro(sem vložiť fotku). Vybral som si hliníkovú trubicu ako jadro, pretože hliník je dosť pevný aby udržal váhu lampy a zároveň je dosť ohybný pre tieto účely. Hlava lampy začala ako kocka(sem vložiť fotku), dokým som nezistil že elektroniku zmestím do okrúhlej krabičky. Samotný stojan je vlastne držiak lampy z IKEA obchodu(sem vložiť fotku), do ktorého sa zasúva koncová súčiastka ramena. Táto súčiastka by mala fungovať na väčšinu podobných stojanov, poprípade sa dá ľahko navrhnúť nová koncová súčiastka. Chcel som mať moderne a minimalisticky vyzerajúcu lampu, tak som si vyberal medzi bielou a čiernou farbou. Nakoniec som zvolil čiernu, lebo tú som pužíval aj pri prototypovaní modelov.
Testovanie 3D modelov kostry
Vývoj modelov na 3D tlač trval dlho, a modely prešli viacerými variantami a verziami kým som bol spokojný. Najprv som začal modelovať rameno, lebo to som mohol vytvárať bez poznania rozmerov súčiastok. Rozmer som odhadol tak, aby súčiastka nebola príliš malá, ani veľká. Tento model prešiel viacerými verziami, dokým som nedostal dobrý pomer pevnosti, flexibility a trenia, aby lampa dokázala ostať v pozícii(sem vložiť fotky variácií). Hlavu lampy som projektoval po tom ako som našiel prvé súčiastky a dostal ich rozmery. Vytvoril som si makety elektroniky v programe, a okolo nich dotvoril obal. Najprv som rozmýšľal nad podlhovastým, kvádrovým výzorom, ale keď som dostal súčiastky, navrhol som okolo ich rozmerov valcovitú krabičku. Na jednej strane som k modelu pripojil konektor, aby sa hlava dala pripojiť k ramenu.
Elektronika
Od začiatku som vedel že dve hlavné súčiastky budú LED svetlá a mikrokontrolér. Mikrokontrolér bol na výber najľahší, ostatné trvalo trochu dlhšie. Niektoré súčiastky neboli vyhotovené s pinmi, tak som sa musel naučiť spájkovať. Tu sa vyskytol prvý problém, keď som zistil že mám porúchanú LED maticu, takže ju musím vymeniť. Stále neviem či taká už bola, alebo sa mi ju podarilo pokaziť. Postupne som testoval ako fungujú tlačítka a matica. Tiež som rozmýšlaľ nad spôsobom napájania lampy. Najprv, kvôli poruche s maticou som si myslel že budem potrebovať lepší zdroj. Jeden spôsob napájania ktorý som chcel implementovať bol pomocou USB-C, čoho som sa nakoniec vzdal pre zložitosť prevedenia. Nakoniec, po výmene LED matice, som zistil, že mikrokontrolér stačí na základné napájanie celkom dobre, takže naďalej budem arduino napájať pomocou Micro-USB konektora. Batéria, ktorú som kúpil mala trochu iný typ konektoru aký malo Arduino, takže som ho musel trochu zmenšiť aby sa zmestil. Pred uzavretím projektu som si ešte našiel konektor na adaptér, tak som ho zaviedol do projektu ako hlavné napájanie, ale nakoniec nezapojil, lebo som nemohol zaobstarať adaptér.
Programovanie
Programovanie Arduina som sa učil od základu. Najprv iba ako používať Serial port, piny a k nim pripojené súčiastky a pod. Potom ako som už obstojne zvládal základy, som začal hľadať nástroje a knižnice na vytvorenie programu lampy. Začal som s už existujúcim Arduino IoT Cloud-om, Kde som si po hodine tápania nakonfiguroval a pripravil Arduino na IoT použitie. Ďalej som pripojil k programu knižnicu na prácu s LED maticami, čo mi veľmi uľahčilo celkovú prácu. Takto som pomocou ovládača v cloude mohol priamo ovládať farbu a jas LED svetiel. Potom som pripojil pár knižníc ktoré mi umožnili zisťovať aktuálny čas napojením na Network Time Protocol (NTP), a vypočítať východ a západ slnka pre daný deň. S nimi som vytvoril funkciu automatického zapnutia lampy keď zapadne slnko a zhasnutia lampy keď slnko vychádza. Nakoniec som pridal funkciu posielania textových príkazov ktoré zapínajú niektoré nastavenia lampy.(sem vložiť fotku)
Finalizovanie prototypu
Keď som mal už všetky časti hotové, prišiel čas zložiť celú lampu. Vytlačil som modely, pospájal elektroniku, všetko otestoval a zmotnoval dokopy. S konečným výsledkom nie som celkom spokojný, jadro ramena nezvládlo ohýbanie a následne zlomilo na jednom mieste. Konektor ramena do stojanu sa tiež musí ešte vylepšiť. Základný kód pre fungovanie mám, ale chcem by som v neskorších verziách pridať viacero funkcií, hlavne módy osvetlenia a tiež lepšie napájanie elektroniky. Jadro ramena by som chcel zameniť za splietaný oceľový drôt, už som testoval jeho pevnosť a ohybnosť a vyzerá byť dobrá voľba.(sem vložiť fotku)
Súčiastky
- Arduino MKR WiFi 1010 [3]
- 3,7 V Li-Po batéria (voliteľná kapacita)
- 8x8 LED matica [4]
- kábliky
- rezistory (1x 370 Ohm)
- mikrospínač (môj má hlavičku výšky 4mm) (1x)
- Vytlačené súčiastky z materiálu PLA
- Hliníková rúrka (default 0,4 cm, môžete si zvoliť svoju hrúbku ale musíte potom upraviť veľkosť tlače súčiastok ramena)
- Stojan na lampu z IKEA obchodu (použitý stojan z lampy TERTIAL[5], fungoval by hocijaký podobný stojan s priemerom 1,3cm)
- kapacitátory (2x 1k μF)
- 5,5/2,1 konektor na adaptér
Postup výroby
V tejto časti je vysvetlený postup výroby krok po kroku.
Kostra lampy
Na zostrojenie kostry je potrebné vytlačiť jeden z každej časti hlavy lampy, niekoľko kusov súčiastok flexibilného ramena (odporúčaných 10ks) a koncový kus ramena. Spodný kus hlavy sa vsunie do spodku strednej časti hlavy lampy. Tam sa vlepí na miesto. Súčiastky ramena sa pospájajú dokopy a pretiahne sa nimi jadro. Na začiatok sa pripojí lampa a na koniec koncová súčiastka. Cez jadro sa zavedú vodiče na napájanie a uzemnenie.
Elektronika
Na nasledujúcom diagrame je zobrazené zapojenie elektroniky. Niektoré spoje bude treba spájkovať, na niektoré stačí breadboard. (sem vložiť diagram zapojenia)
Inštalácia softvéru
Na začiatok si vytvorte konto na stránke Arduino. Potom môžete začať využívať Arduino IoT Cloud. Otvorte si stránku https://create.arduino.cc/iot. Kliknite na položku Devices a pridajte vaše zariadenie. Postupujte podľa príkazov z okna. Na konci by ste mali mať nastavené Arduino. Kliknite na položku Things a vytvorte si nový Thing. Pridajte tri premenné:
- jednu typu CloudColoredLight s názvom color;
- druhú typu bool s názvom dayLightSwitch;
- poslednú typu String commands;
Môžete si zadať aj vlastné názvy, ale musíte ich potom pomeniť v celom priloženom programe. Pridajte svoj Device a nastavte si sieť. Otvorte si kartu s názvom Sketch a vložte tam kód zo súboru nižšie... Nahrajte kód na Arduino. Otvorte položku Dashboards. Kliknite BUILD DASHBOARD. Vľavo na lište kliknite na ikonu papiera a pera, to vám umožní meniť rozloženie a pridávať widgety. Vedľa kliknite na ADD a potom kliknite na Things. Označte všetky premenné a automaticky sa vám vytvoria widgety na ovládanie premenných.
Tu je tiež video s návodom: (vložiť video)
Toto je všetko!
Záverečné zloženie
Káble LED modulu zasuňte cez dieru v spodnej časti hlavy lampy a pripevnite modul drôtom cez okrúhle dierky. Zapojte do seba diely ramena a stredom pretiahnite jadro a káble napájania a uzemnenia. Zapojte elektroniku do Arduina podľa diagramu uvedenom vyššie a pripevnite arduino na podstavce v lampe, celkom fungujú špendlíky. Mikrospínač zastrčte do diery na boku lampy a prilepte. Môžete, ale nemusíte zapojiť Li-Po batériu do Arduina. vložte matice do otvorov po bokoch a priložte viečko a zaskrutkujte ho. Teraz ešte pripojte modul s konektorom na adaptér. Pripojte do siete a ste hotoví! (fotka-svietiaca lampa)
Dokumentácia programu
Nastavenia v Dashboarde
- Widget na nastavenie farby:
- Widget na posielanie textových správ:
- Widget spínač na zapnutie/vypnutie funkcie: