Skocz do zawartości
macizet

Zabezpieczenie gniazda 220V za pomoca Arduino Nano

Pomocna odpowiedź

Witam,  ostatnio zrobilem pewien prosty projekt do mojego repertuaru. Jest to zabezpieczenie gniazda 220V za pomoca hasla na Arduino Nano.

Lista czesci oraz linki do sklepu Botland:

A teraz budowa krok po kroku:

Zaczelem od zamontowania klawiatury na obudowie, otwor wykonalem za pomoca wiertla i noza do tapet, wymiezylem wszystko na oko:

1088844098_2019-03-2603_35_17.thumb.jpg.5e4ad2bf4c109d157edcfac4cdd7054e.jpg

Potem zamontowalem przekaznik w obudowie, za pomoca (jak wiekszasc rzeczy) kleju termotopliwego:

655774527_2019-03-2605_17_02.thumb.jpg.7e5c7815f09ac38189911e5c6705ac0e.jpg

Potem podlaczylem Arduino Nano do klawiatury zaczynajac od pinu D2 a konczac na pinie D8:

1285293201_2019-03-2603_36_14.thumb.jpg.cf038b4c8e383c9e2627b9b8e4e550b5.jpg

Nastepnie zalozylem diode RGB poprzez wywiercenie otworu o srednicy diody tuz przy tym poszerzeniu na podstawie, potem po prostu ja wcisnalem i trzymala sie doskonale. Polaczylem kolor zielony przez rezystor 220 Ohm do pinu 13 (w kodzie: Unlock), a kolor czerwony przez rezystor 470 Ohm do pinu 11 (w kodzie: Lock). Pewnie myslicie: Po co ta roznica rezystorow? Odpowiedz brzmi: Poniewaz struktura czerwona swieci mocniej od zielonej, a chcialem zeby swiecily w miare rowno. Efekt zewnetrzny montarzu widac na ponizszym zdjeciu: 

52913112_2019-03-2818_48_42.thumb.jpg.7d44facb63f7ca502f84624f873338f5.jpg

Potem rozmontowalem zasilacz tak ze wyjalem go z obudowy, odlaczylem oryginalny przewod z wtykiem i wlutowalem dwa krotkie przewody z koncowkami zenskimi oraz potem wywiercilem w obudowie otwory o srednicy okolo 5 mm, wcisnalem przewod 220V i podlaczylem zasilacz na stale do 220V, i arduino na stale poprzez pin VIN do zasilacza, oraz masy zasilacza. Potem podlaczylem przekaznik przez diode krzemowa do arduino (masa) oraz drugim pinem do 5V. Potem na pozyji normalnie rozwartej polaczylem Faze, zera polaczylem ze soba. Wszystko widac na ponizszym zdjeciu:

889494796_2019-03-2820_22_00.thumb.jpg.a977a058f7d7daa03b6dfd2f4f9c47c4.jpg

Potem skrecilem wszystko na cztery srubki i oto rezultat:

748247160_2019-03-2820_24_37.thumb.jpg.129d02026722ea3ce69089fdf8d9e479.jpg

A teraz czas na Kod Arduino:

/* Zabezpieczenie gniazda 220V to projekt polegajacy na zabezpieczaniu gniazda
przekaznikiem ktory zalacza zasilanie po wpisaniu hasla. Dioda Unlock swieci na
zielono, dioda Lock na czerwono. */

 

//dołączanie bibliotek

#include <Keypad.h>    //Klawiatura

#include <Password.h>  //Haslo

 

Password password = Password( "1579" ); //ustalanie hasła

//klawiatura

const byte ROWS = 4;

const byte COLS = 4;

char keys[ROWS][COLS] = {

  {'*','0','#'},

  {'7','8','9'},

  {'4','5','6'},

  {'1','2','3'}
};

byte rowPins[ROWS] = {5,4,3,2};         //piny klawiatury
  
byte colPins[COLS]= {6,7,8};

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

int Wyl = HIGH;
int Wl = LOW;
int Unlock = 13;
int Lock = 11;
int Przekaznik = 12;

void setup(){

  keypad.addEventListener(keypadEvent);

  pinMode(Unlock, OUTPUT);             //dioda Unlock
  pinMode(Lock, OUTPUT);               //dioda Lock
  digitalWrite(Unlock, Wyl);                 
  digitalWrite(Lock, Wyl); 
  pinMode(Przekaznik, OUTPUT);         //Przekaznik
  digitalWrite(Przekaznik, Wyl);       //Przekaznik jest wylaczony

}

 

void checkPassword(){                 //sprawdzanie hasla

  if (password.evaluate()){           //jeśli haslo się zgadza
   
  digitalWrite(Przekaznik, Wl);       //wlacz przekaznik
  
  digitalWrite(Unlock, Wl);           //zamigaj dioda Unlock
  delay(1000);
  digitalWrite(Unlock, Wyl);
  delay(100);
  digitalWrite(Unlock, Wl);
  delay(100);
  digitalWrite(Unlock, Wyl);
  
  //Odblokowano!!!
 
  

  }else{//w przeciwnym razie
    digitalWrite(Przekaznik, Wyl);    //Wylacz przekaznik
    
    digitalWrite(Lock, Wl);             //Zamigaj dioda Lock
    delay(1000);
    digitalWrite(Lock, Wyl);
    delay(1000);
    digitalWrite(Lock, Wl);
    delay(1000);
    digitalWrite(Lock, Wyl);
    delay(1000);
    
    password.reset();                 //Automatyczny Reset hasla

  }

}

void keypadEvent(KeypadEvent eKey){

  switch (keypad.getState()){

    case PRESSED:                    //jakikolwiek przycisk jest wcisniety
   
  digitalWrite(Unlock, Wl);          //Mrugnij dioda Unlock
  delay(100);
  digitalWrite(Unlock, Wyl); 

  switch (eKey){

    case '*': checkPassword();       //Sprawdzanie hasla
    break;                       

    case '#': password.reset();      //Reset hasla
     
    digitalWrite(Przekaznik, Wyl);   //Wylacz Przekaznik
    digitalWrite(Lock, Wl);            //Zamrugaj dioda Lock
    delay(1000);
    digitalWrite(Lock, Wyl);
    delay(1000);

    break;                       

    default: password.append(eKey);

}
}
}
void loop(){

  keypad.getKey();

}

Dzialanie:

  • Po wpisaniu odpowiedniego hasla (1579), dioda zielona mrugnie na sekunde, a potem na 100 ms, przekaznik zostanie zwarty (wlaczony).
  • Po wpisaniu nieprawidlowego hasla (np. 1234) dioda czerwona 2 razy zamruga na sekunde. Przekaznik nadal bedzie wylaczony.
  • Po nacisnieciu "#" Haslo sie zresetuje, a przekaznik zostanie rozwarty (wylaczony).

Czekam na komentarze i pomysly na ulepszenie tego projektu 😉.

Udostępnij ten post


Link to post
Share on other sites

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

@macizet, właśnie zaakceptowałem opis. Dziękuję za przedstawienie projektu, zachęcam do prezentowania kolejnych DIY oraz aktywności na naszym forum 😉

Dla formalności tylko ostrzeżenie dla wszystkich początkujących - projekty związane z napięciem sieciowym to nie zabawki i trzeba uważać. Nie radzę "ślepo" odtwarzać projektów, jeśli nie macie pojęcia co i jak dokładnie powinno być zrobione. Łatwo zrobić sobie (lub komuś) krzywdę...

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Święta prawda 😁.

Edytowano przez macizet

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Napisz odpowiedź...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...