Kako napraviti kombinovanu bravu na Arduinu. Arduino kombinovana brava

DIY Arduino kodna brava


Pozadina

Desilo se da smo na poslu odlučili da na svoja vrata ugradimo kombinovanu bravu, jer stalno utrčavamo - istrčavamo iz kancelarije, čija vrata moraju biti zatvorena stalno u odsustvu stanovnika. Ključevi se često zaborave unutra. Općenito, odlučili smo da je kombinovana brava odlično rješenje.

Preturajući po kineskim buvljacima i ebayu, nisam našao ništa jeftino i manje-više ozbiljno i odlučio sam da ga napravim sam. Odmah ću rezervirati da je Arduino platforma odabrana zbog svoje jednostavnosti, jer uopće nije bilo iskustva komunikacije s mikrokontrolerima.

Na vratima sa vani vrata moraju imati tastaturu na kojoj se unosi lozinka, sa unutra ostatak strukture je fiksiran. Reed prekidač se koristi za kontrolu potpunog zatvaranja vrata. Napuštajući kancelariju, osoba pritisne "*" na tastaturi i, ne čekajući da se vrata zatvore pored zatvarača, ide svojim poslom, kada se vrata potpuno zatvore, prekidač će se zatvoriti i brava će se zatvoriti. Vrata se otvaraju unosom 4-cifrene lozinke i pritiskom na "#".

Komponente

Arduino UNO = 18 dolara
Arduino protoshield + matična ploča = 6 dolara
L293D = 1 $
30kom pletene žice snop = $4
2 RJ45 utičnice = 4 $
2 RJ45 utikača = 0,5 USD
aktuator centralno zaključavanje= 250 RUB
Reed prekidač = otkinut sa starog prozora.
Metalni zasun ogromne veličine = slobodan
Stara D-LINK glavčina od 1,5 mm željeza = besplatna
Napajanje iz istog D-LINK čvorišta za 12 i 5v = je također besplatno
Gomila vijaka i matica za pričvršćivanje svih ovih stvari na tijelo = 100 rubalja.
Kontrolni panel od alarmni sustav= besplatno.

Ukupno: 33,5 dolara i 350 rubalja.

Ne tako malo, kažete, i sigurno ćete biti u pravu, ali za zadovoljstvo morate platiti! I uvijek je lijepo sastaviti nešto vlastitim rukama. Osim toga, dizajn se može znatno smanjiti ako koristite goli MC bez Arduina.

Priprema za montažu

Želio bih reći nekoliko riječi o kupovini ključnog elementa dizajna aktuatora. U lokalnoj prodavnici automobila ponuđena su mi dva tipa aktuatora: "sa dvije žice i sa pet." Prema riječima prodavačice, bile su potpuno iste, a razlika u broju žica nije značila apsolutno ništa. Međutim, kako se kasnije pokazalo, to nije slučaj! Odabrao sam uređaj sa dvije žice, napajao se na 12V. Dizajn sa 5 žica uključuje granične prekidače za kontrolu kretanja ruke. Shvatio sam da sam kupio pogrešnu tek kada sam je rastavljao i bilo je kasno da je mijenjam. Hod poluge je bio prekratak da bi pravilno gurnuo zasun, stoga ga je bilo potrebno malo modificirati, odnosno ukloniti dvije gumene podloške koje skraćuju hod poluge aktuatora. Da bi se to postiglo, tijelo je trebalo prerezati obicna pila za metal jer je druga mašina bila unutra. Plava izolacijska traka nam je, kao i uvijek, pomogla u budućnosti pri ponovnom sklapanju.

Za upravljanje motorom aktuatora korišten je drajver motora L293D, koji izdržava vršno opterećenje do 1200 mA, u našem slučaju, kada je motor aktuatora zaustavljen, vršno opterećenje je poraslo na samo 600 mA.

Sa kontrolne table od protuprovalnog alarma uklonjeni su kontakti sa tastature, zvučnika i dvije LED diode. Daljinski upravljač i glavni uređaj trebali su biti povezani pomoću upredene parice i RJ45 konektora.

Programiranje.

Dakle, do sada nisam imao iskustva sa Arduino programiranjem. Koristio sam razvoje i članke drugih ljudi sa arduino.cc stranice. Koga briga za ovaj ruzni kod :)

Fotografija i video

U ovoj lekciji ćemo naučiti kako to učiniti jednostavan sistem, koji će otključati bravu pomoću elektronskog ključa (Tag).

U budućnosti možete modificirati i proširiti funkcionalnost. Na primjer, dodajte funkciju "dodajte nove ključeve i uklonite ih iz memorije". U osnovnom slučaju, razmotrite jednostavan primjer, kada je jedinstveni identifikator ključa unaprijed postavljen u programskom kodu.

U ovom tutorijalu trebat će nam:

Za realizaciju projekta potrebno je da instaliramo biblioteke:

2) Sada trebate spojiti zujalicu, koja će dati signal ako se ključ aktivira i kada se brava otvori, te drugi signal kada je brava zatvorena.

Zujalicu povezujemo u sljedećem redoslijedu:

Arduino Zujalica
5V VCC
GND GND
pin 5 IO

3) Servo će se koristiti kao mehanizam za otključavanje. Može se odabrati bilo koji servo, ovisno o dimenzijama i silama koje servo stvara. Servo ima 3 pina:

Još jasnije možete vidjeti kako smo spojili sve module na slici ispod:

Sada, ako je sve povezano, možete nastaviti s programiranjem.

skica:

#include #include #include // Biblioteka "RFID". #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522 (SS_PIN, RST_PIN); nepotpisani dugi uidDec, uidDecTemp; // za pohranjivanje broja etikete u decimalnom formatu Servo servo; void setup () (Serial.begin (9600); Serial.println ("Waiting for card..."); SPI.begin (); // inicijalizacija SPI / Init SPI bus.mfrc522.PCD_Init (); // inicijalizacija MFRC522 / Init MFRC522 card.servo.attach (6); servo.write (0); // postavite servo na zatvoren) void loop () (// Pronađite novu oznaku if (! Mfrc522.PICC_IsNewCardPresent ()) (povratak ; ) // Odaberite oznaku ako (! Mfrc522.PICC_ReadCardSerial ()) (return;) uidDec = 0; // Problem serijski broj etikete. za (bajt i = 0; i< mfrc522.uid.size; i++) { uidDecTemp = mfrc522.uid.uidByte[i]; uidDec = uidDec * 256 + uidDecTemp; } Serial.println("Card UID: "); Serial.println(uidDec); // Выводим UID метки в консоль. if (uidDec == 3763966293) // Сравниваем Uid метки, если он равен заданому то серва открывает. { tone(5, 200, 500); // Делаем звуковой сигнал, Открытие servo.write(90); // Поворациваем серву на угол 90 градусов(Отпираем какой либо механизм: задвижку, поворациваем ключ и т.д.) delay(3000); // пауза 3 сек и механизм запирается. tone(5, 500, 500); // Делаем звуковой сигнал, Закрытие } servo.write(0); // устанавливаем серву в закрытое сосотояние }

Pogledajmo bliže skicu:

Da biste saznali UID kartice (oznake), potrebno je da napišete ovu skicu u arduino, sastavite gore opisano kolo i otvorite konzolu (nadzor serijskog porta). Kada donesete oznaku na RFID, broj će biti prikazan na konzoli

Rezultirajući UID se mora unijeti u sljedeći red:

If (uidDec == 3763966293) // Uporedi Uid naljepnice, ako je jednak datom onda servo otvara ventil.

Svaka kartica ima jedinstveni identifikator i ne ponavlja se. Dakle, kada donesete karticu čiji ste identifikator postavili u programu, sistem će otvoriti pristup pomoću servo drajva.

Video:

Napredak ne miruje i "pametne brave" se sve češće pojavljuju na vratima stanova, garaža i kuća.

Slična brava se otvara kada pritisnete dugme na pametnom telefonu. Na sreću, pametni telefoni i tableti već su ušli u naš svakodnevni život. U nekim slučajevima, "pametne brave" se povezuju na " usluge u oblaku"poput google diska i otvarajte ga na daljinu. Osim toga, ova opcija omogućava da se da pristup otvaranju vrata drugim ljudima.

U ovom projektu će biti implementirana DIY verzija pametne brave na Arduinu, kojom se može upravljati daljinski s bilo kojeg mjesta na zemlji.

Osim toga, projekat je dodao mogućnost otvaranja brave nakon prepoznavanja otiska prsta. Za to će biti integrisan senzor otiska prsta. Obje opcije otvaranja vrata će pokretati Adafruit IO platforma.

