Prosty system alarmowy z Arduino

Podobne dokumenty
LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

Pomiar odległości z Arduino czujniki, schematy, przykładowe kody

Arduino jako wyłącznik z opóźnieniem

Przyrząd do grania bluesa Projekt zaliczeniowy z przedmiotu Programowanie Mikrokontrolerów

Arduino prezentuje działanie bramki logicznej AND

EKSPANDER NA SZYNĘ DIN int-iors_pl 10/14

EKSPANDER WEJŚĆ ADRESOWALNYCH int-adr_pl 05/14

Schemat blokowy architektury AVR

Commander

Instrukcja dla: Icomsat v1.0 SIM900 GSM/GPRS shield for Arduino oraz dla GPRS Shield produkcji Seeedstudio.

Systemy Wbudowane. Arduino C. Arduino C - stałe. Arduino C - Stałe. Arduino C - Stałe. Funkcje matematyczne. Arduino C - Stałe

Klawiatura matrycowa

Zmierzyć się z żywiołami, czyli jak zbudować własną stację badawczą! Zaczynamy! Pole komunikatów programu. Nawigacja w programie Arduino

LabVIEW PLATFORMA EDUKACYJNA Lekcja 6 LabVIEW i Arduino programy wykorzystujące wyświetlacz LCD, czujnik temperatury, PWM i diodę LED

Uwaga: dioda na wyjściu 13 świeci gdy na wyjście podamy 0.

Skrócona instrukcja obsługi

Skrócona instrukcja obsługi

dokument DOK wersja 1.0

LABORATORIUM - ELEKTRONIKI Układy mikroprocesorowe cz.2

Systemy Wbudowane. Arduino C. Arduino C - stałe. Arduino C - Stałe. Arduino C - Stałe. Funkcje matematyczne. Arduino C - Stałe

Skrócona instrukcja obsługi Powerline 1200 Model PL1200

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.

Instalacja. Powerline 500 Model XAVB5221

Skrócona instrukcja obsługi kamery Arlo Baby

Calisto Telefon konferencyjny USB. Instrukcja użytkowania

Deklaracja zgodności jest dostępna pod adresem

3. Sieć PLAN. 3.1 Adresowanie płyt głównych regulatora pco

Instrukcja obsługi sterownika TB6560-3v2 oraz programu Mach3

SCL > Pin 21 SDA > Pin 20 VCC > 5V GND > GND

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

Projektowanie Systemów Wbudowanych

WARIATOR USTAWIENIA Białystok, Plażowa 49/1, Poland,

UNO R3 Starter Kit do nauki programowania mikroprocesorów AVR

NAZWA PRODUKTU: Kamera SPORTOWA MD80 DV HD 720x480 + uchwyty T09 Główne funkcje

PROGRAMOWANIE I ARDUINO W SZKOLE

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

by Jody Culkin PIERWOTNY WZÓR BĘDĄCY PODSTAWĄ DO STWORZENIA GOTOWEGO PRODUKTU.

Z pomocą Arduino budujemy mikrofon podsłuchowy

Szybkie uruchamianie. Powerline Model PL1200

Moduły RIO z wyjściami analogowymi IPSEN-BL8O DIN

Skrócona instrukcja obsługi kamery Arlo Baby

CENTRALA ALARMOWA CA-1A

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Pomoc do programu ISO Manager

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA

SP-1101W/SP-2101W Instrukcja Szybkiej Instalacji

INSTRUKCJA OBSŁUGI IMMOBILIZERA TRANSPONDEROWEGO

NAZWA PRODUKTU: Mini metalowa kamera Full HD 1920x1080 detekcja ruchu S153 Cechy produktu

Moduł RS232 E054. TAP - Systemy Alarmowe Sp. z o. o. os. Armii Krajowej Poznań tel ; fax:

Pilot. Instrukcja instalacji

Sygnały, czyli pogadajmy z Arduino

dv-2ps INSTRUKCJA OBSŁUGI

NWD-210N Bezprzewodowy adapter USB n

Model: OR-ZS-802 (OR-ZS-SB-102) ZAMEK SZYFROWY Z CZYTNIKIEM KART I BRELOKÓW ZBLIŻENIOWYCH ID. Instrukcja montażu i programowania

TESTER KABLI Do sprawdzania kabli: UTP, STP, koncentrycznych i modularnych

AKTUATOR DO SYSTEMU DUO Q

