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.
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.