Jak zrobić system bezpieczeństwa domu za pomocą Arduino Uno

Jak zrobić system bezpieczeństwa domu za pomocą Arduino Uno
Arduino jest najkorzystniejszą platformą do tworzenia różnych projektów, które są w większości powiązane z urządzeniami, które są powszechnie używane w naszej rutynie codziennego życia. Podobnie możemy również nauczyć się działania obwodów za pomocą platformy Arduino. W tym kontekście stworzyliśmy system bezpieczeństwa za pomocą Arduino Uno.

Tworzenie systemu bezpieczeństwa domu za pomocą Arduino Uno

System bezpieczeństwa jest zawsze oparty na pewnym rodzaju autoryzacji, a autoryzacja może być w formie kodu, odcisku palca, rozpoznawania głosu i rozpoznawania twarzy. W tym projekcie zaprojektowaliśmy system bezpieczeństwa, który używa hasła do autoryzacji. Poniżej znajdują się komponenty, których użyliśmy do tworzenia systemu bezpieczeństwa.

  • Arduino Uno
  • Tablica chleba
  • Łączenie przewodów
  • Klawiatura membrana 4 × 4
  • 16 × 2 Wyświetlacz ciekłokrystaliczny (LCD)
  • Moduł RGB

Zdjęcie schematu tworzenia systemu bezpieczeństwa domu za pomocą Arduino opublikowanych poniżej:

Zespół sprzętu do tworzenia systemu bezpieczeństwa domu

Do montażu sprzętu podłączyliśmy komponenty w taki sposób, że przede wszystkim umieściliśmy LCD i potencjometr na płycie chleba. Ponadto opublikowaliśmy zdjęcie poniżej do montażu sprzętu dla systemu bezpieczeństwa.

Brązowe przewody interfejs LCD z Arduino, a niebieskie przewody łączą klawiaturę z Arduino i aby wyregulować jasność 0f LCD żółty drut łączy potencjometr z LCD.

Użyliśmy modułu RGB do wyświetlenia statusu autoryzacji po wprowadzeniu hasła, a kolor przewodów pokazuje kolor diod LED używanych do wskazania.

Kod Arduino dla systemu bezpieczeństwa domu

Kod Arduino opracowany dla systemu bezpieczeństwa domowego podano poniżej:

#include // definiowanie biblioteki dla LCD
#include // definiowanie biblioteki dla klawiatury
Liquidcrystal LCD (A1, A0, 5, 4, 3, 2); // szpilki Arduino dla LCD
#definicja hasła_length 9 // określenie długości hasła
char UserInput [hasło_length];/*ciąg do przechowywania wejścia użytkownika*/
char master [hasło_length] = "1234"; /*Zapisywanie poprawnego hasła*/
char customKey; // ta zmienna utrzymuje wejście klawisza każdego naciśniętego klawisza
bajt pressCount = 0;/* do przechowywania licznika dla ilości razy naciśnięty klawisze*/
Rzęby bajtów const = 4; // Definiowanie liczby wierszy
const bajte cols = 4; // Określenie liczby kolumn
int led = a2; // arduino pin dla zielonej diody LED
int LED2 = A3; // Arduino Pin dla czerwonej diody LED
Char Keys [rzędy] [cols] = // przypisywanie wartości do klawiszy klawiatury

„1”, „2”, „3”, „A”,
„4”, „5”, „6”, „B”,
„7”, „8”, „9”, „C”,
'*', '0', '#', 'd'
;
// C KLUCZU jest używany do wyczyszczenia, a klawisz służy do wprowadzenia hasła
Bajt Rowpins [wiersze] = 13,12,11,10; // szpilki Arduino do rzędów klawiatury
bajt colpins [cols] = 9,8,7,6; // szpilki Arduino dla kolumn z klawiatury
Keypad CustomeyPad = Keypad (MakeKeyMap (klawisze), Rowpins, Colpins, Rows, Cols); // Mapowanie wartości na odpowiednie klucze klawiatury
void setup ()
LCD.Rozpocznij (16,2); // inicjowanie wymiarów LCD
LCD.setCursor (0,0); // Ustawienie miejsca dla wyświetlania danych
LCD.drukuj („Arduino Home”); // dane do wyświetlenia
LCD.setCursor (0,1); // Ustawienie miejsca dla wyświetlania danych
LCD.print („System bezpieczeństwa”); // dane do wyświetlenia
opóźnienie (2000); // czas, dla którego dane będą wyświetlane
LCD.clear (); // usuwanie LCD
pinmode (LED, wyjście);
pinmode (LED2, wyjściowe);
DigitalWrite (LED2, niski); // przypisanie niskiego stanu do czerwonej diody LED

void Loop ()
LCD.setCursor (0,0); // Ustawienie miejsca do wyświetlania danych
LCD.drukuj („Wprowadź hasło:”); // prośba o wprowadzenie hasła
CustomKey = CustomKeyPad.WaitForkey (); // Oczekiwanie, aż użytkownik wprowadzi hasło
if (customKey != No_key && customKey != 'C' && customKey != 'A') /* Jeśli klawisz inny niż wyraźny funkcja i równa funkcji jest naciśnięta* /

userInput [PressCount] = customKey;/ * Policz klawisze z naciśniętymi wartościami całkowitymi */
LCD.setCursor (PressCount + 4, 1); /*Ustawienie miejsca, w którym hasło będzie wyświetlane na LCD*/
LCD.wydrukować("*"); // Wyświetlanie gwiazdki na każdym klawiszu hasłem
pressCount ++; // zwiększ jeden pod względem długości hasła, który wynosi 4