Konfiguracja i programowanie PLC Siemens SIMATIC S7 i panelu tekstowego w układzie sterowania napędami elektrycznymi. Przebieg ćwiczenia

Instrukcja instalacji. Czujnik CO₂ Polski

Skrócona instrukcja uruchomienia i konfiguracji kamery D-Link DCS-930L

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Kurs Elektroniki. Zastosowanie elektroniki w robotyce cz

INSTRUKCJA OBSŁUGI MODUŁ TABLICY SYNOPTYCZNEJ - MTS42. Aktualizacja

Skrócona instrukcja obsługi

Stacja pogodowa, bezprzewodowa Techno Line WS 6820

Nazwa kwalifikacji: Montaż układów i urządzeń elektronicznych Oznaczenie kwalifikacji: E.05 Numer zadania: 01

Instrukcja instalacji

Wodoodporny zamek kodowy z czytnikiem kart. Instrukcja obsługi. Nr produktu:

RPTC CONTROLLER (v1.11) STEROWNIK PRZEMIENNIKA RADIOWEGO OBSŁUGA KOMUNIKATÓW GŁOSOWYCH OBSŁUGA KOMUNIKATÓW IDCW OPCJONALNY MODUŁ GSM

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Uniwersalne zdalne sterowanie magnetowidem IR Nr art

Spis treści. Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

MODUŁ INTEGRACJI Z SYSTEMEM KNX INT-KNX

WARIATOR WYPRZEDZENIA ZAPŁONU WARIATOR USTAWIENIA

Skrócona instrukcja obsługi

PULPIT STERUJĄCY DPS-4000

Ćwiczenie 4: Eksploatacja systemu kontroli dostępu jednego Przejścia REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU

ze względu na jego zaokrąglony kształt musimy go umieścić w innych bloczkach np. ze zmienną: lub jeśli chcemy sprawdzić jaki właśnie znak odczytujemy:

Programowanie mikrokontrolerów AVR

RX10RF + VS RF + SALUS Smart Home Podłączenie modułu sterującego i regulatora

Polski. Podręcznik Użytkownika BT-03i

Kamera. Nr produktu

Systemy Wbudowane. Arduino, AVR (wersja 2018) Arduino. Arduino. Oprogramowanie. Rys historyczny. Mikrokontroler

tinyesp WiFi Kontroler

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Spis treści. 1. Rozdział Rozdział Rozdział Rozdział Koniec spisu treści -

PAROWANIE Z APLIKACJĄ TUYA SMART

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

MODUŁ INTEGRACJI Z SYSTEMEM KNX int-knx-2_pl 03/15

MODUŁ GŁOSOWY INT-VG. 1. Właściwości. 2. Dane techniczne

INTEGRACJA CENTRALI ALARMOWEJ SATEL Z HOME CENTER 2 FIBARO

Ćwiczenie 8: WYKONANIE INSTALACJI alarmowej w budynku jednorodzinnym REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU

MoboLab roboty i tablety w Twojej szkole Obszar II. Stwórz własnego robota Scenariusze lekcji i zajęć pozalekcyjnych

Zespół Szkół Technicznych w Skarżysku - Kamiennej. Projekt budowy Zasilacza regulowanego. Opracował: Krzysztof Gałka kl. 2Te

SIWAREX WP521/WP522. Moduł SIWAREX występuje w dwóch wersjach: WP521 jednokanałowej, WP522 dwukanałowej. FAQ: /PL Data: 06/09/2016

Immobilizer samochodowy otwierający dostęp poprzez kod czteroznakowy.

Stacja pogodowa, internetowa Archos Europa, dla urządzeń Apple iphone/ipad/ipod i Android

Skrócona instrukcja obsługi

Odbiornik Systemu Radiowego RXI4N8

Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).

Instrukcja obsługi KAMERA LC-S989

Transkrypt:

W tym opracowaniu chcemy zaproponować skonstruowanie prostego urządzenia, które chciałby posiadać każdy tajny agent lub detektyw, a mianowicie prosty system alarmowy, który będzie się uruchamiał, gdy detektor ruchu wykryje przemieszczanie się osób lub przedmiotów. Ten prosty system to nie tylko zabawa, ale praktyczna nauka i pomoc w przejściu przez podstawy programowania Arduino i konstruowania urządzeń elektronicznych. Będzie to w zasadzie prosty alarm (brzęczyk emitujący dźwięk plus czerwona migająca dioda LED) połączony z detektorem ruchu. Użytkownik będzie mógł oczywiście wyłączyć alarm, naciskając przycisk mikroprzełącznika. W celu wykonania projektu takiego urządzenia spróbujemy wykonać następujące czynności: najpierw zajmiemy się opracowaniem wymagań dla tego projektu, jeśli chodzi o sprzęt i oprogramowanie, następnie zobaczymy, jakie musimy skompletować części i sprzęt do naszego projektu, a na koniec skonfigurujemy nasz system przy użyciu środowiska programistycznego Arduino IDE. Wymagania sprzętowe i programistyczne Po pierwsze, spójrzmy, jakie są wymagane podzespoły dla tego projektu. Ponieważ jest to pierwsze takie opracowanie, poświęcimy więcej czasu na szczegółowy opis różnych elementów, gdyż będą to składniki, których będziemy używać w wielu innych projektach opisywanych na naszym portalu. Pierwszym, a zarazem głównym elementem naszego projektu, jest płyta (moduł) Arduino Uno pokazana na fotografii 1. W wielu opracowaniach, które są i będą prezentowane na portalu jest to mózg projektów, Fot. 1. Widok płyty modułu Arduino Uno 1

które będziemy mogli wykonać samodzielnie. We wszystkich projektach będziemy używać oficjalnej płyty Arduino Uno R3. Jednakże można użyć równoważnej płyty innej marki lub innej płyty Arduino, na przykład płyty Arduino Mega. Innym istotnym elementem naszego systemu alarmowego będzie brzęczyk (buzzer) pokazany na fotografii 2. Fot. 3. Czujnik ruchu uruchamiający system alarmowy wyposażenie do przyłączenia do płytki Arduino. Można użyć czujnika dowolnej marki, powinien on jedynie być zasilany napięciem 5V, aby był kompatybilny z płytą Arduino Uno. Fot. 2. Brzęczyk używany w naszym systemie alarmowym Jest to bardzo prosty element, który służy do generowania prostych dźwięków z urządzenia Arduino. Przy jego użyciu nie można odtwarzać bardziej skomplikowanych plików muzycznych np. mp3, ale jest on wystarczająco dobry dla systemu alarmowego. Oczywiście można użyć dowolnego innego brzęczyka, który jest dostępny, ale w tym momencie celem jest po prostu wyemitowanie dźwięku. Następnym potrzebnym elementem jest detektor (czujnik) ruchu, pokazany na fotografii 3. W naszym projekcie zaproponowaliśmy użycie bardzo prostego detektora ruchu PIR. Ten czujnik mierzy światło podczerwone (IR) emitowane przez przemieszczające się obiekty w polu widzenia detektora, na przykład przez poruszające się osoby. To jest naprawdę proste i tanie 2 Ostateczna lista wszystkich elementów, które będziemy używać w tym projekcie jest następująca: płytka Arduino Uno brzęczyk (buzzer) czujnik ruchu PIR dioda LED czerwona rezystor 330Ω rezystor 1kΩ miniprzełącznik płytka montażowa do projektów z Arduino (Breadboard) łączówki (odcinki przewodów z zarobionymi końcówkami) Po stronie oprogramowania jedyną rzeczą, której będziemy potrzebować w tym projekcie jest najlepiej najnowsza wersja zintegrowanego środowiska programistycznego IDE Arduino, którą można pobrać z następującego adresu URL: https://www.arduino.cc/en/main/software. Konfiguracja sprzętu Teraz skompletujemy sprzęt do naszego projektu. Ponieważ nie jest to zbyt skomplikowany projekt, będzie to dość proste zadanie. Jest jednak kilka elementów, więc należy pamiętać o tym, aby wykonać wszystkie kroki.

Fot. 4. Schemat montażowy naszego systemu alarmowego Na fotografii 4 pokazano schemat, który pomoże nam podczas tego procesu. Zacznijmy od zamontowania wszystkich elementów na płycie montażowej. Najpierw należy umieścić brzęczyk, mikroprzełącznik i diodę LED na płycie zgodnie ze schematem pokazanym na fotografii 4. Następnie należy umieścić rezystor 330Ω połączony szeregowo z anodą diody LED (dowolne wyprowadzenie rezystora połączone z dłuższym wyprowadzeniem diody LED) i podłączyć rezystor 1kΩ do jednego z kontaktów (wyprowadzeń) mikroprzełącznika. Fotografia 5 pokazuje jak powinien wyglądać nasz projekt po tych czynnościach. Fot. 5. Widok naszego projektu po zamontowaniu elementów po tym etapie, przed rozpoczęciem łączenia elementów z płytą Arduino 3

Teraz będziemy łączyć wszystkie podzespoły umieszczone na płycie montażowej z modułem Arduino. Zacznijmy od zasilania. W pierwszej kolejności należy podłączyć kontakt 5V płyty Arduino do jednej czerwonej szyny zasilającej na płytce montażowej, a kontakt GND (masa) płyty Arduino do jednej niebieskiej szyny zasilającej na płycie montażowej. Teraz podłączymy brzęczyk. Jedno z wyprowadzeń brzęczyka łączymy z pinem numer 5 płyty Arduino, a drugie wyprowadzenie podłączamy do niebieskiej szyny zasilającej na płycie montażowej. Po podłączeniu brzęczyka podłączymy diodę LED. W tym celu wolne wyprowadzenie rezystora podłączamy do pinu nr 6 płyty Arduino, a wolne wyprowadzenie diody LED (katoda) łączymy z masą, czyli podłączamy do niebieskiej szyny zasilającej. Następnym krokiem będzie podłączenie przełącznika do naszej płyty Arduino. W tym celu zapoznajmy się ze schematem i kontrolujmy nasze czynności, gdyż połączenia są bardziej złożone. Zasadniczo należy podłączyć wolne wyprowadzenie rezystora do masy (do niebieskiej szyny zasilającej) i połączyć styk, który jest podłączony do przełącznika do kontaktu 5V za pośrednictwem czerwonej szyny zasilającej. Wreszcie, należy podłączyć drugą stronę przełącznika do pinu 12 płyty Arduino. Na koniec, połączmy czujnik ruchu PIR z płytą Arduino. W tym celu należy podłączyć wyprowadzenie VCC czujnika ruchu do czerwonej szyny zasilającej i wyprowadzenie GND do niebieskiej szyny zasilającej. Wreszcie podłączmy pin SIG (lub pin OUT) do kontaktu nr 7 Arduino. Powinniśmy osiągnąć rezultat pokazany na fotografii 6. Fot. 6. Widok naszego projektu po podłączeniu wszystkich elementów z modułem Arduino 4

Jeśli nasz projekt wygląda podobnie do tego pokazanego na fotografii 6, to gratulacje, po prostu zmontowaliśmy swój projekt alarmu! Teraz możemy przejść do konfiguracji systemu alarmu. Konfigurowanie systemu alarmowego Teraz, gdy sprzęt naszego projektu jest gotowy, możemy napisać kod dla projektu, abyśmy mieli użyteczny system alarmowy. Celem jest, aby brzęczyk wydawał dźwięk, gdy zostanie wykryty ruch, a dioda LED migała. Jednak po każdym naciśnięciu przycisku przełącznika alarm ma zostać wyłączony. Poniżej zamieszczamy kompletny kod dla takiego projektu: // Code for the simple alarm system // Pins const int alarm_pin = 5; const int led_pin = 6; const int motion_pin = 7; const int button_pin = 12; // Alarm boolean alarm_mode = false; // Variables for the flashing LED int ledstate = LOW; long previousmillis = 0; long interval = 100; // Interval at which to blink (milliseconds) void setup() { // Set pins to output pinmode(led_pin,output); pinmode(alarm_pin,output); // Set button pin to input pinmode(button_pin, INPUT); // Wait before starting the alarm delay(5000); void loop() { // Motion detected? if (digitalread(motion_pin)) { alarm_mode = true; // If alarm mode is on, flash the LED and make the alarm ring if (alarm_mode){ unsigned long currentmillis = millis(); if(currentmillis - previousmillis > interval) { previousmillis = currentmillis; if (ledstate == LOW) ledstate = HIGH; else ledstate = LOW; // Switch the LED digitalwrite(led_pin, ledstate); tone(alarm_pin,1000); // If alarm is off if (alarm_mode == false) { // No tone & LED off notone(alarm_pin); digitalwrite(led_pin, LOW); // If button is pressed, set alarm off int button_state = digitalread(button_pin); if (button_state) {alarm_mode = false; Opis kodu Teraz bardziej szczegółowo omówimy różne części kodu. Kod zaczyna się od deklaracji, które piny są połączone z różnymi elementami projektu, na przykład brzęczyk alarmu: const int alarm_pin = 5; const int led_pin = 6; 5

const int motion_pin = 7; const int button_pin = 12; Następnie, w funkcji setup() szkicu, deklarujemy te piny (szpilki) jako wejścia lub wyjścia: // Set pins to output pinmode(led_pin,output); pinmode(alarm_pin,output); // Set button pin to input pinmode(button_pin, INPUT); Następnie, w funkcji loop() szkicu sprawdzamy, czy alarm został włączony, przez sprawdzenie stanu czujnika ruchu: if (digitalread(motion_pin)) { alarm_mode = true; Zauważmy, że jeśli wykryjemy jakiś ruch, natychmiast ustawimy zmienną alarm_mode (tryb alarmu) na true ( prawda ). Zobaczymy jak ten kod używa tej zmiennej teraz. Teraz, jeśli zmienna alarm_mode jest prawdziwa (warunek zwraca true prawda ), musimy włączyć alarm, rozpocząć emitowanie dźwięku przez brzęczyk, a także miganie diody LED. Odbywa się to za pomocą następującego fragmentu kodu: if (alarm_mode){ unsigned long currentmillis = millis(); if(currentmillis - previousmillis > interval) { previousmillis = currentmillis; if (ledstate == LOW) ledstate = HIGH; else ledstate = LOW; // Switch the LED digitalwrite(led_pin, ledstate); tone(alarm_pin,1000); Ponadto, jeśli zmienna alarm_mode zwróci false ( fałsz ), musimy natychmiast wyłączyć alarm, zatrzymując emisję dźwięku i miganie diody LED. Odbywa się to za pomocą następującego kodu: if (alarm_mode == false) { // No tone & LED off notone(alarm_pin); digitalwrite(led_pin, LOW); Wreszcie także przez cały czas musimy odczytywać stan przełącznika. Jeśli przycisk zostanie naciśnięty, natychmiast musimy wyłączyć alarm: int button_state = digitalread(button_pin); if (button_state) {alarm_mode = false; Zazwyczaj powinniśmy zadbać o efekt odbijania przycisku, aby upewnić się, że po naciśnięciu przycisku nie mamy błędnych odczytów. Ponieważ mamy tu do czynienia tylko z tym jednym przyciskiem, który jest faktycznie wciśnięty lub nie, nie potrzebujemy dodawać dodatkowego kodu zabezpieczającego przed przekłamaniami w wyniku efektu odbijania dla przycisku. Teraz, gdy zapisaliśmy kod dla projektu, nadszedł czas, aby przejść do najbardziej ekscytującej części: do testowania systemu alarmowego! Testowanie systemu alarmowego Teraz jesteśmy gotowi przetestować nasz prosty system alarmowy. Wystarczy umieścić kod naszego projektu w środowisku programistycznym Arduino IDE. W środowisku programistycznym Arduino IDE należy wybrać właściwy typ płyty (na przykład Arduino Uno), a także prawidłowy port szeregowy. Teraz można przesłać kod do płytki Arduino. Po zakończeniu przesyłania kodu wystarczy przesunąć rękę przed czujnikiem ruchu PIR alarm powinien natychmiast uruchomić się. Następnie należy nacisnąć przycisk mikroprzełącznika, aby go zatrzymać (wyłączyć). Aby zilustrować zachowanie alarmu, po prostu użyto akumulatora, aby działał, gdy nie jest 6

Fot. 7. Efekt działającego systemu alarmowego podłączony do komputera. Efekt pokazany na fotografii 7 jest wynikiem włączenia alarmu: Jeśli to działa zgodnie z oczekiwaniami, gratulacje, właśnie skonstruowaliśmy swój pierwszy projekt prostego system alarmowego opartego na Arduino! Jeśli projekt w tym momencie nie działa tak jak powinien, należy sprawdzić kilka rzeczy. Najpierw należy przejść przez część konfiguracyjną sprzętu, aby upewnić się, że projekt jest prawidłowo podłączony. Podsumowanie W tym opracowaniu zbudowaliśmy tylko z kilku elementów prosty alarm oparty na Arduino. Istnieje kilka pomysłów i sposobów na dalsze prace nad rozbudową projektu. Można dodać więcej funkcji do projektu, dodając więcej linii do kodu. Na przykład można dodać zegar tak, aby alarm wyłączył się po upływie określonego czasu lub można zbudować tryb, w którym naciśnięcie przycisku faktycznie aktywuje lub wyłącza tryb alarmowy. Ponadto należy sprawdzić, czy przy przesuwaniu ręki przed frontem czujnika ruchu PIR, świeci się na czerwono. Jeśli tak nie jest, najprawdopodobniej występuje problem z czujnikiem ruchu PIR i należy go wymienić. 7