Bllokim elektronik me karte Arduino. Bllokimi i kodit Arduino

Një ditë tjetër po shikoja Spider-Manin e mahnitshëm dhe në një skenë Peter Parker hap dhe mbyll nga distanca një derë nga laptopi i tij. Sapo e pashë këtë, kuptova menjëherë se një bravë e tillë elektronike më duhej edhe për derën e përparme.

Pas disa xhirosh përreth, u mblodha modeli aktual bravë inteligjente. Në këtë artikull do t'ju tregoj se si e kam montuar atë.

Hapi 1: Lista e materialeve





Për të montuar një bllokues elektronik në Arduino do t'ju nevojiten materialet e mëposhtme:

Elektronikë:

  • Përshtatës muri 5V

Komponentët:

  • 6 vida mbyllëse
  • karton
  • telat

Mjetet:

  • Makine per ngjitjen e metalit
  • armë ngjitëse
  • stërvitje
  • stërvitje
  • shpimi i vrimës pilot
  • thikë shkrimi
  • kompjuter me program Arduino IDE

Hapi 2: Si funksionon bllokimi

Ideja është që unë mund ta hap ose mbyll derën pa çelës dhe pa iu afruar. Por kjo është vetëm ideja bazë, sepse mund të shtoni edhe një sensor trokitjeje në mënyrë që të reagojë ndaj një trokitjeje të veçantë, ose mund të shtoni një sistem njohjeje zëri!

Një levë servo e lidhur me bulonën do ta mbyllë atë (0°) dhe do ta hapë atë (60°) duke përdorur komandat e marra nëpërmjet modulit Bluetooth.

Hapi 3: Diagrami i instalimeve elektrike


Le të lidhim së pari servo-në me pllakën Arduino (vini re se megjithëse përdora një tabelë Arduino Nano, bordi Uno ka saktësisht të njëjtën pinout).

  • Teli kafe i servo është tokëzues, ne e lidhim atë me tokën në Arduino
  • teli i kuq është një plus, ne e lidhim atë me lidhësin 5V në Arduino
  • teli portokalli është kunja e burimit të servo drive, lidheni atë me pinin 9 në Arduino

Unë ju këshilloj të kontrolloni funksionimin e servo para se të vazhdoni me montimin. Për ta bërë këtë, në programin Arduino IDE, zgjidhni Sweep në shembuj. Pasi të sigurohemi që servo funksionon, ne mund të lidhim modulin Bluetooth. Duhet të lidhni pinin rx të modulit Bluetooth me pinin tx të Arduino, dhe pinin tx të modulit me pinin rx të Arduino. Por mos e bëni akoma! Pasi të bashkohen këto lidhje, nuk do të mund të shkarkoni më asnjë kod në Arduino, kështu që së pari shkarkoni të gjitha kodet tuaja dhe vetëm më pas lidhni lidhjet.

Këtu është diagrami i lidhjes midis modulit dhe mikrokontrolluesit:

  • Moduli Rx – Pllaka Tx Arduino
  • Moduli Tx – Pllaka Rx
  • Vcc (terminali pozitiv) i modulit është 3.3v i bordit Arduino
  • Toka është e lidhur me Tokën (tokëzimi me tokëzimin)

Nëse shpjegimi ju duket i paqartë, ju lutemi ndiqni diagramin e lidhjes së ofruar.

Hapi 4: Test

Tani që kemi të gjitha pjesët e punës, le të sigurohemi që servo mund të lëvizë shulën. Përpara se të montoja shulën në derë, mblodha një mostër provë për t'u siguruar që servo ishte mjaft i fuqishëm. Në fillim m'u duk se shërbimi im ishte i dobët dhe i shtova një pikë vaj shulës, pas së cilës funksionoi mirë. Është shumë e rëndësishme që mekanizmi të rrëshqasë mirë, përndryshe rrezikoni të mbylleni në dhomën tuaj.

Hapi 5: Strehimi elektrik



Vendosa të vendos vetëm kontrolluesin dhe modulin Bluetooth në kuti dhe ta lë servon jashtë. Për ta bërë këtë, vizatoni skicën e tabelës Arduino Nano në një copë kartoni dhe shtoni 1 cm hapësirë ​​rreth perimetrit dhe prisni atë. Pas kësaj, ne presim edhe pesë anët e tjera të trupit. Do t'ju duhet të bëni një vrimë në murin e përparmë për kordonin e rrymës së kontrolluesit.

Dimensionet anësore të kasës:

  • Pjesa e poshtme - 7,5x4 cm
  • Mbulesa – 7,5x4 cm
  • Majtas mur anësor– 7,5x4 cm
  • Muri në anën e djathtë - 7,5x4 cm
  • Muri i përparmë – 4x4 cm (me fole për kordonin e rrymës)
  • Muri i pasmë - 4x4 cm

Hapi 6: Aplikimi

