Operácie

Interaktívna lampička II: Rozdiel medzi revíziami

Zo stránky SensorWiki

StudentMIPS (diskusia | príspevky)
Bez shrnutí editace
StudentMIPS (diskusia | príspevky)
Bez shrnutí editace
Riadok 37: Riadok 37:
Schéma zapojenia:
Schéma zapojenia:


[[Súbor:Schema_zapojenia_cavojsky.png|thumb|center|Prvé skúšky zapájania pred finálnou inštaláciou]]
[[Súbor:Schema_zapojenia_cavojsky.png|thumb|center|Schéma zapojenia projektu]]





Verzia z 18:58, 25. máj 2026

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:

Schéma zapojenia:

Schéma zapojenia projektu



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.


Prvé skúšky zapájania pred finálnou inštaláciou


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
Zapojená riadiaca jednotka
Zapojený hallov senzor v skrinke na snímanie magnetu
IR senzor nainštalovaný na stolíku v 3D vytlačenom púzdre
Zapojené relé
Funknčne zapojený LED pás (lampička), prívody sú prispájkované a zaliate


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

Na overenie funkčnosti som zapojil všetky periférie a prešiel rukou ponad IR senzor či sa lampička zapne, takisto som prešiel magnetom ponad hallov senzor a sledoval odozvu LED pásika, výsledné fungovanie je odprezentované vo videu nižšie.


Video:

Čo by som urobil inak

Nemám nič čo by som robil inak, všetko sa mi podarilo podľa očakávania, jediné vylepšenie čo mi napadá by mohlo byť prepojenie pomocou konektorov a nie "natvrdo" pripojenými káblami.


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