Ovakva brava može biti odličan prvi korak u vašem projektu pametne kuće.

Podešavanje senzora otiska prsta

Za rad sa senzorom otiska prsta, postoji odlična biblioteka za Arduino koja znatno olakšava proces podešavanja senzora. Ovaj projekat koristi Arduino Uno. Adafruit CC3000 ploča se koristi za povezivanje na Internet.

Počnimo spajanjem napajanja:

  • Povežite pin 5V sa Arduino ploče na crvenu šinu napajanja;
  • GND pin iz Arduina spaja se na plavu šinu na ploči bez lemljenja.

Pređimo na povezivanje senzora otiska prsta:

  • Prvo priključite napajanje. Da biste to učinili, crvena žica je spojena na +5 V šinu, a crna žica na GND šinu;
  • Bijela žica senzora spaja se na pin 4 na Arduinu.
  • Zelena žica ide na pin 3 na mikrokontroleru.

Sada se pozabavimo CC3000 modulom:

  • IRQ pin sa CC3000 ploče je povezan na pin 2 na Arduinu.
  • VBAT - na pin 5.
  • CS - na pin 10.
  • Nakon toga, potrebno je da spojite SPI pinove na Arduino: MOSI, MISO i CLK - na pinove 11, 12 i 13, respektivno.

Konačno, trebate osigurati napajanje: Vin na Arduino 5V (crvena šina na vašoj ploči) i GND na GND (plava šina na matičnoj ploči).

Fotografija potpuno montiranog projekta prikazana je u nastavku:

Prije nego što razvijete skicu koja će učitati podatke u Adafruit IO, morate prenijeti podatke o otisku prsta na senzor. Inače te neće prepoznati u budućnosti;). Preporučujemo da kalibrirate senzor otiska prsta koristeći Arduino zasebno. Ako prvi put radite s ovim senzorom, preporučujemo da se upoznate s procesom kalibracije i detaljnim uputama za rad sa senzorom otiska prsta.

Ako to već niste učinili, kreirajte račun na Adafruit IO.

Nakon toga možemo ići do sledeća faza razvoj "pametne brave" na Arduinu: naime, razvoj skice koja će prenijeti podatke u Adafruit IO. Budući da je program prilično obiman, u članku ćemo istaknuti i razmotriti samo njegove glavne dijelove, a zatim ćemo dati vezu na GitHub, gdje možete preuzeti cijelu skicu.

Skica počinje učitavanjem svih potrebnih biblioteka:

#include

#include

#include

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_CC3000.h"

#include

#include >

Nakon toga morate malo ispraviti skicu umetanjem parametara vaše WiFi mreže, navodeći SSID i lozinku (lozinku):

#define WLAN_SECURITY WLAN_SEC_WPA2>

Pored toga, potrebno je da unesete svoje ime i AIO ključ (ključ) da biste se prijavili na svoj Adafruit IO nalog:

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_name"

#define AIO_KEY "adafruit_io_key">

Sljedeći redovi su odgovorni za interakciju i obradu podataka sa senzora otiska prsta. Ako je senzor bio aktiviran (podudaran otisak prsta), bit će "1":

const char FINGERPRINT_FEED PROGMEM = AIO_USERNAME "/ feeds / fingerprint";

Adafruit_MQTT_Publish otisak prsta = Adafruit_MQTT_Objavi (& mqtt, FINGERPRINT_FEED);

Osim toga, moramo kreirati instancu SoftwareSerial objekta za naš senzor:

SoftwareSerial mySerial (3, 4);

Nakon toga možemo kreirati objekt za naš senzor:

Adafruit_Fingerprint finger = Adafruit_Fingerprint (& mySerial);

Unutar skice označavamo koji ID prsta bi trebao aktivirati zaključavanje u budućnosti. Ovaj primjer koristi 0, što odgovara ID-u prvog otiska prsta koji koristi senzor:

int fingerID = 0;

Nakon toga inicijaliziramo brojač i odgađamo naš projekat. U osnovi, želimo da brava radi automatski nakon otvaranja. U ovom primjeru koristi se odgoda od 10 sekundi, ali ovu vrijednost možete podesiti prema svojim potrebama:

int activationCounter = 0;

int lastActivation = 0;

int Vrijeme aktivacije = 10 * 1000;

U tijelu funkcije setup () inicijaliziramo senzor otiska prsta i povezujemo CC3000 čip na vašu WiFi mrežu.