Për të kontrolluar kontrolluesin, ju nevojitet një vegël Android ose Windows me Bluetooth të integruar. Nuk pata mundësinë të testoja aplikacionin në pajisjet Apple, ndoshta do të nevojiten disa drejtues.

Jam i sigurt që disa prej jush kanë mundësinë ta kontrollojnë këtë. Për Android, shkarkoni aplikacionin Bluetooth Terminal, për Windows, shkarkoni TeraTerm. Më pas duhet të lidhni modulin me smartfonin tuaj, emri duhet të jetë linvor, fjalëkalimi duhet të jetë 0000 ose 1234. Pasi të jetë vendosur çiftimi, hapeni aplikacioni i instaluar, shkoni te opsionet dhe zgjidhni "Krijoni një lidhje (të pasigurt)." Tani smartphone juaj është një monitor i ndërfaqes serike Arduino, që do të thotë se mund të shkëmbeni të dhëna me kontrolluesin.

Nëse futni 0, dera do të mbyllet dhe mesazhi "Dera është e mbyllur" do të shfaqet në ekranin e smartphone.
Nëse futni 1, do të shihni derën të hapur dhe ekrani do të thotë "Dera Hapur".
Në Windows, procesi është i njëjtë, përveç që duhet të instaloni aplikacionin TeraTerm.

Hapi 7: Instaloni shulën


Së pari ju duhet të lidhni servo me shul. Për ta bërë këtë, ju duhet të shkëputni prizat nga vrimat e montimit të strehës së makinës. Nëse e vendosim servon poshtë, vrimat e montimit duhet të jenë të barabarta me bulonën. Pastaj duhet të vendosni levën e servo në folenë e shulës, ku ishte doreza e shulës. Kontrolloni se si lëviz bllokimi në trup. Nëse gjithçka është në rregull, sigurojeni krahun e servo me ngjitës.

Tani ju duhet të shponi vrima pilot për vidhat në derë. Për ta bërë këtë, lidhni shulën në derë dhe përdorni një laps për të shënuar vrimat për vidhat në fletën e derës. Shponi vrima për vida afërsisht 2,5 cm të thella në vendet e shënuara. Kontrolloni sërish funksionimin e servo.

Hapi 8: Fuqia


Për të përfunduar pajisjen, do t'ju duhet një furnizim me energji elektrike, një kabllo dhe një prizë mini-usb për t'u lidhur me Arduino.
Lidheni kutinë e tokëzimit të furnizimit me energji elektrike me kutinë e tokëzimit të miniportit USB, lidhni telin e kuq me telin e kuq të miniportës USB, më pas shtrini telin nga kyçi në mentesha e derës, dhe shtrihuni nga ajo në prizë.

Hapi 9: Kodi

#përfshi Servo myservo; int pos = 0; int gjendje; int flag=0; void setup() ( myservo.attach(9); Serial.begin(9600); myservo.write(60); vone(1000); ) void loop() ( if(Serial.available() > 0) (gjendja = Serial.read(flamur=0); println("Dera e kyçur"); other if (state == "1") ( myservo.write (55); vonesë (1000); Serial.println ("Dera e zhbllokuar"); ) )

Hapi 10: Bllokimi i përfunduar me bazë Arduino

Shijoni bllokimin tuaj të telekomandës dhe mos harroni të mbyllni "aksidentalisht" miqtë tuaj në dhomë.

Progresi nuk qëndron ende dhe “brava inteligjente” po shfaqen gjithnjë e më shumë në dyert e apartamenteve, garazheve dhe shtëpive.

Një bllokim i ngjashëm hapet kur shtypni një buton në smartphone tuaj. Për fat të mirë, telefonat inteligjentë dhe tabletët tashmë kanë hyrë në jetën tonë të përditshme. Në disa raste, "bravat inteligjente" janë të lidhura me " shërbimet cloud"Pëlqeni Google Drive dhe hapeni atë nga distanca. Përveç kësaj, ky opsion bën të mundur dhënien e aksesit për hapjen e derës për njerëzit e tjerë.

Ky projekt do të zbatojë një version DIY të një bllokimi inteligjent në Arduino, i cili mund të kontrollohet nga distanca nga kudo në botë.

Përveç kësaj, projekti ka shtuar mundësinë për të hapur bllokimin pas identifikimit të një gjurmë gishti. Për këtë qëllim, do të integrohet një sensor gjurmë gishtash. Të dy opsionet e hapjes së dyerve do të mundësohen nga platforma Adafruit IO.

Një bravë si kjo mund të jetë një hap i parë i shkëlqyeshëm në projektin tuaj Smart Home.

Konfigurimi i sensorit të gjurmëve të gishtërinjve

Për të punuar me një sensor gjurmë gishtash, ekziston një bibliotekë e shkëlqyer për Arduino, e cila thjeshton shumë procesin e konfigurimit të sensorit. Ky projekt përdor Arduino Uno. Një tabelë Adafruit CC3000 përdoret për t'u lidhur me internetin.