else if (customKey == 'c') // Jeśli naciśnięty jest klawisz oczyszczającą funkcję c

LCD.clear (); // następnie wyczyść LCD
Wyczyść dane();

else if (customKey == 'a') /* Jeśli klawisz jest naciśnięty, a liczba haseł jest mniejsza niż 4, to wyczyść LCD i wyświetl nieprawidłowe hasło* /

LCD.jasne();
LCD.setCursor (0,0);
LCD.Drukuj („nieprawidłowe hasło!"); // Wyświetl to nieprawidłowe hasło
Opóźnienie (2000);
Wyczyść dane();

if (pressCount == 4) / *Jeśli wprowadzono hasło o wartości 4, dopasuj wejście użytkownika do podanego hasła * /

LCD.jasne();
zaczekaj tutaj(); // Funkcja, która wyświetla hasło w gwiazdce


void Waithere ()
LCD.setCursor (0,0);
LCD.drukuj („Wprowadź hasło:”);
LCD.setCursor (0,1);
LCD.print („****”);
CustomKey = CustomKeyPad.WaitForkey (); // Oczekiwanie, aż użytkownik naciśnie klawisz równy
if (customKey != No_key && customkey == 'a') /*Jeśli klawisz Enter jest naciśnięty, program będzie pasował do hasła wprowadzonego przez użytkownika* /

LCD.jasne();
LCD.setCursor (0,0);
Jeśli (!strcmp (userInput, master)) // Wejście użytkownika jest dopasowane, a następnie daj dostęp

LCD.setCursor (0,0);
LCD.druk („dostęp przyznany”);
DigitalWrite (LED, High); // Włącz zieloną diodę LED
opóźnienie (1000);
Wyczyść dane();

else if (strcmp (userInput, master)) /*Jeśli hasło nie jest dopasowane, odmów dostępu* /

LCD.setCursor (0,0);
LCD.druk („Odmówiono dostępu”);
DigitalWrite (LED2, High); // Włącz czerwoną diodę LED
Opóźnienie (2000);
Wyczyść dane();


/* Warunki dla każdego klawisza naciśniętego na klawiaturze dla każdego klawisza innego niż wyczyść i wprowadź funkcję poczekaj tutaj, aby wyświetlić ją na LCD*/
if (customKey != No_key && customkey == 'c')

LCD.jasne();
Wyczyść dane();

if (customKey != No_key && customKey == '0')

zaczekaj tutaj();

if (customKey != No_key && customKey == '1')

zaczekaj tutaj();

if (customKey != No_key && customKey == '2')

zaczekaj tutaj();

if (customKey != No_key && customKey == '3')

zaczekaj tutaj();

if (customKey != No_key && customKey == '4')

zaczekaj tutaj();

if (customKey != No_key && customKey == '5')

zaczekaj tutaj();

if (customKey != No_key && customKey == '6')

zaczekaj tutaj();

if (customKey != No_key && customKey == '7')

zaczekaj tutaj();

if (customKey != No_key && customKey == '8')

zaczekaj tutaj();

if (customKey != No_key && customKey == '9')

zaczekaj tutaj();


// Funkcja przypisana do klucza C klawiatury do wyczyszczenia LCD
void clearData ()
When (PressCount != 0)

userInput [PressCount--] = 0; // zmniejsza wartość wprowadzoną do zera
DigitalWrite (LED, niski);
organizować coś(); // wywoływanie funkcji konfiguracji w celu ponownego uruchomienia programu

Podaliśmy hasło w kodzie, a program po prostu przyjmuje dane wejściowe od użytkownika i pasuje do hasła. Ten program sprawdza hasło na dwa sposoby, jedno, sprawdzając długość hasła, a następnie pasuje do obu haseł zapisanych w ciągu.

Jeśli hasła są prawidłowe, program da dostęp i włączy zieloną diodę LED, a jeśli hasło jest nieprawidłowe, zaprzeczy dostępu, a czerwona dioda LED włączy się.

Wdrożenie sprzętowe systemu bezpieczeństwa domowego za pomocą Arduino Uno

Zdjęcie opublikowane poniżej pokazuje początek kodu Arduino dla systemu bezpieczeństwa domu. Ponadto opublikowaliśmy obrazy kodu Arduino w tej samej sekwencji, w której działa kod.

Na poniższym rysunku kod wymaga hasła i podaliśmy kod podawania za pomocą klawiatury.

Następnie naciskaliśmy klawisz A na klawiaturze, aby wprowadzić hasło, a hasło jest prawidłowe, więc zielona dioda LED jest włączona, co oznacza, że ​​dostęp jest przyznawany.

Podobnie, jeśli hasło jest nieprawidłowe, czerwona dioda przewróci się, co oznacza, że ​​autoryzacja nie jest podana.

Wniosek

Aby stworzyć projekty dla początkujących lub zaawansowanych, platforma Arduino będzie doskonałym wyborem, ponieważ pozwala użytkownikom tworzyć obwody w łatwy sposób. Istnieje wiele różnych projektów, które można wykonać za pomocą Arduino. W tym zapisie wykonany jest system bezpieczeństwa domu, do uzyskania hasła, w którym moduł RGB jest używany do wskazania dostępu.