U tijelu funkcije petlje () povežite se na Adafruit IO. Za to je odgovoran sljedeći red:

Nakon povezivanja na Adafruit IO platformu, provjeravamo posljednji otisak prsta. Ako se podudara, a zaključavanje nije aktivirano, šaljemo "1" na obradu u Adafruit IO:

if (fingerprintID == fingerID && lockState == false) (

Serial.println (F ("Pristup odobren!"));

lockState = istina;

Serial.println (F ("Neuspješno"));

Serial.println (F ("OK!"));

lastActivation = millis ();

Ako je zaključavanje aktivirano unutar funkcije petlje () i dostigli smo vrijednost kašnjenja navedenu gore, šaljemo "0":

if ((activationCounter - lastActivation> activationTime) && lockState == true) (

lockState = lažno;

if (! fingerprint.publish (stanje)) (

Serial.println (F ("Neuspješno"));

Serial.println (F ("OK!"));

Najnoviju verziju koda možete preuzeti na GitHubu.

Vrijeme je da testiramo naš projekat! Ne zaboravite preuzeti i instalirati sve potrebne Arduino biblioteke!

Pobrinite se da napravite sve potrebne promjene na skici i prenesite je na svoj Arduino. Zatim otvorite prozor serijskog monitora.

Kada se Arduino poveže na WiFi mreže, senzor otiska prsta će treptati crveno. Stavite prst na senzor. Prozor serijskog monitora bi trebao prikazati ID broj. Ako se podudara, pojavit će se poruka "OK!". To znači da su podaci poslani na Adafruit IO servere.

Dijagram i skica za daljnju konfiguraciju brave na primjeru LED-a

Sada se pozabavimo dijelom projekta koji je direktno odgovoran za upravljanje brava... Za povezivanje na bežičnu mrežu i za aktiviranje/deaktiviranje brave, trebat će vam dodatni Adafruit ESP8266 modul (modul ESP8266 ne mora biti iz Adafruita). Koristeći donji primjer, možete shvatiti koliko je lako razmjenjivati ​​podatke između dvije platforme (Arduino i ESP8266) koristeći Adafruit IO.

U ovom odeljku nećemo raditi direktno sa bravom. Umjesto toga, jednostavno ćemo spojiti LED na pin na koji će se kasnije spojiti brava. Ovo će omogućiti testiranje našeg koda bez ulaska duboko u dizajn brave.

Krug je prilično jednostavan: prvo instalirajte ESP8266 na matičnu ploču. Zatim instalirajte LED diodu. Ne zaboravite da je duga (pozitivna) noga LED-a povezana preko otpornika. Druga noga otpornika spaja se na pin 5 na ESP8266 modulu. Druga (katoda) LED diode je spojena na GND pin na ESP8266.

Potpuno sklopljeno kolo prikazano na fotografiji ispod.


Sada pogledajmo skicu koju ćemo koristiti za ovaj projekat. Opet, kod je prilično velik i složen, tako da ćemo pokriti samo njegove glavne dijelove:

Počinjemo povezivanjem potrebnih biblioteka:

#include

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_Client.h"

Konfiguriranje WiFi parametara:

#define WLAN_SSID "vaš_wifi_ssid"

#define WLAN_PASS "vaša_wifi_lozinka"

#define WLAN_SECURITY WLAN_SEC_WPA2

Također konfiguriramo Adafruit IO parametre. Isto kao u prethodnom dijelu:

#define AIO_SERVER "io.adafruit.com"

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_username"

#define AIO_KEY "adafruit_io_key"

Označavamo na koji pin smo spojili LED (u budućnosti će to biti naša brava ili relej):

int relayPin = 5;

Interakcija sa senzorom otiska prsta je ista kao u prethodnom odjeljku:

const char LOCK_FEED PROGMEM = AIO_USERNAME "/ feeds / lock";

Adafruit_MQTT_Subscribe lock = Adafruit_MQTT_Subscribe (& mqtt, LOCK_FEED);

U tijelu funkcije setup () označavamo da bi pin na koji je LED spojen trebao raditi u OUTPUT modu:

pinMode (relayPin, OUTPUT);

Unutar petlje (), prvo provjeravamo da li smo povezani na Adafruit IO:

Nakon toga provjeravamo koji signal se prima. Ako se prenosi "1", aktiviramo kontakt koji smo ranije deklarirali, na koji je povezana naša LED dioda. Ako primimo "0", kontakt prenosimo u "nisko" stanje:

Adafruit_MQTT_Subscribe * pretplata;

dok ((pretplata = mqtt.readSubscription (1000))) (

if (pretplata == & zaključavanje) (

Serial.print (F ("Imam:"));

Serial.println ((char *) lock.lastread);

// Sačuvajte naredbu u niz podataka

String naredba = String ((char *) lock.lastread);

if (komanda == "0") (

digitalWrite (relayPin, LOW);

if (naredba == "1") (

digitalWrite (relayPin, HIGH);

Nađi najnoviju verziju skicirati možete na GitHubu.

Vrijeme je da testiramo naš projekat. Ne zaboravite da preuzmete sve potrebne biblioteke za vaš Arduino i provjerite jeste li napravili ispravne promjene na skici.

Jednostavan USB-FTDI konverter se može koristiti za programiranje ESP8266 čipa.

Otpremite skicu na Arduino i otvorite prozor serijskog monitora. U ovoj fazi smo upravo provjerili da li smo u mogućnosti da se povežemo na Adafruit IO: dalje ćemo razmotriti dostupnu funkcionalnost.

Testiranje projekta

Sada počnimo sa testiranjem! Idite na korisnički meni vašeg Adafruit IO, ispod menija Feeds. Provjerite da li su kanali za otisak prsta i bravu kreirani (na print-screenu ispod su otisak prsta i linije za zaključavanje):


Ako ih nema, morat ćete ga kreirati ručno.

Sada moramo osigurati razmjenu podataka između kanala otiska prsta i zaključavanja. Kanal zaključavanja mora biti postavljen na "1" kada je kanal otiska prsta postavljen na "1" i obrnuto.

Da bismo to učinili, koristimo vrlo moćan Adafruit IO alat: okidače. Okidači su u suštini uvjeti koje možete primijeniti na konfigurirane kanale. Odnosno, mogu se koristiti za međusobno povezivanje dva kanala.

Kreirajte novi reaktivni okidač iz odjeljka Triggers u Adafruit IO. Ovo će omogućiti razmjenu podataka između senzora otiska prsta i zaključanih kanala:


Ovako bi to trebalo izgledati kada su oba okidača konfigurirana:

Sve! Sada zaista možemo testirati naš projekat! Stavljamo prst na senzor i vidimo kako je Arduino počeo treptati LED koja odgovara prijenosu podataka. Nakon toga bi LED na modulu ESP8266 trebao početi treptati. To znači da je počeo da prima podatke preko MQTT-a. LED na pločici bi se također trebala upaliti u ovom trenutku.

Nakon kašnjenja koje ste postavili u skici (podrazumevano je 10 sekundi), LED će se ugasiti. Čestitamo! Možete kontrolisati LED pomoću otiska prsta s bilo kojeg mjesta na svijetu!

Postavljanje elektronske brave

Stigli smo do posljednjeg dijela projekta: direktnog povezivanja i kontrole elektronska brava sa Arduinom i senzorom otiska prsta. Projekat nije lak, možete koristiti sve izvore u obliku u kojem su gore predstavljeni, ali umjesto LED-a, spojite relej.

Da biste direktno povezali bravu, trebat će vam dodatne komponente: napajanje od 12 V, utičnica, tranzistor (u ovaj primjer Koristi se IRLB8721PbF MOSFET, ali se može koristiti još jedan, na primjer, bipolarni tranzistor TIP102. Ako koristite bipolarni tranzistor, morat ćete dodati otpornik.

Prikazano ispod električno kolo povezivanje svih komponenti na ESP8266 modul:


Imajte na umu da ako koristite MOSFET tranzistor, nije vam potreban otpornik između pina 5 ESP8266 i tranzistora.

Potpuno sastavljen projekat prikazan je na fotografiji ispod:


Napajajte modul ESP8266 pomoću FTDI modula i povežite napajanje od 12 V na utičnicu. Ako ste koristili gore preporučene pinove za povezivanje, nećete morati ništa mijenjati na skici.

Sada možete staviti prst na senzor: brava bi trebala raditi, reagirajući na vaš otisak prsta. Video ispod prikazuje projekat automatske "pametne" brave u akciji:

Dalji razvoj projekta "Smart Lock".

U našem projektu smo objavili daljinski upravljač zaključavanje vrata pomoću otiska prsta.

Slobodno eksperimentirajte, modificirajte skicu i pojas. Na primjer, možete zamijeniti vrata elektronska brava na releju za kontrolu snage vašeg 3D štampača, manipulatora ili kvadrokoptera...

Možete razviti svoje " smart House". Na primjer, daljinski aktivirajte sistem za navodnjavanje na Arduinu ili upalite svjetla u prostoriji... Ali ne zaboravite da možete istovremeno aktivirati gotovo neograničen broj uređaja koristeći Adafruit IO.

Ostavite svoje komentare, pitanja i podijelite lično iskustvo ispod. U raspravi se često rađaju nove ideje i projekti!

Današnja lekcija o tome kako koristiti RFID čitač sa Arduinom za kreiranje jednostavnog sistema blokiranja. jednostavnim riječima- RFID brava.

RFID (engleski Radio Frequency IDentification) je metoda automatske identifikacije objekata, u kojoj se podaci pohranjeni u takozvanim transponderima, ili RFID tagovima, čitaju ili zapisuju pomoću radio signala. Svaki RFID sistem se sastoji od čitača (čitača, čitača ili ispitivača) i transpondera (aka RFID oznaka, ponekad se koristi i termin RFID oznaka).

Ovaj vodič će koristiti RFID tag sa Arduina. Uređaj čita jedinstveni identifikator (UID) svake RFID oznake koju postavimo pored čitača i prikazuje ga na OLED displeju. Ako je UID oznake jednak unaprijed definiranoj vrijednosti koja je pohranjena u Arduino memoriji, tada ćemo na ekranu vidjeti poruku “Otključano”. Ako jedinstveni identifikator nije jednak unaprijed definiranoj vrijednosti, poruka "Otključano" se neće pojaviti - pogledajte sliku ispod.

Brava je zatvorena

Brava je otvorena

Detalji potrebni za kreiranje ovog projekta:

  • RFID čitač RC522
  • OLED displej
  • Bread board
  • Žice

Dodatni detalji:

  • baterija (powerbank)

Ukupna cijena komponenti projekta iznosila je približno 15 dolara.

Korak 2: RFID čitač RC522

Svaka RFID oznaka ima mali čip (bijela kartica na slici). Ako svjetiljku usmjerite na ovu RFID karticu, možete vidjeti mali čip i zavojnicu koja je okružuje. Ovaj čip nema bateriju za proizvodnju energije. Snagu od čitača prima bežično pomoću ove velike zavojnice. Ovakva RFID kartica može se čitati sa udaljenosti do 20 mm.

Isti čip postoji u oznakama RFID privjeska.

Svaka RFID oznaka ima jedinstveni broj koji je identifikuje. Ovo je UID koji se prikazuje na OLED ekranu. Osim ovog UID-a, svaka oznaka može pohraniti podatke. Ova vrsta kartice može pohraniti do 1.000 podataka. Impresivno, zar ne? Ova funkcija se danas neće koristiti. Danas je sve što zanima identifikacija određene kartice po njenom UID-u. Cijena RFID čitača i ove dvije RFID kartice je oko 4 USD.

Korak 3: OLED ekran

Ovaj vodič koristi 0,96" 128x64 I2C OLED monitor.

Ovo je vrlo dobar ekran za korištenje sa Arduinom. To je OLED ekran, a to znači da ima nisku potrošnju energije. Potrošnja energije ovog displeja je oko 10-20mA i zavisi od broja piksela.

Ekran ima rezoluciju od 128 x 64 piksela i malen je. Postoje dvije opcije prikaza. Jedna od njih je jednobojna, a druga, kao i ona korištena u tutorijalu, može prikazati dvije boje: žutu i plavu. Gornji dio ekrana može biti samo žut, a donji plavi.

Ovaj OLED ekran je veoma svetao i ima sjajnu i veoma lepu biblioteku koju je Adafruit razvio za ovaj ekran. Pored ovoga, ekran koristi I2C interfejs, tako da je povezivanje sa Arduinom neverovatno jednostavno.

Trebate spojiti samo dvije žice, isključujući Vcc i GND. Ako ste novi u Arduinu i želite koristiti jeftin i jednostavan zaslon u svom projektu, počnite ovdje.

Korak 4: povežite sve detalje

Desilo se da smo na poslu odlučili da na svoja vrata ugradimo kombinovanu bravu, jer stalno utrčavamo - istrčavamo iz kancelarije, čija vrata moraju biti zatvorena stalno u odsustvu stanovnika. Ključevi se često zaborave unutra. Općenito, odlučili smo da je kombinovana brava odlično rješenje.

Preturajući po kineskim buvljacima i ebayu, nisam našao ništa jeftino i manje-više ozbiljno i odlučio sam da ga napravim sam. Odmah ću rezervirati da je Arduino platforma odabrana zbog svoje jednostavnosti, jer uopće nije bilo iskustva komunikacije s mikrokontrolerima.

Ideja

Na vratima, sa vanjske strane vrata, treba da se nalazi tastatura na koju se unosi lozinka, a sa unutrašnje strane je fiksiran ostatak konstrukcije. Reed prekidač se koristi za kontrolu potpunog zatvaranja vrata. Napuštajući kancelariju, osoba pritisne "*" na tastaturi i, ne čekajući da se vrata zatvore pored zatvarača, ide svojim poslom, kada se vrata potpuno zatvore, prekidač će se zatvoriti i brava će se zatvoriti. Vrata se otvaraju unosom 4-cifrene lozinke i pritiskom na "#".

Komponente

Arduino UNO = 18 dolara
Arduino protoshield + matična ploča = 6 dolara
L293D = 1 $
30kom pletene žice snop = $4
2 RJ45 utičnice = 4 $
2 RJ45 utikača = 0,5 USD
aktuator centralnog zaključavanja = 250 rubalja.
Reed prekidač = otkinut sa starog prozora.
Metalni zasun ogromne veličine = slobodan
Stara D-LINK glavčina od 1,5 mm željeza = besplatna
Napajanje iz istog D-LINK čvorišta za 12 i 5v = je također besplatno
Gomila vijaka i matica za pričvršćivanje svih ovih stvari na tijelo = 100 rubalja.
Kontrolna tabla alarma = besplatno.

Ukupno: 33,5 dolara i 350 rubalja.

Ne tako malo, kažete, i sigurno ćete biti u pravu, ali za zadovoljstvo morate platiti! I uvijek je lijepo sastaviti nešto vlastitim rukama. Osim toga, dizajn se može znatno smanjiti ako koristite goli MC bez Arduina.

Priprema za montažu

Želio bih reći nekoliko riječi o kupovini ključnog elementa dizajna aktuatora. U lokalnoj prodavnici automobila ponuđena su mi dva tipa aktuatora: "sa dvije žice i sa pet." Prema riječima prodavačice, bile su potpuno iste, a razlika u broju žica nije značila apsolutno ništa. Međutim, kako se kasnije pokazalo, to nije slučaj! Odabrao sam uređaj sa dvije žice, napajao se na 12V. Dizajn sa 5 žica uključuje granične prekidače za kontrolu kretanja ruke. Shvatio sam da sam kupio pogrešnu tek kada sam je rastavljao i bilo je kasno da je mijenjam. Hod poluge je bio prekratak da bi pravilno gurnuo zasun, stoga ga je bilo potrebno malo modificirati, odnosno ukloniti dvije gumene podloške koje skraćuju hod poluge aktuatora. Da biste to učinili, tijelo se moralo rezati zajedno s običnom pilom, jer je druga podloška bila unutra. Plava izolacijska traka nam je, kao i uvijek, pomogla u budućnosti pri ponovnom sklapanju.
Za upravljanje motorom aktuatora korišten je drajver motora L293D, koji izdržava vršno opterećenje do 1200 mA, u našem slučaju, kada je motor aktuatora zaustavljen, vršno opterećenje je poraslo na samo 600 mA.
Sa kontrolne table od protuprovalnog alarma uklonjeni su kontakti sa tastature, zvučnika i dvije LED diode. Daljinski upravljač i glavni uređaj trebali su biti povezani pomoću upredene parice i RJ45 konektora.

Programiranje.

Dakle, do sada nisam imao iskustva sa Arduino programiranjem. Koristio sam razvoje i članke drugih ljudi sa arduino.cc stranice. Koga briga za ovaj ruzni kod :)

Fotografija i video



Arduino i aktuator


Napajanje


Tastatura


Espagnolette (povezan sa aktuatorom metalnim krakom i na kojem se radi ljepote nosi toplotno skupljanje)

Video procesa rada uređaja: