Obsah:
- Krok 1: Zhromažďovanie komponentov
- Krok 2: Inštalácia našej knižnice
- Krok 3: Inštalácia požadovaných knižníc
- Krok 4: Zostavenie modulu
- Krok 5: Napíšte skicu modulu jasu
- Krok 6: Testovanie nášho modulu AtHome
- Krok 7: Zostavenie puzdra pre modul
Video: Zostavte modul svietivosti s AtHome: 7 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
AtHome je študentský projekt s otvoreným zdrojom a otvoreným hardvérom od skupiny AtHome z Epitech, ktorého cieľom je vyvinúť prepojené riešenie niekoľkých individuálnych senzorových modulov komunikujúcich s vlastnou databázou, ktorá odhalí API používané na napájanie aplikácie pre smartfóny a webovej aplikácie. Moduly monitorujú vnútorné prostredie domu a sú schopné poskytnúť užívateľovi vizuálnu spätnú väzbu od zelenej (dobrej) po červenú (zlej) a prenášané údaje sú pre užívateľa viditeľné prostredníctvom sériovej komunikácie modulu alebo naše aplikácie, ak ich používate.
Aj keď je tento projekt stále v aktívnom vývoji, základné funkcionality našich modulov sú teraz pripravené a údajne je ľahké ich použiť na vývoj vlastných modulov. Preto vám navrhujem, aby ste videli, ako si pomocou tohto príkladu modulu svietivosti vytvoriť vlastný jednoduchý modul.
Tieto moduly sú v zásade postavené na doske kompatibilnej s Arduino (čiastočné jadro Arduino by malo stačiť, pokiaľ má podporu Stream, Wire a UART stream), LED (červená alebo RGB) v prípade problému zmení farbu na červenú snímač, napájací zdroj (nástenný napájací zdroj alebo batéria) a puzdro rezané laserom.
Áno, určite to nie je nové, existuje veľa projektov senzorov, ale dúfame, že vám pomôžu ďalšie funkcie, ako napríklad zisťovanie zdravotných problémov, komunikácia a ukladanie informácií na server, ktorý hostíte sám, a vizualizačná aplikácia. Alebo ak chcete len monitorovať svoj dom, jednoduché projekty alebo nemenej zaujímavé:)
Krok 1: Zhromažďovanie komponentov
Na tento projekt budete potrebovať niekoľko komponentov na zostavenie modulu AtHome:
- 1x Doska kompatibilná s Arduino: Tu použijem Arduino UNO (ale funguje aj s inými doskami, ako sú dosky TI Launchpads a ESP8266)
- 1x senzor: Budem používať senzor jasu TSL2561 (zoznam podporovaných senzorov je k dispozícii v dokumentácii našej knižnice)
- 1x LED: Tu použijem Grove Chainable RGB LED (ale môže to byť aj jednoduchá červená LED alebo NeoPixel)
- Dupont Wires
Zoznam kompatibilných komponentov je k dispozícii v dokumentácii k nášmu projektu.
Krok 2: Inštalácia našej knižnice
Ak si chcete nainštalovať našu knižnicu, musíte si ju stiahnuť z nášho úložiska (zverejníme ju neskôr v zozname Arduino IDE a PlatformIO) pomocou tohto odkazu:
gitlab.com/Woodbox/Framework/-/jobs/artifacts/master/download?job=deploy
Potom choďte do Arduino IDE a zvoľte „Skica> Zahrnúť knižnicu> Pridať knižnicu. ZIP …“. Potom vyberte súbor zip s názvom „artifacts.zip“a kliknite na „OK“.
Krok 3: Inštalácia požadovaných knižníc
Aby naša knižnica fungovala, je potrebné, aby boli do vášho počítača nainštalované ďalšie knižnice:
- Knižnica Arkhipenko TaskScheduler
- Knižnica digitálneho svetelného senzora SEEED Studio Grove
- Chainable RGB LED library SEEED Studio Grove
- Knižnica Adafruit NeoPixel
Môžete ich nainštalovať pomocou správcu knižníc Arduino IDE tak, že prejdete na „Skica“> „Zahrnúť knižnicu“> „Spravovať knižnice …“.
Do nového okna, ktoré sa otvorí, napíšte do bieleho vyhľadávacieho panela názov knižnice, ktorú chcete nainštalovať, a potom kliknite na jej blok. Zobrazí sa tlačidlo „Inštalovať“, stačí naň kliknúť a IDE ho stiahne a nainštaluje za vás.
Krok 4: Zostavenie modulu
Začneme snímačom. Pripojte pomocou kolíka kolík VCC TSL2561 k 5V kolíku Arduina, kolík GND senzora k jednému z pinov GND Arduina a kolíky SDA a SCL senzora k pinom SDA a SCL Arduina. Teraz ste hotoví!
Teraz pripojte VCC pin Grove Chainable RGB LED k 5V pinu Arduina a GND pin LED k druhému GND Arduina. Ak ste Arduino iba ako jeden 5V pin, môžete pomocou nepájivej dosky pripojiť 5v Arduino k + rade nepájivej dosky a pripojiť na ňu všetky 5V kolíky svojich komponentov, alebo ich spájkovať na kus pásika alebo použite konektory wago alebo čokoľvek, čo uprednostňujete. Teraz pripojte kolík CI vašej LED k pinu 7 vášho Arduina a kolík DI vašej LED k pinu 8 vášho Arduina. Ak takú LED nemáte, nebojte sa, je možné použiť vstavanú LED diódu vašej dosky Arduino alebo klasickú iba s malou zmenou kódu.
Krok 5: Napíšte skicu modulu jasu
Vytvoríme nový náčrt a napíšeme kód pre náš modul.
Ak vás vysvetlenie náčrtu nezaujíma, stačí ho skopírovať a vložiť do IDE Arduino:
#zahrnúť
pomocou LightModule = AtHomeModule; Stream *streams = {& Serial, nullptr}; GroveChainableLED:: Piny grovePins = {7, 8}; LED GroveChainableLED (& grovePins); LightModule *module = LightModule:: getInstance (); void setup () {// sem vložte svoj inštalačný kód, aby sa spustil raz: Serial.begin (9600); modul-> setStreams (streamy); GroveDigitalLightSensor *lightSensor = nový GroveDigitalLightSensor (); modul-> setSensor (lightSensor); modul-> setDisplay (& led); modul-> nastavenie (); } void loop () {// sem vložte svoj hlavný kód, aby sa spúšťal opakovane: module-> run (); }
Ak chcete porozumieť všetkému, čo tento kód robí, môžete si prečítať nasledujúce informácie alebo ak vás to nezaujíma, môžete prejsť priamo na ďalší krok.
Na začiatok musíme do náčrtu zahrnúť našu knižnicu tak, že do hornej časti náčrtu napíšeme tento riadok:
#zahrnúť
Teraz musíme vytvoriť alias pre objekt modulu, ktorý použijeme. Môžete to vidieť ako pole s niekoľkými tlačidlami, ktoré sa používajú na zmenu komponentov, spustenie, zastavenie atď. Pretože je to krabica vytvorená podľa šablóny (ako obvyklú šablónu, ktorú používame pre projekty ako ľudia, má štartovaciu základňu a kompilátor Arduina zostavuje konečný kód na základe parametrov, ktoré mu dáme) definujúcich typ predstavujúci hodnotu senzora a počet hodnôt senzora, ktoré chceme uložiť do pamäte, je to uvedené v názve a mali by sa normálne opakovať vždy, keď ho chceme použiť. Čo je trochu otravné, a preto k úplnému názvu tohto poľa priradíme nový názov, alias.
Povedzme napríklad, že chcem, aby sa tento box volal „LightModule“, pretože bude slúžiť na implementáciu modulu monitorovania svietivosti a chcem ponechať naraz iba 1 hodnotu. Svietivosť je vyjadrená v luxoch ako integrálny typ naším snímačom TSL2561, ktorý počítače reprezentujú ako uint16_t. Náš alias bude vyzerať takto:
pomocou LightModule = AtHomeModule;
kľúčové slovo „using“znamená, že vytvárame alias a názov, ktorý mu dáme hneď za ním, zodpovedá sekvencii za znakom „=“.
„AtHomeModule“je skutočný názov tohto poľa, ktorému dávame nový názov, a parametre definujúce reprezentáciu hodnôt a počet hodnôt uložených v pamäti sú uvedené medzi „“.
Teraz, keď neskôr použijeme názov „AtHomeModule“, Arduino bude vedieť, že sa týka celého názvu „AtHomeModule“.
Ak chcete, aby si váš box dokázal uchovať v pamäti 5 hodnôt namiesto 1, stačí nahradiť „1“číslom „5“a Arduino vám vygeneruje iný typ poľa, ktoré dokáže robiť to, čo chcete. Všimnite si však, že ak je modul naprogramovaný tak, aby odosielal svoje hodnoty skôr, ako bude mať čas efektívne zmerať 5 hodnôt senzora, nikdy neuvidíte, že by bolo odoslaných 5 z nich, pretože od posledného nahrávania odosiela iba nové hodnoty.
Ďalej musíme vytvoriť rad ukazovateľov obsahujúcich ukazovatele na streamoch Arduino, ktoré modul používa na komunikáciu, vždy ukončené príkazom keyworkd „nullptr“. Tu používam iba „sériový“prúd Arduina, ktorý komunikuje s počítačom pomocou portu USB, takže pole vyzerá takto:
Stream *streams = {& Serial, nullptr};
Znak „*“znamená, že typ je ukazovateľ (umiestnenie prvku, nie prvok samotný) a zátvorky „“v Arduine znamená pole, takže môžeme vložiť viacero hodnôt.
Ďalej musíme vytvoriť našu LED diódu. Aby sme to urobili, musíme napísať nasledujúce dva riadky;
GroveChainableLED:: Piny grovePins = {7, 8};
LED GroveChainableLED (& grovePins);
Ak nemáte LED diódu Grove RGB, ale napriek tomu chcete vizuálnu spätnú väzbu, môžete to urobiť jednoduchou zmenou náčrtu. Nahraďte dva predchádzajúce riadky týmto riadkom:
Monochromatické LED diódy (LED_BUILTIN);
V tejto konfigurácii sa zelená vstavaná dióda LED rozsvieti, pokiaľ je monitorovaná hodnota v poriadku, a vypne sa, keď je mimo väzby. Ak dávate prednosť tomu, aby sa zapínal, keď je mimo väzbu (pretože používate napríklad červenú diódu LED namiesto zelenej na kolíku 13), môžete namiesto toho použiť tento riadok:
Monochromatický LED dióda (LED_BUILTIN, true);
Ďalším krokom je vytvorenie samotného modulu. Vykonáva sa to prvýkrát, keď získame jeho polohu v pamäti, volaním metódy „getInstance“takto:
LightModule *module = LightModule:: getInstance ();
Potom musíme nastaviť parametre vo funkcii „setup ()“Arduina, počnúc inicializáciou „sériového“portu ako obvykle v skicách Arduino:
Serial.begin (9600);
Svetelný senzor vytvoríme napísaním tohto riadku:
GroveDigitalLightSensor *lightSensor = nový GroveDigitalLightSensor ();
Potom povieme nášmu modulu, aby používal našu sadu ukazovateľov na Arduino Stream na ich komunikáciu:
modul-> setStreams (streamy);
Nášmu modulu tiež hovoríme, aby používal náš svetelný senzor na monitorovanie intenzity svetla tam, kde je modul:
modul-> setSensor (lightSensor);
Hovoríme nášmu modulu, aby používal našu LED diódu na poskytnutie vizuálnej spätnej väzby:
modul-> setDisplay (& led);
Nakoniec nášmu modulu povieme, že je pripravený vykonať akúkoľvek vnútornú konfiguráciu, ktorú potrebuje urobiť, a to tak, že zavoláme jeho vlastnú funkciu „nastavenia“:
modul-> nastavenie ();
Našim posledným krokom je teraz volanie funkcie „run ()“nášho modulu, ktorá je navrhnutá tak, aby sa dala volať pri každej iterácii funkcie „slučky“Arduina tak, že do funkcie „slučka“napíšete tento riadok:
module-> run ();
Teraz je naša skica konečne pripravená na nahranie do Arduina a testovanie nášho modulu!
Krok 6: Testovanie nášho modulu AtHome
Ak chcete náčrt nahrať do Arduina, vyberte si dosku Arduino UNO v časti „Nástroje“> „Port“> „[COMx alebo/dev/x] (Arduino/Genuino UNO)“.
Posledná vec, stačí kliknúť na tlačidlo „Nahrať“(tlačidlo s kruhom so šípkou smerujúcou doprava, druhá ikona panela s nástrojmi) a nahrať náčrt na svoju nástenku.
Hotovo! Teraz by váš modul mal fungovať a odosielať hodnoty do počítača viditeľné v sériovom monitore Arduino. Môžete to skontrolovať otvorením „Sériového monitora“Arduina v ponuke „Nástroje“a mali by ste mať výstup vyzerajúci ako druhý titulný obrázok tohto kroku:)
Krok 7: Zostavenie puzdra pre modul
Jednoduchý box pre svoj modul môžete postaviť laserovým rezaním v 3 mm preglejkovej doske.
Na výrobu našich boxov používame makercase na prípravu šablóny v požadovaných rozmeroch, ktoré neskôr prispôsobíme. K tomuto kroku nájdete súbor svg modulu jasu.
Potom jednoducho prilepte tváre k sebe, okrem jednej, aby ste ju mohli otvoriť neskôr, vložte svoj obvod dovnútra a prilepte diódu LED do otvoru v puzdre (na vyplnenie otvoru použijeme priehľadnú pásku a okrem prilepenia diódy vpredu rozptýlime svetlo z toho).
Teraz stačí pridať batériu na napájanie Arduina, zatvoriť puzdro a váš modul je pripravený a mal by vyzerať dobre:)
Odporúča:
Zostavte MIDI ovládač Arduino: 5 krokov (s obrázkami)
Zostavte MIDI ovládač Arduino: Ahoj všetci! V tomto návode vám ukážem, ako si vytvoriť vlastný MIDI ovládač napájaný Arduino. MIDI je skratka pre digitálne rozhranie hudobných nástrojov a je to protokol, ktorý umožňuje počítačom, hudobným nástrojom a ďalšiemu hardvéru komunikovať
Horúce sedadlo: Zostavte vyhrievaný vankúš meniaci farbu: 7 krokov (s obrázkami)
Horúce sedadlo: Zostavte si vyhrievaný vankúš meniaci farbu: Chcete byť v chladných zimných dňoch stále opečení? Hot Seat je projekt, ktorý využíva dve z najzaujímavejších možností elektronického textilu - zmenu farby a teplo! Budeme stavať podsedák, ktorý sa zohreje, a keď bude pripravený ísť, odhalí
Zostavte si zapisovač osobných aktivít: 6 krokov
Vybudujte si zapisovač osobných aktivít: Môj priateľ z Londýna Paul chcel nájsť spôsob, ako sledovať svoje jedlo, aktivitu a polohu na jednom prístrojovom paneli. Vtedy prišiel s nápadom vytvoriť jednoduchý webový formulár, ktorý by odosielal údaje na palubnú dosku. Dal by webový formulár
Zostavte jednoduchý smerový signál na bicykel: 11 krokov (s obrázkami)
Zostavte si jednoduchý smerový signál na bicykel: S príchodom jesene je niekedy ťažké si uvedomiť, že dni sa skrátili, aj keď teplota môže byť rovnaká. Stalo sa to každému- vydáte sa na popoludňajší výlet na bicykli, ale kým sa nevrátite do polovice cesty, je tma a
Aktivita svietivosti DEEDU: 6 krokov
Aktivita jasu DEEDU: Účelom tejto aktivity je zvýšiť citlivosť používateľa na spotrebu energie na ovládanie jasu. Táto aktivita je určená pre deti staršie ako 9 rokov, ktoré sú schopné čítať a porozumieť orientačným meraniam jasu a