Difference between revisions of "Smart lampa"

From Digitálne technológie výroby
Jump to: navigation, search
(Elektronika)
(Programovanie)
Line 28: Line 28:
 
== Programovanie ==
 
== 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.
+
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 ==
 
== Finalizovanie prototypu ==

Revision as of 11:03, 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ť.

Č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.


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

K matici sa prispájkujú vodiče, ktoré sa pripoja k mikrokontroléru nasledovne:

  • DIN sa pripojí k pinu 6;
  • +5V k pinu 5V;
  • a GND k pinu GND;

Pre zapojenie tlačítka treba spojiť jednu nožičku spínača s pinom VIN a vedľajšiu druhú napojiť na pin 7 a s 1k Ohmovým rezistorom na GND.

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. Kliknite ADD DEVICE. Vyberte Arduino device. Postupujte podľa príkazov z okna. Na konci by ste mali mať nastavené Arduino. Kliknite na položku Things. Kliknite na CREATE THING. Pridajte tri premenné:

  • jednu typu CloudColoredLight;
  • druhú typu bool;
  • poslednú typu String;

Pridajte svoje Arduino vpravo pod Device a potom nastavte pripojenie k WiFi pod nadpisom Network. 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. Teraz môžete meniť rozloženie vašich tlačidiel. 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.

Toto je všetko!

Záverečné zloženie

Káble LED modulu zasuňte cez dieru v spodnej časti hlavy lampy. Pripevnite Arduino k nohám vo vnútri hlavy a modul pripevnite skrutkami na spodok. Tlačítko zastrčte spínačom von do diery na bočnej stene lampy a pripevnite lepidlom. Pripojte Li-Po batériu. Zapojte káble do arduina a priprevnite vrch lampy skrutkami a maticami. Zapojte do elektriny, a môžete si svietiť!


Dokumentácia programu

Nastavenia v Dashboarde

Fotky a videá

Linky na súbory