Get the Flash Player to see this player.

time2online Joomla Extensions: Simple Video Flash Player Module
Prosty alarm

W tym artykule przedstawię Wam jak zbudować alarm na mikrokontrolerze. Oczywiście większość ludzi zapyta "po co do tak prostego urządzenia używać mikrokontrolera?", odpowiedź jest prosto. Ponieważ przetwarzając dane za pomocą mikrokontrolera możemy w łatwy sposób dołożyć masę innych gadżetów takich jak np. czas w którym wystąpił alarm, ilość przekroczeń alarmowych, modulowany sygnał dźwiękowy, możliwość zapisu danych na karcie pamięci oraz mamy możliwość transmisji tych danych do komputera za pomocą przeróżnych magistrali takich jak SPI, RS232 i Ethernet.

1) Najprostszy alarm działa identycznie jak przycisk monostabilny i do zbudowania takiego alarmu wystarczyłaby sprężynka oraz blaszka (czyli przycisk monostabilny), która zwierałaby przewody np. przy zamykaniu okna. Program wyglądałby tak samo jak program do naciskania przycisków, tylko w tym przypadku "przycisk" naciskany byłby przez drzwi lub okno, a nie Nasz palec. Zmiana stanu logicznego podłączonego do przycisku informowałaby Nas o otwarciu lub zamknięciu okna.

Oczywiście takie rozwiązanie nie jest używane w praktyce, dlatego ponieważ każdy element mechaniczny ulega zniszczeniu i jeśli tylko można należy unikać elementów ruchomych w każdym urządzeniu (dlatego unikam komórek z klapką). Wyobraźmy sobie ile razy dziennie zamykacie drzwi w swoim pokoju oraz ile razy dziennie trzaśniecie drzwiami, albo trzaśnie nimi przeciąg? Za każdym takim trzaśnięciem przycisk alarmowy wypaczałby się, aż w końcu przestałby działać, co byłoby równoznaczne z koniecznością naprawy alarmu. Właśnie w tym celu wymyślono kontaktron.

Kontaktron jest to urządzenie, które naciska przycisk nie dotykając go w bardzo magiczny sposób. Jeśli nie ma kontaktu fizycznego, to żaden element alarmu się nie wypaczy. Działa on w prosty sposób, po prostu zamiast palca wciskającego przycisk użyto magnesu (Harry Potter się chowa). Wystarczy tylko na drzwiach nakleić magnes, a na futrynie "Nasz przycisk (druga część kontaktronu)" i już możemy cieszyć się alarmem. Dlatego aby oszukać alarm zbudowany na kontaktronie wystarczy wsunąć magnetyczną blaszkę między kontaktron i otworzyć drzwi.

2) Drugi prosty alarm można zbudować na fotodiodzie lub na fototranzystorze tak jak to często pokazywane jest na filmach. W takim rozwiązaniu należy kupić fototranzystor, który przewodzi tylko, gdy świeci na niego światło lasera.  Program w mikroprocesorze nie będzie się niczym różnił, dalej będzie wykrywał stan niski lub wysoki. Wysoki gdy tranzystor przewodzi (gdy świeci światło lasera) i niski gdy nie przewodzi (gdy zasłonimy światło lasera).

My wykorzystamy tu kontaktron, sam program jest modyfikacją programu na wyświetlacz opisanego już wcześniej.

#include <stdio.h>  //dodajemy biblioteki, które umożliwiają korzystanie z procedur
#include <math.h>
#include <avr/io.h>
#include <util/delay.h>
#include "LCD.h"

int main(void)
{

DDRD = 0b00000000; //ustawiamy port D jako wejście
DDRB = 255; //ustawiamy port B jako wyjście
PORTB = 255; // ustawienie napięcia na porcie B
PORTD = 0xFF; //wartość początkowa portu D to 1 na wszystkich nóżkach, tzw rezystory pull-up są załączone
LCD_start();

while (1) //pętla główna programu, to co jest w tej pętli powtarza się w nieskończoność
{


if(bit_is_clear(PIND,PD6 ))  //procedura bit_is_clear zwraca nam wartość logiczna true lub false w zależności od tego czy jest 0 czy 1 na bicie PD0
{
 _delay_ms(1500);  //mikrokontroler przez 1,5 sec wykonuje puste procedury nop
 LCD_putstrxy("Drzwi zamkniete  ", 0, 0); // wyświetla napis w 0 wierszu i 0 kolumnie
}

if(bit_is_set(PIND,PD6 ))  //procedura bit_is_clear zwraca nam wartość logiczna true lub false w zależności od tego czy jest 0 czy 1 na bicie PD0
{
 _delay_ms(1500);  //mikrokontroler przez 1,5 sec wykonuje puste procedury nop
 LCD_putstrxy("Drzwi otwarte    ", 0, 0); // wyświetla napis w 0 wierszu i 0 kolumnie
}

 

Kliknij tu, aby pobrać cały projekt