System alarmowy

Z support
Przejdź do nawigacji Przejdź do wyszukiwania

Wyzwanie: D BANK

Projekt: D02 SYSTEM ALARMOWY

Przypomnij sobie

Przed rozpoczęciem tego projektu warto wrócić do lekcji:

  • funkcje,
  • generowanie dźwięków,
  • instrukcja warunkowa prosta,
  • instrukcja warunkowa złożona,
  • operatory logiczne,
  • operatory porównania,
  • PWM,
  • wyświetlacz.

Cel projektu

Bank przechowuje w swoich sejfach bardzo dużą gotówkę. Aby pieniądze były bezpieczne dyrektor banku postanowił zainwestować w system alarmowy.

Zadanie 1

Podłączenie modułów

Głośniczek i przycisk są modułami cyfrowymi. Podłącz je pod piny oznaczone literką D (Digital).

Pamiętaj aby głośniczek podłączyć pod pin z znaczkiem ~ aby była możliwość sterowania jego parametrami np. jego wysokością.

Opis

Aby odtworzyć dźwięk z głośniczka wykorzystaj jeden z bloczków <GENERUJ DŹWIĘK>. Aby sterować przyciskiem wykorzystaj instrukcje warunkowe.

Pseudokod

Jeśli naciśnięto przycisk
   wygeneruj dźwięk

Zadanie 2

Opis

Przypomnij sobie jakie bloczki są potrzebne do prawidłowej pracy z wyświetlaczem:

  • włącz wyświetlacz (domyślnie wyświetlacz jest wyłączony, ta instrukcja powinna być użyta tylko raz),
  • wyczyść wyświetlacz (instrukcja wyczyści poprzednie zapiski na wyświetlaczu, np. logo producenta),
  • ustaw kursor (pozwala na wypisanie tekstu zawsze w tym samym miejscu),
  • wypisz na wyświetlaczu (wypisanie tekstu dołączonego z prawej strony bloczka),
  • wyświetl na wyświetlaczu (wyświetlenie powyżej zdefiniowanych tekstów i figur).

Rozszerz instrukcje skojarzone z naciśnięciem przycisku o wypisanie informacji na wyświetlaczu.

Pseudokod

Jeśli naciśnięto przycisk
   wygeneruj dźwięk
   włącz wyświetlacz 
   wyczyść wyświetlacz 	
   ustaw kursor
   wypisz na wyświetlaczu = „Napad na bank”
   wyświetl na wyświetlaczu

Zadanie pomiędzy 2 a 3

Opis

Napisane wcześniej instrukcje dodaj do nowostworzonej funkcji alarm dzień.

Pseudokod

Funkcja uruchom-alarm-dzien()
   Jeśli naciśnięto przycisk
      wygeneruj dźwięk
      włącz wyświetlacz 
      wyczyść wyświetlacz 	
      ustaw kursor
      wypisz na wyświetlaczu = „Napad na bank”
      wyświetl na wyświetlaczu

Zadanie 3

Podłączenie modułów

Czujnik odległości jest czujnikiem analogowym. Podłącz go pod specjalny pin umieszczony na lewo od pinów z literką A (Analog).

Opis

Na początku przetestuj czujnik odległości poprzez sprawdzenie jakie wartości zwraca jeśli jakiś obiekt pojawi się blisko lub daleko od jego oczek. Jako obiekt wykorzystaj własną rękę lub klocek. Do wypisania i odczytania zwracanych wartości wykorzystaj monitor portu szeregowego.

Następnie napisz funkcję, która po wykryciu ruchu wypisze informacje na monitorze portu szeregowego, że został wykryty ruch. W funkcji wykorzystaj instrukcje warunkowe.

Pseudokod

Funkcja uruchom-alarm-noc ()
   jeśli czujnik-odległości > 600
      wypisz-na-porcie-szeregowym = „wykryto ruch”

Zadanie 4

Opis

Napisz dwie funkcje. W pierwszej po wykryciu ruchu wygeneruj ciche dźwięki. Natomiast w drugiej głośne. Dodaj także informacje na wyświetlaczu, że alarm został uruchomiony.

Pseudokod

Funkcja uruchom-alarm-cichy ()
   jeśli czujnik-odległości > 600
      wygeneruj-dźwięk
      wypisz-na-porcie-szeregowym = „alarm cichy - wykryto ruch”

Zadanie 5

Podłączenie modułów

Czujnik obrotu jest modułem analogowym. Podłącz go pod pin oznaczony literką A (Analog).

Opis

Wykorzystaj monitor portu szeregowego aby zapoznać się jakie wartości zwraca czujnik obrotu po wskazaniu każdego z trybów. Następnie na tej podstawie napisz odpowiednie instrukcje warunkowe, które uruchomią napisane wcześniej funkcje.

Pseudokod

jeśli czujnik-obrotu < 200
   uruchom-alarm-noc-czy ()
w przeciwnym razie jeśli czujnik-obrotu > 200 i czujnik-obrotu < 400
   uruchom-alarm-dzien()
…
	

Zadanie 6

Podłączenie modułów

Diody to moduły cyfrowe. Podłącz je pod piny oznaczone literką D (Digital).

Opis

Sprawdź jaki zakres wartości zwraca czujnik obrotu po wskazaniu na obszar „OFF”. Następnie wykorzystaj diody. W trybie „OFF” włącz czerwoną diodę, natomiast w pozostałych zieloną. Pamiętaj aby nie tylko włączyć potrzebną diodę, ale także wyłączyć niepotrzebne.

Optymalizacja:

Dobrym pomysłem jest aby sterować diodami tylko w dwóch miejscach – w trybie off i w pozostałych przypadkach. Opakuj aktualny program w dużą instrukcję sprawdzającą czy czujnik obrotu wskazuje pole z napisem „OFF”. Jeśli tak, to włącz czerwoną diodę. W przeciwnym wypadku włącz zieloną. Dzięki takiemu zabiegowi nie będzie potrzeby, aby powtarzać włączenie zielonej diody w każdym innym trybie niż „OFF”.

Pseudokod

Jeśli czujnik obrotu > 600 i czujnik obrotu < 750 //alarm wyłączony
   dioda-led włącz czerwoną 
   dioda-led wyłącz zieloną 
w przeciwnym razie
   dioda-led wyłącz czerwoną 
   dioda-led włącz zieloną
   jeśli czujnik-obrotu < 200
      uruchom-alarm-noc-czy ()
   w przeciwnym razie jeśli czujnik-obrotu > 200 i czujnik-obrotu < 400
      uruchom-alarm-dzien()
	…

Zadanie 7

Opis

Sprawdź jak działa bloczek <MODULUJ PWM>. Na podstawie testów wybierz takie dwie wartości natężenia dźwięku jakie będą pasować do trybu alarmu dzień i noc.