Le të fillojmë me lidhjen e energjisë:

  • Lidhni kunjin 5V nga bordi Arduino në hekurudhën e kuqe të energjisë;
  • Kunja GND nga Arduino lidhet me hekurudhën blu në bordin e qarkut pa saldim.

Le të kalojmë në lidhjen e sensorit të gjurmës së gishtit:

  • Së pari lidhni rrymën. Për ta bërë këtë, teli i kuq është i lidhur me hekurudhën +5 V, dhe teli i zi me hekurudhën GND;
  • Teli i bardhë i sensorit lidhet me pinin 4 në Arduino.
  • Teli jeshil shkon në pin 3 në mikrokontrollues.

Tani le të kalojmë te moduli CC3000:

  • Ne lidhim pinin IRQ nga bordi CC3000 me pinin 2 në Arduino.
  • VBAT - në pin 5.
  • CS - në pin 10.
  • Pas kësaj, duhet të lidhni kunjat SPI me Arduino: MOSI, MISO dhe CLK - përkatësisht me kunjat 11, 12 dhe 13.

Epo, në fund ju duhet të siguroni energji: Vin - në Arduino 5V (shinë e kuqe në bordin tuaj të qarkut) dhe GND në GND (hekurudhë blu në tabelën e bukës).

Një foto e projektit të montuar plotësisht është paraqitur më poshtë:

Përpara se të zhvilloni një skicë që do të ngarkojë të dhënat në Adafruit IO, duhet të transferoni të dhënat në lidhje me gjurmën tuaj të gishtit në sensor. Përndryshe, ai nuk do t'ju njohë në të ardhmen;). Ne rekomandojmë kalibrimin e sensorit të gjurmëve të gishtërinjve duke përdorur Arduino veçmas. Nëse kjo është hera e parë që punoni me këtë sensor, ju rekomandojmë të njiheni me procesin e kalibrimit dhe udhëzimet e hollësishme për të punuar me sensorin e gjurmëve të gishtërinjve.

Nëse nuk e keni bërë tashmë këtë, ju lutemi krijoni një llogari me Adafruit IO.

Pas kësaj ne mund të kalojmë në fazën tjetër zhvillimi i një "bllokimi inteligjent" në Arduino: domethënë, zhvillimi i një skice që do të transmetojë të dhëna në Adafruit IO. Meqenëse programi është mjaft voluminoz, në këtë artikull do të theksojmë dhe do të shqyrtojmë vetëm pjesët kryesore të tij, dhe më pas do të ofrojmë një lidhje me GitHub, ku mund të shkarkoni skicën e plotë.

Skica fillon duke ngarkuar të gjitha bibliotekat e nevojshme:

#përfshi

#përfshi

#përfshi

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_CC3000.h"

#përfshi

#përfshi >

Pas kësaj, duhet të korrigjoni pak skicën duke futur parametrat e rrjetit tuaj WiFi, duke specifikuar SSID dhe fjalëkalimin:

#define WLAN_SECURITY WLAN_SEC_WPA2>

Për më tepër, duhet të futni emrin tuaj dhe çelësin AIO për t'u identifikuar në llogarinë tuaj Adafruit IO:

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_name"

#define AIO_KEY "adafruit_io_key">

Linjat e mëposhtme janë përgjegjëse për ndërveprimin dhe përpunimin e të dhënave nga sensori i gjurmëve të gishtërinjve. Nëse sensori është aktivizuar (gjurma e gishtit përputhet), do të jetë "1":

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

Adafruit_MQTT_Publish gjurmë gishtash = Adafruit_MQTT_Publish(&mqtt, FINGERPRINT_FEED);

Përveç kësaj, ne duhet të krijojmë një shembull të objektit SoftwareSerial për sensorin tonë:

SoftwareSerial mySerial(3, 4);

Pas kësaj ne mund të krijojmë një objekt për sensorin tonë:

Adafruit_Fingerprint Gisht = Adafruit_Fingerprint(&mySerial);

Brenda skicës tregojmë se cili ID i gishtit duhet të aktivizojë bllokimin në të ardhmen. Ky shembull përdor 0, që korrespondon me ID-në e gjurmës së parë të gishtit të përdorur nga sensori:

int gisht ID = 0;

Pas kësaj, ne inicializojmë numëruesin dhe vonojmë në projektin tonë. Në thelb ne duam që bllokimi të angazhohet automatikisht pasi të hapet. Ky shembull përdor një vonesë prej 10 sekondash, por ju mund ta rregulloni këtë vlerë për t'iu përshtatur nevojave tuaja:

int activationCounter = 0;

int lastAktivizimi = 0;

Koha e aktivizimit int = 10 * 1000;

Në trupin e funksionit setup(), ne inicializojmë sensorin e gjurmës së gishtit dhe sigurojmë që çipi CC3000 të jetë i lidhur me rrjetin tuaj WiFi.

Në trupin e funksionit loop() lidhemi me Adafruit IO. Linja e mëposhtme është përgjegjëse për këtë:

Pas lidhjes me platformën Adafruit IO, kontrollojmë gjurmën e fundit të gishtit. Nëse përputhet dhe bllokimi nuk aktivizohet, ne dërgojmë "1" në Adafruit IO për përpunim:

nëse (ID-ja e gjurmës së gishtit == ID e gishtit && lockState == e rreme) (

Serial.println(F("Qasja u dha!"));

lockState = e vërtetë;

Serial.println(F("Dështoi"));

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

Aktivizimi i fundit = millis();

Nëse brenda funksionit loop() kyçja aktivizohet dhe kemi arritur vlerën e vonesës së treguar më sipër, dërgojmë "0":

nëse ((activationCounter - lastActivation > activationTime) && lockState == e vërtetë) (

lockState = false;

nëse (! gjurma e gishtit.publikoni(shtet)) (

Serial.println(F("Dështoi"));

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

Mund të shkarkoni versionin më të fundit të kodit në GitHub.

Është koha për të testuar projektin tonë! Mos harroni të shkarkoni dhe instaloni të gjitha bibliotekat e nevojshme për Arduino!

Sigurohuni që keni bërë të gjitha ndryshimet e nevojshme në skicë dhe ngarkoni atë në Arduino-n tuaj. Pas kësaj, hapni dritaren e Monitorit Serial.

Kur Arduino lidhet me Rrjetet WiFi, sensori i gjurmës së gishtit do të pulsojë me ngjyrë të kuqe. Vendoseni gishtin në sensor. Numri i ID-së duhet të shfaqet në dritaren e monitorit serial. Nëse përputhet, do të shfaqet mesazhi "OK!" Kjo do të thotë që të dhënat janë dërguar në serverët Adafruit IO.

Diagrami dhe skica për konfigurimin e mëtejshëm të bllokimit duke përdorur shembullin e një LED

Tani le të merremi me atë pjesë të projektit që është drejtpërdrejt përgjegjëse për menaxhimin mbyllja e derës. Për t'u lidhur me rrjeti pa tel dhe duke aktivizuar/çaktivizuar bllokimin, do t'ju duhet një modul shtesë Adafruit ESP8266 (moduli ESP8266 nuk duhet të jetë nga Adafruit). Duke përdorur shembullin më poshtë, mund të vlerësoni se sa e lehtë është shkëmbimi i të dhënave midis dy platformave (Arduino dhe ESP8266) duke përdorur Adafruit IO.

Në këtë seksion nuk do të punojmë drejtpërdrejt me bllokimin. Në vend të kësaj, ne thjesht do të lidhim LED-in me pinin ku do të lidhet kyçi më vonë. Kjo do të na japë mundësinë të testojmë kodin tonë pa u thelluar në detajet e dizajnit të bravës.

Skema është mjaft e thjeshtë: së pari instaloni ESP8266 në tabelën e bukës. Pas kësaj, instaloni LED. Mos harroni se këmba e gjatë (pozitive) e LED është e lidhur përmes një rezistence. Këmba e dytë e rezistencës është e lidhur me pinin 5 në modulin ESP8266. Ne e lidhim të dytën (katodën) e LED me pinin GND në ESP8266.

Plotësisht qark i montuar treguar në foton më poshtë.


Tani le të shohim skicën që po përdorim për këtë projekt. Përsëri, kodi është mjaft i madh dhe kompleks, kështu që ne do të shikojmë vetëm pjesët kryesore të tij:

Ne fillojmë duke lidhur bibliotekat e nevojshme:

#përfshi

#include "Adafruit_MQTT.h"

#include "Adafruit_MQTT_Client.h"

Konfigurimi i cilësimeve WiFi:

#define WLAN_SSID "your_wifi_ssid"

#define WLAN_PASS "your_wifi_password"

#define WLAN_SECURITY WLAN_SEC_WPA2

Ne gjithashtu konfigurojmë parametrat Adafruit IO. Njësoj si në seksionin e mëparshëm:

#define AIO_SERVER "io.adafruit.com"

#define AIO_SERVERPORT 1883

#define AIO_USERNAME "adafruit_io_username"

#define AIO_KEY "adafruit_io_key"

Ne tregojmë në cilën pin kemi lidhur LED (në të ardhmen kjo do të jetë kyçi ose stafeta jonë):

int relayPin = 5;

Ndërveprimi me sensorin e gjurmëve të gishtërinjve, si në seksionin e mëparshëm:

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

Adafruit_MQTT_Bllokimi i abonimit = Adafruit_MQTT_Subscribe(&mqtt, LOCK_FEED);

Në trupin e funksionit setup() tregojmë se kunja me të cilën është lidhur LED duhet të funksionojë në modalitetin OUTPUT:

pinMode (relayPin, OUTPUT);

Brenda ciklit loop(), së pari kontrollojmë nëse jemi të lidhur me Adafruit IO:

Pas kësaj, ne kontrollojmë se çfarë sinjali po merret. Nëse transmetohet "1", ne aktivizojmë pinin që kemi deklaruar më herët, me të cilin është lidhur LED ynë. Nëse marrim "0", ne e transferojmë kontaktin në gjendjen "e ulët":

Adafruit_MQTT_Subscribe *abonim;

ndërsa ((abonim = mqtt.readAbonim(1000))) (

nëse (abonim == &kyç) (

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

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

// Ruaje komandën në të dhënat e vargut

Komanda e vargut = String((char *)lock.lastread);

nëse (komandë == "0") (

digitalWrite (relayPin, LOW);

nëse (komandë == "1") (

digitalWrite (relayPin, LARTË);

Gjej Versioni i fundit Skicën mund ta gjeni në GitHub.

Është koha për të testuar projektin tonë. Mos harroni të shkarkoni të gjitha bibliotekat e nevojshme për Arduino-n tuaj dhe të kontrolloni nëse keni bërë ndryshimet e sakta në skicë.

Për të programuar çipin ESP8266, mund të përdorni një konvertues të thjeshtë USB-FTDI.

Ngarkoni skicën në Arduino dhe hapni dritaren e Monitorit Serial. Aktiv në këtë fazë sapo kontrolluam nëse ishim në gjendje të lidheshim me Adafruit IO: do të shikojmë më tej funksionalitetin e disponueshëm.

Testimi i projektit

Tani le të fillojmë testimin! Shkoni te menyja e përdoruesit të Adafruit IO, nën menunë Feeds. Kontrolloni nëse gjurmët e gishtërinjve dhe kanalet e kyçjes janë krijuar apo jo (në ekranin e printimit më poshtë këto janë linjat e gjurmës së gishtit dhe të kyçjes):


Nëse ato nuk ekzistojnë, do t'ju duhet t'i krijoni ato me dorë.

Tani duhet të sigurojmë shkëmbimin e të dhënave midis gjurmëve të gishtave dhe kanaleve të kyçjes. Kanali i kyçjes duhet të marrë vlerën "1" kur kanali i gjurmës së gishtit merr vlerën "1" dhe anasjelltas.

Për ta bërë këtë, ne përdorim një mjet shumë të fuqishëm Adafruit IO: nxitësit. Shkaktarët janë në thelb kushte që mund t'i zbatoni për kanalet e konfiguruara. Kjo do të thotë, ato mund të përdoren për të ndërlidhur dy kanale.

Krijoni një shkas të ri reaktiv nga seksioni Triggers në Adafruit IO. Kjo do të sigurojë mundësinë për të shkëmbyer të dhëna midis sensorit të gjurmës së gishtit dhe kanaleve të kyçjes:


Kjo është se si duhet të duket kur të dy nxitësit janë konfiguruar:

Të gjitha! Tani ne mund të testojmë projektin tonë! Ne vendosëm gishtin në sensor dhe shohim se si Arduino filloi të shkelë syrin me një LED që korrespondon me transmetimin e të dhënave. Pas kësaj, LED në modulin ESP8266 duhet të fillojë të pulsojë. Kjo do të thotë se ka filluar të marrë të dhëna përmes MQTT. LED në bordin e qarkut gjithashtu duhet të ndizet në këtë moment.

Pas vonesës që keni vendosur në skicë (parazgjedhja është 10 sekonda), LED do të fiket. urime! Mund ta kontrolloni LED-in me gjurmën tuaj të gishtit nga kudo në botë!

Vendosja e një bllokimi elektronik

Kemi arritur në pjesën e fundit të projektit: lidhjen dhe kontrollin e drejtpërdrejtë të bllokimit elektronik duke përdorur Arduino dhe një sensor gjurmë gishtash. Projekti nuk është i lehtë, ju mund të përdorni të gjitha burimet në formën në të cilën ato janë paraqitur më lart, por lidhni një stafetë në vend të një LED.

Për të lidhur direkt bllokimin, do t'ju nevojiten komponentë shtesë: një furnizim me energji 12 V, një fole për lidhjen e energjisë, një transistor (V në këtë shembull Përdoret MOSFET IRLB8721PbF, por mund të përdoret një tjetër, për shembull, një transistor bipolar TIP102. Nëse jeni duke përdorur një transistor bipolar, do t'ju duhet të shtoni një rezistencë.

Treguar me poshte diagrami elektrik duke lidhur të gjithë komponentët me modulin ESP8266:


Vini re se nëse jeni duke përdorur një transistor MOSFET, nuk do t'ju duhet një rezistencë midis pinit 5 të modulit ESP8266 dhe tranzitorit.

Projekti i montuar plotësisht është paraqitur në foton më poshtë:


Fuqni modulin ESP8266 duke përdorur modulin FTDI dhe lidhni furnizimin me energji 12V me folenë. Nëse keni përdorur kunjat e rekomanduara më sipër për lidhje, nuk do t'ju duhet të ndryshoni asgjë në skicë.

Tani mund të vendosni gishtin në sensor: kyçja duhet të funksionojë në përgjigje të gjurmës suaj të gishtit. Videoja më poshtë tregon projektin e kyçjes automatike inteligjente në veprim:

Zhvillimi i mëtejshëm i projektit Smart Lock

Projekti ynë ka lëshuar telekomandën e bllokimit të derës duke përdorur një gjurmë gishti.

Mos ngurroni të eksperimentoni, modifikoni skicën dhe lidhjen. Për shembull, mund të zëvendësoni një bllokues elektronik të derës me një stafetë për të kontrolluar fuqinë e printerit tuaj 3D, krahut robotik ose kuadratit...

Ju mund të zhvilloni tuajin Shtëpi e zgjuar". Për shembull, aktivizoni nga distanca një sistem ujitjeje në Arduino ose ndizni dritat në një dhomë... Mos harroni se mund të aktivizoni njëkohësisht një numër pothuajse të pakufizuar pajisjesh duke përdorur Adafruit IO.

Lini komentet, pyetjet dhe ndani përvojë personale më poshtë. Idetë dhe projektet e reja lindin shpesh në diskutime!

Në këtë artikull do t'ju tregoj se si të bëni një bllokim kombinimi nga Arduino. Për këtë na duhen LED të kuqe dhe jeshile, një sinjalizues, një nano Arduino, një ekran LCD me një konvertues I2C, një servo drive dhe një tastierë matricë 4x4. Kur aktivizohet, ekrani do të shkruajë "Fut kodin".

LED i kuq do të ndizet,

dhe drita jeshile do të fiket, servo do të vendoset në 0°. Ndërsa futni numra, * do të ndizet në ekran.

Nëse kodi është futur gabimisht, ekrani do të shkruajë "Fut kodin". Nëse kodi është i saktë, do të dëgjohet një bip, servo do të rrotullohet 180° dhe ekrani do të lexojë "Open".

LED jeshil do të ndizet,

dhe e kuqja do fiket. Pas 3 sekondash, servo do të kthehet në pozicionin e tij fillestar, LED i kuq do të ndizet dhe LED i gjelbër do të fiket, ekrani do të shkruajë "Mbyll".

atëherë ekrani do të shkruajë "Fut kodin". Tani për skemën. Së pari, ne lidhim Arduino me tela në tabelën e bukës (kontaktet e energjisë).

Pastaj lidhim tastierën e matricës me kontaktet D9 - D2.

Pastaj servo. E lidhim me pinin 10.

LED i kuq në pinin 11.

E gjelbër - në pin 12.

Buzzer - në pin 13.

Tani ngarkoni skicën.

#përfshi #përfshi #përfshi #përfshi iarduino_KB KB(9, 8, 7, 6, 5, 4, 3, 2); LiquidCrystal_I2C LCD (0x27, 16, 2); Servo servo; kalimi int = (3, 6, 1, 8); int in; int r = 11; int g = 12; void setup() ( KB.begin(KB1); pinMode(r, OUTPUT); pinMode(g, OUTPUT); lcd.init(); lcd.backlight(); digitalWrite(g, LOW); digitalWrite(r, LARTË servo.attach(10), lcd.setCursor (0, 0), void loop(); (vonesa (1); ) në = KB.setNum (0, 0) (Key_DOWN); ) në = KB.getNum ("*"); (!KB.kontroll(KEY_DOWN)) ( vonesë (1); ) në = KB.getNum ("*"), ndërsa (!KB.kontroll(KEY_DOWN)) (vonesë(1); ) në = KB.getNum("*"); (0, 0), lcd.print ("Open"); ."); ton (13, 300, 700); shkruaj dixhital (g, LOW); vonesë (1000); ))))))

Kjo eshte e gjitha. Shijoni bllokimin e kombinimit!

Lista e radioelementeve

Emërtimi Lloji Emërtimi sasi shënimDyqanblloku im i shënimeve
E1 Pllaka Arduino

Arduino Nano 3.0

1 5 V Në bllokun e shënimeve
E8, E9 Rezistencë

220 Ohm

2 SMD Në bllokun e shënimeve
E6 Diodë që lëshon dritë

AL102G

1 E kuqe Në bllokun e shënimeve
E7 Diodë që lëshon dritë

AL307G

1 E gjelbër Në bllokun e shënimeve
E3 Ekran LCDMe ndërfaqe I2C1 Drita e pasme e gjelbër Në bllokun e shënimeve
E5 ServoSG901 180 gradë Në bllokun e shënimeve
E2 Buzzer5 V1 Bu Në bllokun e shënimeve
E4 Tastierë4X41 Matricë Në bllokun e shënimeve
Nr Breadboard640 pikë1 Nuk ka saldim
Thjesht ndodhi që në punë vendosëm të instalonim një bravë të kombinuar në derën tonë, sepse vazhdimisht futemi - dalim nga zyra, dera e së cilës duhet të mbyllet vazhdimisht në mungesë të banorëve. Çelësat shpesh përfundojnë të harruar brenda. Në përgjithësi, ne vendosëm që një bllokim i kombinuar ishte një zgjidhje e shkëlqyeshme.

Duke gërmuar nëpër tregjet kineze të pleshtave dhe ebay, nuk gjeta asgjë të lirë dhe pak a shumë serioze dhe vendosa ta bëj vetë. Unë do të them menjëherë se platforma Arduino u zgjodh për thjeshtësinë e saj, pasi nuk kisha fare përvojë me mikrokontrolluesit.

Ideja

Në derë me jashtë dera duhet të ketë një tastierë në të cilën futet fjalëkalimi, me brenda pjesa tjetër e strukturës është e fiksuar. Një çelës kallami përdoret për të kontrolluar mbylljen e plotë të derës. Kur del nga zyra, një person shtyp "*" në tastierë dhe, pa pritur që dera të mbyllet me mbyllësin, shkon në punë, kur dera mbyllet plotësisht, çelësi i kallamit do të mbyllet dhe do të mbyllet kyçi. . Dera hapet duke futur një fjalëkalim 4-shifror dhe duke shtypur "#".

Aksesorë

Arduino UNO = 18 dollarë
Arduino protoshield + breadboard = 6 dollarë
L293D = 1 dollarë
Pako me tela 30 copë për Bradboard = 4 dollarë
2 priza RJ45 = 4 dollarë
2 priza RJ45 = 0,5 dollarë
Aktivizuesi i kyçjes qendrore = 250 fshij.
Ndërprerës kallami = i shqyer lirisht nga dritarja e vjetër.
Shul gjigant metalik = i lirë
Strehimi nga një shpërndarës i vjetër D-LINK prej hekuri një milimetër e gjysmë = falas
Furnizimi me energji elektrike nga i njëjti shpërndarës D-LINK për 12 dhe 5V = gjithashtu falas
Një tufë vida dhe arra për ngjitjen e të gjitha këtyre gjërave në trup = 100 rubla.
Telekomanda nga alarm hajduti= falas.

Total: 33,5 dollarë dhe 350 rubla.

Jo aq pak, do të thoni, dhe patjetër do të keni të drejtë, por duhet të paguani për kënaqësinë! Dhe është gjithmonë mirë të mbledhësh diçka me duart e tua. Për më tepër, dizajni mund të ulet shumë në kosto nëse përdorni një MK të zhveshur pa Arduino.

Përgatitja për montim

Do të doja të them disa fjalë në lidhje me blerjen e një elementi kryesor të dizajnit të aktivizuesit. Një dyqan lokal makinash më ofroi dy lloje aktivizuesish: "me dy tela dhe me pesë". Sipas shitëses, ato ishin absolutisht identike dhe ndryshimi në numrin e telave nuk do të thoshte absolutisht asgjë. Sidoqoftë, siç doli më vonë, kjo nuk është kështu! Zgjodha një pajisje me dy tela, ajo mundësohej nga 12V. Dizajni me pesë tela përmban çelësa kufizues për të kontrolluar lëvizjen e levës. E kuptova që e bleva të gabuarin vetëm kur e shkëputa dhe ishte tepër vonë për ta ndryshuar. Goditja e levës doli të ishte shumë e shkurtër për të tërhequr siç duhet shulën, prandaj, ishte e nevojshme ta modifikoni pak, përkatësisht, të hiqni dy rondele gome që shkurtuan goditjen e levës së aktivizuesit. Për ta bërë këtë, trupi duhej të sharrohej për së gjati me një sharrë hekuri të zakonshme, sepse rondele e dytë ishte brenda. Shiriti elektrik blu, si gjithmonë, na ndihmoi në të ardhmen gjatë montimit të tij.
Për të kontrolluar motorin e aktivizuesit, ne përdorëm një drejtues motori L293D, i cili mund të përballojë një ngarkesë maksimale deri në 1200 mA kur ndaluam motorin e aktivizuesit, ngarkesa e pikut u rrit në vetëm 600 mA.
Kontaktet nga tastiera, altoparlanti dhe dy LED u hoqën nga paneli i kontrollit të alarmit të sigurisë. Telekomanda dhe pajisja kryesore supozohej të lidheshin duke përdorur lidhje të çiftit të përdredhur dhe RJ45

Programimi.

Pra, nuk kisha përvojë në programimin e Arduino deri më tani. Kam përdorur punimet dhe artikujt e të tjerëve nga faqja arduino.cc. Të gjithë të interesuarit mund t'i hedhin një sy këtij kodi të shëmtuar :)

Foto dhe video



Arduino dhe aktivizues


njësia e fuqisë


Tastierë


Espagnolette (e lidhur me aktivizuesin me një fole metalike dhe e mbuluar me tkurrje nxehtësie për bukuri)

Video e procesit të funksionimit të pajisjes:

Thjesht ndodhi që në punë vendosëm të instalonim një bravë të kombinuar në derën tonë, sepse vazhdimisht futemi - dalim nga zyra, dera e së cilës duhet të mbyllet vazhdimisht në mungesë të banorëve. Çelësat shpesh përfundojnë të harruar brenda. Në përgjithësi, ne vendosëm që një bllokim i kombinuar ishte një zgjidhje e shkëlqyeshme.

Duke gërmuar nëpër tregjet kineze të pleshtave dhe ebay, nuk gjeta asgjë të lirë dhe pak a shumë serioze dhe vendosa ta bëj vetë. Unë do të them menjëherë se platforma Arduino u zgjodh për thjeshtësinë e saj, pasi nuk kisha fare përvojë me mikrokontrolluesit.

Ideja

Duhet të ketë një tastierë në pjesën e jashtme të derës në të cilën është futur fjalëkalimi, dhe pjesa tjetër e strukturës duhet të jetë e fiksuar nga brenda. Një çelës kallami përdoret për të kontrolluar mbylljen e plotë të derës. Kur del nga zyra, një person shtyp "*" në tastierë dhe, pa pritur që dera të mbyllet me mbyllësin, shkon në punë, kur dera mbyllet plotësisht, çelësi i kallamit do të mbyllet dhe do të mbyllet kyçi. . Dera hapet duke futur një fjalëkalim 4-shifror dhe duke shtypur "#".

Aksesorë

Arduino UNO = 18 dollarë
Arduino protoshield + breadboard = 6 dollarë
L293D = 1 dollarë
Pako me tela 30 copë për Bradboard = 4 dollarë
2 priza RJ45 = 4 dollarë
2 priza RJ45 = 0,5 dollarë
Aktivizuesi i kyçjes qendrore = 250 fshij.
Ndërprerës kallami = i shqyer lirisht nga dritarja e vjetër.
Shul gjigant metalik = i lirë
Strehimi nga një shpërndarës i vjetër D-LINK prej hekuri një milimetër e gjysmë = falas
Furnizimi me energji elektrike nga i njëjti shpërndarës D-LINK për 12 dhe 5V = gjithashtu falas
Një tufë vida dhe arra për ngjitjen e të gjitha këtyre gjërave në trup = 100 rubla.
Paneli i kontrollit të alarmit të sigurisë = falas.

Total: 33,5 dollarë dhe 350 rubla.

Jo aq pak, do të thoni, dhe patjetër do të keni të drejtë, por duhet të paguani për kënaqësinë! Dhe është gjithmonë mirë të mbledhësh diçka me duart e tua. Për më tepër, dizajni mund të ulet shumë në kosto nëse përdorni një MK të zhveshur pa Arduino.

Përgatitja për montim

Do të doja të them disa fjalë në lidhje me blerjen e një elementi kryesor të dizajnit të aktivizuesit. Një dyqan lokal makinash më ofroi dy lloje aktivizuesish: "me dy tela dhe me pesë". Sipas shitëses, ato ishin absolutisht identike dhe ndryshimi në numrin e telave nuk do të thoshte absolutisht asgjë. Sidoqoftë, siç doli më vonë, kjo nuk është kështu! Zgjodha një pajisje me dy tela, ajo mundësohej nga 12V. Dizajni me pesë tela përmban çelësa kufizues për të kontrolluar lëvizjen e levës. E kuptova që e bleva të gabuarin vetëm kur e shkëputa dhe ishte tepër vonë për ta ndryshuar. Goditja e levës doli të ishte shumë e shkurtër për të tërhequr siç duhet shulën, prandaj, ishte e nevojshme ta modifikoni pak, përkatësisht, të hiqni dy rondele gome që shkurtuan goditjen e levës së aktivizuesit. Për ta bërë këtë, trupi duhej të sharrohej për së gjati me një sharrë hekuri të zakonshme, sepse rondele e dytë ishte brenda. Shiriti elektrik blu, si gjithmonë, na ndihmoi në të ardhmen gjatë montimit të tij.
Për të kontrolluar motorin e aktivizuesit, ne përdorëm një drejtues motori L293D, i cili mund të përballojë një ngarkesë maksimale deri në 1200 mA kur ndaluam motorin e aktivizuesit, ngarkesa e pikut u rrit në vetëm 600 mA.
Kontaktet nga tastiera, altoparlanti dhe dy LED u hoqën nga paneli i kontrollit të alarmit të sigurisë. Telekomanda dhe pajisja kryesore supozohej të lidheshin duke përdorur lidhje të çiftit të përdredhur dhe RJ45

Programimi.

Pra, nuk kisha përvojë në programimin e Arduino deri më tani. Kam përdorur punimet dhe artikujt e të tjerëve nga faqja arduino.cc. Të gjithë të interesuarit mund t'i hedhin një sy këtij kodi të shëmtuar :)

Foto dhe video



Arduino dhe aktivizues


njësia e fuqisë


Tastierë


Espagnolette (e lidhur me aktivizuesin me një fole metalike dhe e mbuluar me tkurrje nxehtësie për bukuri)

Video e procesit të funksionimit të pajisjes: