Operácie

Interaktívna lampička II

Zo stránky SensorWiki

Záverečný projekt predmetu MIPS / LS2026 - Michal Čavojský


Zadanie

Zadaním môjho semestrálneho projektu bolo vytvoriť a naprogramovať interaktívnu inteligentnú lampičku. Zadanie som realizoval doma s vlastnými komponentmi a vytvoril som si osvetlenie procovného stolíka a podsvietenie monitora, ovládané pomocou IR senzora, dosky kopie Arduino UNO (v mojom prípade TZTUNO R3+wifi, funkčnosťou totožné s vývojovou doskou arduino UNO alebo ACROB), 5V relé a dvoch LED pásov.

Použitá doska Arduino UNO


Literatúra:


Analýza a opis riešenia

Použité súčiastky: - TZTUNO R3: Riadiaca jednotka - 4-Kanálový 5V relé modul: Spínanie - FC-51 IR senzor: Snímač pohybu ruky - SEN-KY003HMS Hallov senzor: Snímač otvorenia dvierok - 12V LED pás: Svetlo, funkčný prvok ktorý ovládame - vodiče: Prepojenie periférií - napájacie zdroje: Zabezpečenie stabilného napájanie súčiastok


Datasheety a dokumenty:


1. NÁPAD: Projekt som realizoval u seba v izbe ako funkčné riešenie. Princíp zadania spočíval v tom, že moje svetlo nad stolom (inteligentná lampička) sa zažne pri prejdení rukou ponad skrytý senzor. Pri dlhšom podržaní ruky (približne 1.5 sekundy) sa rozsvieti LED pás prilepený za monitorom a vytvorí tak ambientné podsvietenie. Zároveň som pridal aj osvetlenie skrinky, na ktoré som použil iný senzor. Konkrétne išlo o Hallov senzor, ktorý sníma magnetické pole. V tomto prípade išlo o to že senzor nasnímal magnet ktorý som prilepil na dvierka skrinky. Pri oddialení dvierok senzor prestal detegovať magnetické pole od magnetu a svetlo sa rozsvietilo.


2. HARDWAREOVÁ REALIZÁCIA: Ako prvé som potreboval zabezpečiť hardware pomocou ktorého všetko bude fungovať tak ako som si naplánoval. Bolo potrebné kúpiť všetky hore uvedené súčiastky. Projekt som najprv riešil iba jednoduchým prepojením dielov na stolíku (tz. na kolene). Po teste funkčnosti celého systému som sa pustil do hardwarovej realizácie. Keďže LED pásiky sú napájané 12V a napájanie z arduina by nebolo dostatočné ani napätím a ani prúdom, zvolil som napájanie všetkého pomocou jedného napájacieho zdroja, ktorý už bol k lampičke, informácie k nemu som nedohľadal no základné veci sú na obrázku nižšie. Relé boli zapojené 2x ako NC (tj. normaly closed) a 1x ako NO (normaly open), NC boli zapojenia pri lampičkách nad stolíkom a NO bolo pre skrinku, z jednoduchého dôvodu. Keďže Hallov snímač snímal 0 alebo 1 signál od reakcie magnetického poľa a svetlo malo byť vypnuté vtedy ak je magnet priblížený (tj. senzor ukazuje hodnotu 1) je chytrejšie relé zapojiť tak že pri ukázanej 1 je zatvorené a pri 0 sa zopne. Dalo by sa to vyriešiť aj softwarovo, no mohlo by dochádzať k mýleniu a zbytočným chybám v kóde. Relé aj s riadiacou jednotkou (ďalej nazývané skrátene ako RJ) som pripojil pod stolíkom, napájanie zabezpečovali napájacie zdroje (5V pre RJ, 12V pre LED pásiky). Na pripojenie pri stolíku som využil reproduktorový kábel a vodiče ktoré boli už s lampičkou. Do skrinky som použil 8 vodičový kábel, keďže bolo potrebné pripojiť 2x osvetlenie (3ks vodičov) a senzor (3ks vodičov) a tento 8 žilový kábel som našiel doma, zároveň ak by som chcel rozšíriť tento systém o ďaľšiu perifériu, nemusím pridávať vodiče. Spoje boli spájkované a zároveň zaliate do plastu pomocou tavnej pištole, prípadne ošetrené zmršťovacímy páskami pre bezpečné používanie. IR senzor som prichytil vedľa stolíka na pohodlné miesto, pre uchytenie som namodeloval a vytlačil plastový úchyt, do ktorého som tento senzor vložil a taktiež ošetril zaliatím do plastu.

3. SOFTWAROVÁ REALIZÁCIA Program som vytváral na základe podkladov z cvičení a súborov z nich, no použil som aj rady na githube alebo od AI. Všetko ku kódu je spomenuté v nasledujúcej časti spolu so samotným kódom.

12V napájací zdroj na LED pásiky
12V napájací zdroj na LED pásiky


Opíšte sem čo a ako ste spravili, ak treba, doplňte obrázkami... Podrobne opíšte použité komponenty (okrem základnej dosky s ATmega328P procesorom), pridajte linky na datasheety alebo opis obvodu.

Celkový pohľad na zariadenie.

Nezabudnite doplniť schému zapojenia! V texte by ste mali opísať základné veci zo zapojenia, samotná schéma nie je dostačujúci opis.

Schéma zapojenia.


Algoritmus a program

Algoritmus programu využíva toto a toto, základné funkcie sú takéto a voláma ich tuto... Výpis kódu je nižšie...


#include <avr/io.h>

int main(void)
{
  unsigned int measuredValue;

  while (1)
  {
    /*  relax  */  
  }

  return(0);
}
#include <avr/io.h>

void adc_init(void);                                   // A/D converter initialization

unsigned int adc_read(char a_pin);

Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:

Zdrojový kód: zdrojaky.zip

Overenie

Ako ste overili funkciu, napríklad... Na používanie našej aplikácie stačia dve tlačítka a postup používania je opísaný v sekcii popis riešenia. Na konci uvádzame fotku hotového zariadenia.

Aplikácia.

Video:


Čo by som urobil inak

Zamyslite sa spätne nad problémom, ktorý ste riešili a napíšte, čo sa vám nepodarilo a nabudúce by ste spravili inak.


Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.