Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Lidhja Arduino e modulit rele. Kontrolli i stafetës duke përdorur Arduino

Reletë përdoren për të ndërruar pajisje të ndryshme të energjisë dhe pajisje të tjera duke përdorur një tension relativisht të ulët. Në versionin klasik, releja më e thjeshtë përbëhet nga një spirale në të cilën aplikohet tensioni i kontrollit dhe një kontakt që mbyll ose hap qarkun e objektit të kontrolluar. Përveç funksionit të kontrollit, reletë sigurojnë gjithashtu mbrojtje për qarkun e kontrollit për shkak të izolimi galvanik, meqenëse ka një hendek midis spirales dhe kontaktit që nuk lejon që tensioni të rrjedhë nga një qark në tjetrin. Fillojnë amatorët e radios, të cilët mund të jenë njohur kohët e fundit me popullaritetin në kohën tonë Pllaka Arduino janë të interesuar të përdorin reletë në projektet e tyre, por nuk dinë nga të fillojnë.


Kjo është arsyeja pse këtë material tregon lehtësinë e përdorimit të Arduino dhe reletë. Para së gjithash, është krijuar për fillestarët që njihen me Arduino dhe montohen në bazë të këtij bordi.



Për krijimin qark rele do të na duhet Arduino, një rezistencë 1KOhm, një rezistencë 10 KOhm, një transistor BC547, një stafetë 6V ose 12V, një diodë 1N4007 dhe të marrim një tifoz 12V si objekt kontrolli. Diagrami i pajisjes:



Pasi të shtypet butoni, ventilatori duhet të ndizet dhe të rrotullohet derisa butoni të shtypet përsëri. Skica për një algoritëm të tillë:


int pinButton = 8; int stafetë = 2; int stateRelay = LOW; int StateButton; int mëparshme = LOW; kohë e gjatë = 0; debounce e gjatë = 500; void setup() ( pinMode(pinButton, INPUT); pinMode(Relay, OUTPUT); ) void loop() (stateButton = digitalRead(pinButton); if(stateButton == LARTË && e mëparshme == LOW && millis () - koha > debounce) ( if(stateRelay == LARTË) (stateRelay = LOW; ) tjetër (stateRelay = LARTË; ) koha = millis (); ) digitalWrite (Relay, StateRelay); i mëparshëm == StateButton; )

Pra, si funksionon skema jonë? Pas shtypjes së butonit, Arduino do ta kthejë pinin 2 në një gjendje logjike të lartë, domethënë kunja do të ketë një tension prej 5 V. Ky tension përdoret për të hapur transistorin, i cili do të ndezë stafetën, pas së cilës ngarkesa jonë (në në këtë rast ventilatori) do të mundësohet nga burimi kryesor i energjisë.


Ju nuk mund të përdorni 5 V Porta USB për të fuqizuar tranzistorin dhe ngarkesën, pasi rryma nuk do të jetë e mjaftueshme. Prandaj ju duhet të përdorni furnizim i jashtëm me energji elektrike Vcc me një tension 7-12 V për të fuqizuar si qarkun Arduino ashtu edhe qarkun e tranzitorit. Ngarkesa përdor furnizimin e vet me energji elektrike. Për shembull, mund të përdorni një llambë si ngarkesë dhe ta ushqeni atë nga 220 V. Dhe në asnjë rrethanë mos e lidhni furnizimin me energji Arduino me furnizimin me energji të ngarkesës!


Tani le ta komplikojmë pak programin tonë duke shtuar një vonesë kur stafeta është e fikur. Variabli stayON këtu do të përdoret për të vendosur periudhën e vonesës në milisekonda (parazgjedhja 5 sekonda). Si rezultat, pas shtypjes së butonit, stafeta do të ndizet dhe pas 5 sekondash do të fiket. Kodi:


int pinButton = 8; int rele = 2; int stateRelay = LOW; int StateButton; int e mëparshme = LOW; kohë e gjatë = 0; debounce e gjatë = 500; int stayON = 5000; //vonesa për 5000 ms konfigurimi i pavlefshëm() ( pinMode(pinButton, INPUT); pinMode(Relay, OUTPUT); ) void loop() (stateButton = digitalRead(pinButton); if(stateButton == LARTË && paraardhës == ULËT && millis () - koha > debounce) ( if(stateRelay == LARTË) ( digitalWrite(Relay, LOW); ) tjetër ( digitalWrite(Relay, LOW); vonesë(stayON); digitalWrite(Relay, LOW); ) koha = millis (); ) e mëparshme == butoni i gjendjes;

Tani, falë informacionit të dhënë në këtë shembull, mund të futni me siguri reletë në projektet tuaja të reja Arduino.


Një qark tjetër kontrolli i ventilatorit me duke përdorur Arduino Mund .

Herët a vonë, të gjithë mendojnë për zbatimin e ndezjes dhe fikjes së automatizuar të ndryshme Pajisje shtëpiake ata rreth nesh në Jeta e përditshme. Ngarkesa të tilla, madje edhe me rrymë alternative(AS) ne nuk mund të lidhemi drejtpërdrejt me bordin Arduino. Prandaj, për të zgjidhur këtë problem, ekziston një pajisje e tillë si një stafetë elektromagnetike. Në këtë artikull do të shqyrtojmë një modul që tashmë është gati me rrip, mbi të cilin është instaluar një stafetë, gati për lidhje e lehtë te mikrokontrolluesi.

Ka vetëm tre kunja për lidhje në tabelën e saj. KQV- të ushqyerit, GND- tokë dhe - dalje për marrjen e një sinjali kontrolli. Nëse emrat e kunjave në modulin tuaj quhen pak më ndryshe, mendoj se nuk do të jetë e vështirë të merret me mend se çfarë dhe ku. Ne gjithashtu shohim dy LED në tabelë. LED i kuq ndizet kur lidhim energjinë me modulin e stafetës. LED jeshile tregon mënyrën e funksionimit të stafetës. Nëse LED jeshil ndizet, do të thotë se stafeta është mbyllur dhe anasjelltas, nëse LED jeshile fiket, do të thotë se stafeta është hapur. Në anën tjetër të modulit shohim terminalet për lidhjen e ngarkesës.

Le të marrim tabelën Arduino. Në këtë rast, unë do të marr tabelën Arduino Nano. Ju mund të merrni ndonjë tjetër. Dhe le të lidhemi një llambë e zakonshme inkandeshente, e cila mundësohet nga një rrjet 220V.

Siç e shohim, lidhja e modulit rele me tabelën Arduino mjaft e thjeshtë. konkluzioni KQV lidhni modulin e stafetës me pinin 5 V Pllakat Arduino dhe dalja GND lidhni modulin rele me daljen GND Pllakat Arduino. Në këtë mënyrë modul rele Ne siguruam ushqim. Pin kontrolli lidheni me daljen D2 Pllakat Arduino. Ngarkesa që vjen nga rrjeti 220V në formën e llambës sonë lidhet me modulin e stafetës në një qark të hapur të njërit prej telave. Thjesht prisni një nga telat dhe futni njërin skaj në të kontakt i përgjithshëm COM, e cila është gjithmonë në kunjin e mesit. Dhe ne lidhim skajin e dytë me një kontakt normalisht të hapur NR, i cili zakonisht ndodhet në krye, nëse shikoni modulin "korrekt", si në foton e mësipërme (në mënyrë që të gjithë numrat dhe mbishkrimet në vetë stafetën të mos jenë me kokë poshtë).

Shpesh terminalet mund të mos nënshkruhen, ose mund të nënshkruhen si në figurën e mësipërme në formën e karaktereve kineze. Kjo nuk duhet t'ju shqetësojë. Thjesht kthejeni modulin e stafetës dhe shikoni në pjesën e pasme të tij.

Shohim që kemi një kontakt të përbashkët, një kontakt normalisht të mbyllur dhe një kontakt normalisht të hapur. Diagrami në tabelë ju ndihmon të kuptoni se cili kontakt është i mbyllur dhe cili është i hapur. TE kontakt i mbyllur në diagram vija është e prirur, domethënë kontakti i përbashkët është tërhequr. Kur aplikojmë tension të ulët në modul rele, kontakti i përbashkët do të mbyllet me kontaktin e hapur. Prandaj, lidheni saktësisht me NR- kontakt normalisht i hapur.

Kontrolli i modulit të stafetës është mjaft i thjeshtë, njësoj si ndezja e një LED të rregullt.

const int rele = 2; // Pini Arduino me të cilin lidhet kunja IN e stafetës, konfigurimi i zbrazët () ( pinMode(rele, OUTPUT); // vendos pinin dixhital 2 në modalitetin e daljes) void loop () ( digitalWrite(rele, HIGH); // aktivizoni vonesën e stafetës (3000); //pauzë 3 sekonda dixhitale Shkruani (rele, LOW); //fikni vonesën e stafetës (3000); //pauzë 3 sekonda)

Drita ndizet dhe fiket me një pauzë prej 3 sekondash. E gjithë kjo është mjaft e mërzitshme dhe unë dua të lidh një lloj sensori për ndërveprim më interesant me stafetën elektronike.

Dritë në pambuk

Le ta bëjmë llambën tonë të ndizet dhe fiket duke përplasur duart. Për ta bërë këtë, ne do të shtojmë një sensor tingulli KY-037 në qarkun tonë.


Prodhimi dixhital D0 sensori i zërit KY-037 është i lidhur me dalje dixhitale D5 Pllakat Arduino. konkluzioni + lidhni sensorin e zërit me daljen 5 V Pllakat Arduino Nano. konkluzioni G lidhni sensorin e zërit me daljen GND(tokë) e tabelës Arduino. Kjo do të thotë, ne fuqizojmë sensorin e zërit nga të njëjtat kunja Arduino nga të cilat fuqizojmë modulin e stafetës. Idealisht sigurisht sensorë të ndryshëm dhe pajisjet duhet të fuqizohen veçmas nga truri, por Arduino e tërheq stafetën me sensorin e zërit mjaft mirë. Prandaj, ne do të mjaftohemi me një minimum telash gjatë këtij artikulli.

Ne kemi diskutuar tashmë punën me këtë sensor të zërit në detaje në artikullin Lidhja dhe konfigurimi i sensorit të zërit KY-037. Pra, për një kuptim më të mirë të gjithçkaje që po ndodh, sigurohuni që të lexoni këtë artikull. Ai diskuton shembuj të kodit për ndezjen e një sensori për të ndezur dhe fikur dritën me një duartrokitje. Ne konsiderojmë gjithashtu një kod shembull për ndezjen e dritës me dy duartrokitje dhe fikjen e saj me një duartrokitje. Këtu do të postoj një kod të veçantë për ndezjen e dritës me dy duartrokitje dhe fikjen e dritës gjithashtu me dy duartrokitje, pjesërisht, për ata që nuk mundën ose nuk donin të ndryshonin pak kodin ekzistues nga artikulli i mëparshëm.

Puna me të paktën dy duartrokitje të rregullta është më e besueshme, pasi rastet e operacioneve të paparashikueshme nga zhurma anësore me këtë qasje janë praktikisht afër zeros. Çdo rresht kodi komentohet, lexohet me kujdes, gjithçka duhet të bëhet e qartë.

const int sensorD0 = 5; // Pin Arduino me të cilin është lidhur dalja D0 e sensorit const int rele = 2; // Pin Arduino me të cilin është lidhur rele int releState = LOW; // Statusi i stafetës është "off" i gjatë soundTime=0; // koha e konfigurimit të pavlefshëm të duartrokitjes së parë () ( pinMode (rele, OUTPUT); // vendosni pinin dixhital 2 në modalitetin e daljes) void loop () ( int sensorValue = digitalRead (sensorD0); // merrni sinjalin nga sensori nëse (Vlera e sensorit = = 1 && releState == ULËT) //nëse arrihet pragu i volumit dhe stafeta ishte OFF (gjatë diodTime=millis(); // shkruani koha aktuale//nëse koha aktuale e duartrokitjes është më e madhe se koha e duartrokitjes së fundit për 100 milisekonda //dhe duartrokitja ka ndodhur jo më vonë se 1000 milisekonda pas asaj të mëparshmes //konsideroni këtë duartrokitje si të dytin SUKSESSHËM nëse((millis() >SoundTime) && ((diodTime-soundTime)> 100) && ((diodTime-soundTime)<1000)) { digitalWrite(rele, HIGH); // включаем реле releState = HIGH; // устанавливаем статус реле "включен" delay(100); // небольшая задержка для фильтрации помех } soundTime=millis(); //записываем время последнего хлопка } else // иначе { if (sensorValue == 1 && releState == HIGH) // если порог громкости достигнут и реле было ВКЛЮЧЕНО { long diodTime=millis(); // записываем текущее время if((millis()>soundTime) && ((diodTime-soundTime)>100) && ((diodTime-soundTime)<1000)) { digitalWrite(rele, LOW); // выключаем реле releState = LOW; // устанавливаем статус реле "выключен" delay(100); // небольшая задержка для фильтрации помех } soundTime=millis(); //записываем время последнего хлопка } } }

Të gjitha! I përplasim duart dy herë, drita ndizet. E duartrokasim edhe dy herë dhe drita fiket. Mos harroni të rregulloni ndjeshmërinë e sensorit të zërit. Gjithçka rreth konfigurimit gjendet në artikullin Lidhja dhe konfigurimi i sensorit të zërit KY-037.

Ju lutemi vini re se kur manipuloni linjën if((millis()>SoundTime) && ((diodTime-soundTime)>100) && ((diodTime-soundTime)<1000)) , përkatësisht në numra 100 Dhe 1000 , mund ta bëni ndezjen e sensorit me shpejtësi të ndryshme duartrokitjeje. Për shembull, ky shembull lejon që sensori i zërit të aktivizohet nga duartrokitje të shpejta me një pauzë ndërmjet secilës prej 100 milisekondave. Shifra e dytë 1000 tregon se duartrokitja e dytë nuk duhet të vijë më vonë se 1000 milisekonda (1 sekondë). Nëse ndryshojmë, për shembull, numrin 100 në 500, atëherë sensori do t'i përgjigjet duartrokitjeve vetëm me një pauzë të mjaftueshme midis secilit. Dhe kjo zgjidhje me dritë përplasëse mund të jetë më e përshtatshme në zonat ku ka përplasje të shpeshta të dyerve ose zhurma të tjera të forta që mund të shkaktojnë ndezjen e rastësishme të sensorit të zërit.

Nuk do të jetë e mundur të lidhni një ngarkesë të fuqishme drejtpërdrejt me Arduino, për shembull një llambë ndriçimi ose një pompë elektrike. Mikrokontrolluesi nuk siguron fuqinë e nevojshme për të operuar një ngarkesë të tillë. Rryma që mund të rrjedhë nëpër daljet Arduino nuk i kalon 10-15 mA. Një stafetë vjen në shpëtim, me të cilin mund të kaloni rryma të mëdha. Përveç kësaj, nëse ngarkesa mundësohet nga rryma alternative, për shembull 220v, atëherë nuk ka asnjë mënyrë për të bërë pa një stafetë. Për të lidhur ngarkesa të fuqishme me Arduino përmes stafetëve, zakonisht përdoren modulet e stafetës.

Në varësi të numrit të ngarkesave të ndërruara, përdoren module rele me një, dy, tre, katër dhe më shumë kanale.

Bleva modulin tim, një dhe katër kanal, në Aliexpress, respektivisht për 0,5 dhe 2,09 dollarë.

Dizajni i modulit rele për Arduino, duke përdorur shembullin e një moduli me 4 kanale HL-54S V1.0.

Le të hedhim një vështrim më të afërt në hartimin e këtij moduli; të gjitha modulet me shumë kanale zakonisht ndërtohen sipas kësaj skeme.

Diagrami skematik i modulit.

Për të mbrojtur kunjat Arduino nga rritjet e tensionit në spiralen e stafetës, përdoren një transistor J3Y dhe një optobashkues 817C. Ju lutemi vini re se sinjali nga pin furnizohet në katodën e optobashkuesit. Kjo do të thotë që në mënyrë që stafeta të mbyllë kontaktet, duhet të aplikoni në pin logjike 0 (sinjal i përmbysur).

Ka edhe module që kanë një sinjal nga pin furnizohet në anodin e optobashkuesit. Në këtë rast, ju duhet të dorëzoni logjik 1 për pin, për të aktivizuar stafetën.

Fuqia e ngarkesës që modulet mund të ndezin/fiken është e kufizuar nga reletë e instaluara në tabelë.

Në këtë rast, përdoren rele elektromekanike Këmbë SRD-05VDC-SL-C, me karakteristikat e mëposhtme:

Tensioni i funksionimit: 5 V
Rryma e funksionimit të spirales: 71 mA
Rryma maksimale e ndërrimit: 10A
Tensioni maksimal i ndërrimit DC: 28 V
Tensioni maksimal i ndërrimit AC: 250 V
Temperatura e funksionimit: nga -25 në +70°C

Releja Songle SRD-05VDC-SL-C ka 5 kontakte. 1 Dhe 2 furnizimi me energji rele. Grupi i kontaktit 3 Dhe 4 janë normalisht kontakte të hapura ( NR), grupi i kontaktit 3 Dhe 5 - normalisht i mbyllur ( NC).

Reletë të ngjashme vijnë në tensione të ndryshme: 3, 5, 6, 9, 12, 24, 48 V. Në këtë rast, përdoret një version 5 volt, i cili lejon që moduli i stafetës të furnizohet drejtpërdrejt nga Arduino.

Ka një kërcyes në tabelë ( JDVcc), për të fuqizuar stafetën ose nga Arduino ose nga një furnizim i veçantë me energji elektrike.

Pinami Në 1,Në 2,Në 3,Në 4 Moduli është i lidhur me kunjat dixhitale Arduino.

Lidhja e stafetës së modulit HL-54S V1.0 me Arduino.

Meqenëse kemi një modul me rele 5 volt, ne do ta lidhim atë sipas kësaj skeme, duke marrë fuqinë nga vetë Arduino. Në shembull, unë do të lidh një stafetë; do të përdor një llambë 220 V si ngarkesë.

Për të fuqizuar stafetën e modulit nga Arduino, kërcyesi duhet të bëjë qark të shkurtër " Vcc"Dhe" JDVcc", zakonisht instalohet atje si parazgjedhje.

Nëse stafeta juaj nuk është 5 volt, nuk mund ta fuqizoni modulin nga Arduino; energjia duhet të merret nga një burim i veçantë.

Diagrami më poshtë tregon se si të lidhni energjinë me modulin nga një burim i veçantë. Duke përdorur këtë qark, ju duhet të lidhni një stafetë të projektuar që të fuqizohet nga më shumë ose më pak se 5 V. Për reletë 5 volt, ky qark do të jetë gjithashtu më i preferueshëm.

Me këtë lidhje, ju duhet të hiqni kërcyesin midis kunjave " Vcc"Dhe" JDVcc" Pini tjetër " JDVcc»lidhu me « + » Furnizimi me energji të jashtme, pin « Gnd»lidhu me « - » furnizimi me energji elektrike. Gjilpere " Gnd", e cila në diagramin e mëparshëm ishte e lidhur me " Gnd"Arduino nuk është i lidhur në këtë qark. Në shembullin tim, furnizimi me energji i jashtëm është 5 V, nëse stafeta juaj është projektuar për një tension të ndryshëm (3, 12, 24 V), zgjidhni furnizimin me energji të jashtme të përshtatshme.

Skicë për kontrollin e një moduli rele përmes Arduino.

Le të ngarkojmë një skicë në Arduino që do të ndezë dhe fikë llambën (dritën ndezëse).

int relayPin = 7;

konfigurimi i zbrazët () (
pinMode (relayPin, OUTPUT);
}

void loop() (
digitalWrite (relayPin, LOW);
vonesë (5000);
digitalWrite (relayPin, LARTË);
vonesë (5000);
}

Ne rresht int relayPin = 7; tregoni numrin e pinit dixhital Arduino me të cilin ishte lidhur pini Në 1 stafetë e modulit. Mund të lidheni me çdo kunj dixhital dhe ta tregoni atë në këtë rresht.

Ne rresht vonesë (5000); Ju mund të ndryshoni vlerën e kohës në të cilën drita do të ndizet dhe në të cilën do të fiket.

Ne rresht digitalWrite (relayPin, LOW); tregohet kur aplikohet një zero logjike ( I ULËT), moduli i stafetës do të mbyllë kontaktet dhe drita do të ndizet.

Ne rresht digitalWrite (relayPin, LARTË); tregohet kur dorëzohet një njësi logjike ( I LARTË), moduli i stafetës do të hapë kontaktet dhe drita do të fiket.

Siç e shohim, në rresht digitalWrite (relayPin, LOW); la parametrin I ULËT. Nëse stafeta mbyll kontaktet e saj dhe drita ndizet, kjo do të thotë kunj Në 1 ju duhet të jepni një zero logjike, si e imja. Nëse drita nuk ndizet, ngarkoni një skicë në të cilën zëvendësojmë parametrin I ULËTI LARTË.


Rezultati i skicës në video.

Tani le të shtojmë një buton takt në qark dhe kur ta shtypni, moduli i stafetës do të ndezë llambën.

Ne e lidhim butonin së bashku me një rezistencë tërheqëse 10k, e cila nuk do të lejojë që ndërhyrja e jashtme të ndikojë në funksionimin e qarkut.

Ngarkimi i skicës

Ne rresht nëse (lexo dixhitale (14) == I LARTË) vendosni numrin e kunjit dixhital në të cilin është lidhur butoni. Mund të lidheni me çdo të lirë. Në shembull, kjo është një kunj analogeA0, mund të përdoret gjithashtu si një dixhital 14 pin.

Ne rresht vonesë (300); vlera është e specifikuar në milisekonda. Kjo vlerë tregon se sa kohë pas shtypjes ose lëshimit të butonit, duhet të kryhen veprimet. Kjo është mbrojtje kundër kërcimit të kontaktit.

Për informacion! Të gjitha hyrjet analogenga A0 ( numëruar si 14) në A5 (19), mund të përdoret si dixhitale ( PWM dixhitale).

Si përfundim, rezultati i skicës tregohet në video.

Modulet rele më të lira mund të mos përmbajnë një optobashkues në qarkun e tyre, si për shembull në rastin tim me një modul me një kanal.



Skema e një moduli stafetë me një kanal. Prodhuesi kurseu në optobashkues, kjo është arsyeja pse bordi Arduino humbi izolimin e tij galvanik. Për të operuar një bord të tillë, në kunj ju duhet të jepni një zero logjike.

Lidhja e stafetës së modulit me Arduino Due.

Arduino Due funksionon në 3.3 volt, që është voltazhi maksimal që mund të ketë në hyrjet/daljet e tij. Nëse ka një tension më të lartë, bordi mund të digjet.

Shtrohet pyetja, si ta lidhni modulin me stafetën?

Hiqni kërcyesin JDVcc. Lidhni kunjin " Vcc» në tabelën e stafetës së modulit te kunja "3.3 V» Arduino. Nëse stafeta është projektuar për 5 volt, lidhni kunjin " GND» tabelat e stafetës së modulit, me kunja « GND» Arduino Due. Gjilpere " JDVcc"lidhu me pin" 5 V"në bordin e Arduino Due. Nëse stafeta është projektuar për një tension të ndryshëm, atëherë ne e lidhim fuqinë me stafetën si në figurë, në shembull është 5 volt. Nëse keni një modul stafetë me shumë kanale, ju lutemi kontrolloni atë « JDVcc" i lidhur në njërën anë të të gjitha releve. Optoçiftuesi aktivizohet nga një sinjal 3.3 V, i cili nga ana tjetër aktivizon transistorin e përdorur për të ndezur rele.

Rele i gjendjes së ngurtë i bërë nga një triac për ndërrimin e një ngarkese të fuqishme nëpërmjet Arduino

Herët a vonë, ekziston një dëshirë për të kontrolluar diçka më të fuqishme se një LED, ose për të krijuar diçka si një shtëpi e zgjuar me duart tuaja. Një komponent radio si një stafetë do të na ndihmojë me këtë. Në këtë artikull, ne do të shikojmë se si një stafetë është e lidhur me një mikrokontrollues, si ta kontrollojmë atë, dhe gjithashtu do të demonstrojmë funksionimin e tij duke përdorur shembullin e ndezjes së një llambë inkandeshente.

Komponentët e përdorur (blini në Kinë):

. Bordi i kontrollit

Dizajni dhe parimi i funksionimit të stafetës

Le të shqyrtojmë një pajisje stafetë të bazuar në stafetën SONGLE SRD-05VDC, e cila përdoret gjerësisht në fushën Arduino.

Ky stafetë kontrollohet nga një tension prej 5V dhe është i aftë të kalojë deri në 10A 30V DC dhe 10A 250V AC.

Rele ka dy qarqe të veçanta: një qark kontrolli, i përfaqësuar nga kontaktet A1, A2 dhe një qark i kontrolluar, kontaktet 1, 2, 3. Qarqet nuk janë të ndërlidhura në asnjë mënyrë.

Një bërthamë metalike është instaluar midis kontakteve A1 dhe A2, dhe kur rryma rrjedh nëpër të, një armaturë e lëvizshme (2) tërhiqet në të. Kontaktet 1 dhe 3 janë fikse. Vlen të theksohet se armatura është e ngarkuar me sustë dhe derisa të kalojmë rrymë përmes bërthamës, armatura do të mbahet e shtypur në kontaktin 3. Kur aplikohet rryma, siç u përmend tashmë, bërthama shndërrohet në një elektromagnet dhe tërhiqet në kontakt. 1. Kur çaktivizohet, susta e kthen armaturën përsëri në kontaktin 3.

Lidhja e modulit me Arduino

Shumica e moduleve rele për Arduino përdorin kontrollin e kanalit N, gjë që do të shqyrtojmë. Për shembull, le të marrim një modul me një kanal.

Më poshtë është një diagram shembull i këtij moduli. Pjesët e mëposhtme janë të nevojshme për të kontrolluar rele: rezistenca (R1), tranzistori pnp (VT1), dioda (VD1) dhe vetë rele (Rel1). Dy LED-et e mbetura janë instaluar për tregues. LED1 (e kuqe) - treguesi i furnizimit me energji në modul, ndriçimi LED2 (jeshile) tregon se stafeta është e mbyllur.

Le të shohim se si funksionon skema. Kur kontrolluesi është i ndezur, kunjat janë në gjendje me rezistencë të lartë, transistori nuk është i hapur. Meqenëse kemi një transistor të tipit pnp, për ta hapur atë duhet të aplikojmë një minus në bazë. Për ta bërë këtë, ne përdorim funksionin digitalWrite (pin, LOW); .Tani transistori është i hapur dhe rryma kalon nëpër qarkun e kontrollit dhe rele është aktivizuar. Për të fikur stafetën, fikni transistorin duke aplikuar një plus në bazë, duke thirrur funksionin DigitalWrite (pin, LARTË);. Mund të themi se kontrolli i stafetës së modulit nuk ndryshon nga kontrolli i një LED konvencional.

Moduli ka 3 kunja (standarde 2.54 mm):

KQV: Furnizimi me energji "+".

GND: Furnizimi me energji "-".

NË: dalje e sinjalit të hyrjes

Lidhja e modulit është jashtëzakonisht e thjeshtë:

KQV në + 5 volt në Arduino.

GND në ndonjë nga kunjat GND --- Arduino.

në ndonjë nga hyrjet/daljet dixhitale të Arduino (në shembujt është i lidhur me 4).

Le të shkojmë drejtpërdrejt në skicë. Në këtë shembull, stafeta do të ndizet dhe fiket në intervale prej 2 sekondash.

shembull kodi i programit:

// Moduli rele i lidhur me pinin dixhital 4 int rele = 4; i pavlefshëm konfigurimi() ( pinMode (Rele, OUTPUT); ) i pavlefshëm lak() ( DigitalWrite (Rele, LOW); // vonesë e aktivizuar me stafetë (2000); DigitalWrite (Rele, LARTË); // stafeta është e fikur vonesë (2000); )

Për të lidhur një llambë inkandeshente, vendosni një stafetë në hendekun e njërit prej telave.

Në modulin tonë, kunjat 1, 2, 3 janë të vendosura në këtë mënyrë. Për të lidhur një llambë inkandeshente, vendosni një stafetë në hendekun e njërit prej telave.

Duhet të dalë siç tregohet në figurë.

Një shembull i ndezjes së një llambë inkandeshente në lidhje me

P.S. Modulet më të shtrenjta kanë gjithashtu një optobashkues në bord, i cili lejon, përveç izolimit midis qarqeve të kontrolluara dhe të kontrollit të stafetës, izolim të plotë galvanik direkt midis kontrolluesit dhe qarkut të kontrollit të stafetës.

Duke përdorur Arduino. Por, çka nëse vendosim të menaxhojmë pajisjet e lidhura me një rrjet shtëpiak? Më lejoni t'ju kujtoj se edhe një llambë e vogël tavoline mundësohet nga një burim i rrymës alternative me një tension prej 220 volt. Transistori i zakonshëm me efekt në terren që kemi përdorur në qark me motorin nuk do të funksionojë më.

Për të kontrolluar një ngarkesë të fuqishme, dhe madje edhe me rrymë alternative, ne përdorim një stafetë. Kjo është një pajisje elektromekanike që mbyll mekanikisht qarkun e ngarkesës duke përdorur një elektromagnet. Le të shohim të brendshmet:

Parimi i funksionimit të stafetës është si më poshtë. Aplikoni tension në bobinën elektromagnetike. Një fushë shfaqet në spirale, e cila tërheq skedën metalike. Nga ana tjetër, këmba mbyll mekanikisht kontaktet e ngarkesës.

Reletë kanë dy përdorime kryesore. Së pari, ne mund të aplikojmë vetëm 5 volt në spirale, duke mbyllur qarkun e një ngarkese shumë të fuqishme. Për shembull, një stafetë e përdorur në mësimet e Arduino mund të ndezë një frigorifer ose makinë larëse. Së dyti, disa lloje të releve mund të mbyllin dhe hapin njëkohësisht disa qarqe të ndryshme me tensione të ndryshme.

Në këtë mësim ne nuk do të punojmë me një stafetë të vetme, por me një modul të tërë stafetë. Përveç vetë stafetës, moduli përmban gjithashtu një shkëputës optoelektronik me një transistor, i cili mbron kunjat Arduino nga rritjet e tensionit në spirale.

Një modul i vetëm stafetë ka vetëm tre kontakte. Le t'i lidhim ato sipas diagramit të mëposhtëm.

Nga rruga, hyrja e stafetës është e përmbysur. Kjo do të thotë se niveli i kontaktit është i lartë do të fikur bobinën e stafetës dhe një nivel i ulët do ta ndezë atë.

Diagram skematik

Pamja e paraqitjes

2. Programi për Arduino

Le të shkruajmë një program të thjeshtë që do të ndezë llambën për 3 sekonda dhe më pas do ta fiket për 1 sekondë.

Const int relPin = 3; setup void() ( pinMode (relPin, OUTPUT); ) void loop() ( digitalWrite (relPin, HIGH); vonesë (1000); digitalWrite (relPin, LOW); vonesë (3000); )

Ngarkoni programin në Arduino. Tani lidhim energjinë me llambën dhe me stafetën. Më në fund, ne furnizojmë me energji kontrolluesin.

3. Llambë automatike ose llambë rruge

Duke përdorur një kontrollues, stafetë dhe sensor drite, mund të bëni një llambë të thjeshtë automatike. Kontrolluesi do të ndezë llambën në momentin kur niveli i dritës në sensor bëhet më i vogël se vlera e caktuar.

Si sensor ne përdorim një modul të gatshëm të bazuar në . Le t'i lidhim të tre pajisjet sipas diagramit të mëposhtëm.

Diagram skematik

Pamja e paraqitjes

4. Program automatik i dritës

Dalja analoge e sensorit jep vlera në intervalin nga 0 në 1023. Për më tepër, 0 është për nivelin maksimal të dritës dhe 1023 për errësirën e plotë.

Fillimisht duhet të vendosim se në çfarë niveli drite të ndizni llambën dhe në çfarë niveli ta fikim. Në laboratorin tonë, në dritën e ditës, sensori tregon vlerën L = 120, dhe natën rreth L = 700. Ne do ta ndezim stafetën kur L > 600 dhe do ta fikim kur L< 200. Вспомним как и напишем программу.

Const int photoPin = A5; const int relPin = 3; setup void() ( pinMode(photoPin, INPUT); pinMode(relPin, OUTPUT); ) void loop() (if(analogRead(photoPin)< 200) digitalWrite(relPin, HIGH); if(analogRead(photoPin) >600) digitalWrite (relPin, LOW); )

Ne e shkarkojmë programin në Arduino dhe bëjmë një eksperiment. Është më mirë ta bëni këtë gjatë natës.

Detyrat

1. Stafetë muzikore. Siç e dini, një stafetë elektromekanike bën një klikim kur aktivizohet. Provoni ta përdorni këtë për të luajtur një melodi të thjeshtë.

2. Kontrolli i motorit. Duke pasur dy stafetë me tre kunja, të njëjta si në këtë mësim, mund të montoni një qark për të ndryshuar drejtimin e rrotullimit të motorit.

Artikujt më të mirë mbi këtë temë