relämodul gränssnitt med Arduino – Arduino relämodul
i den här artikeln kommer vi att styra en Arduino relämodul. Vi kommer att styra två olika enheter med den. Först kontrollerar vi en enkel LED då kontrollerar vi en glödlampa med den. Arduino kan styra enheterna som körs på upp till 5V, så om vi vill styra enheterna som körs på mer än 5V eller AC-enheterna måste vi använda en relämodul genom vilken vi kan styra AC såväl som DC-enheter.
relämodul
ett relä är i grunden en omkopplare som drivs av en elektromagnet. Elektromagneten kräver en liten spänning för att aktiveras som vi kommer att ge från Arduino och när den är aktiverad kommer den att dra kontakten för att göra högspänningskretsen.
relämodulen vi ska använda är SRD-05VDC-SL-C. Den körs på 5V och vi kan styra den med vilken mikrokontroll som helst men vi ska använda Arduino.
stift av 5V relä modul
Arduino relämodulen har totalt sex stift: tre på ena sidan och tre på andra sidan.På undersidan finns tre stift som är signal, 5V och jord. Vi kommer att ansluta dessa stift med Arduino. Medan på andra sidan finns det NC (normalt nära), C (vanligt) och nej (normalt öppet) som är utgångsstiften på 5V-reläet. Där kommer vi att ansluta utmatningsenheten.
normalt öppet tillstånd (NO) VS normalt stängt tillstånd (NC)
Arduino-relämodulen kan användas i två tillstånd som är
- normalt öppet tillstånd (NO)
- normalt stängt tillstånd (NC)
normalt öppet (NO)
i normalt öppet tillstånd kommer reläets initiala utgång att vara låg när den kommer att drivas. I detta tillstånd används de vanliga och normalt öppna stiften.
normalt stängt tillstånd (NC)
i normalt stängt tillstånd kommer reläets initiala utgång att vara hög när den kommer att drivas. I detta tillstånd används de vanliga och normalt nära stiften.
styra DC-enheter med Arduino relämodul
i den första delen styr vi en led med reläet och i den andra delen styr vi en högspänningsenhet med reläet. Det är enkelt att styra en DC-enhet jämfört med AC-enheten. För att styra DC-enheten behöver du inte en extern strömförsörjning förrän du styr en liten spänningsenhet som LED som körs på upp till 5V.
nödvändiga komponenter
- Arduino Uno
- relämodul
- LED
kretsschema och förklaring
anslutningarna för anslutning av relämodulen med Arduino är mycket enkla. I det här exemplet kommer vi att ansluta relämodulen med Arduino i normalt öppet tillstånd. Så anslut 5V och marken på Arduino med 5V och marken på relämodulen. Anslut sedan signalstiftet på relämodulen med stiftet 12 på Arduino.
på andra sidan av relämodulen använder vi den gemensamma stiftet och den normalt öppna stiftet eftersom vi ska ansluta reläet i normalt öppet tillstånd. Så anslut stiftet 13 av Arduino till Common of relämodulen och den normalt öppna (nej) av relämodulen till LED: s positiva stift. Anslut den andra stiftet av LED till marken av Arduino.
kod
int relay_pin = 8;int led_pin = 13;void setup(){ pinMode(relay_pin,OUTPUT); pinMode(led_pin,OUTPUT); digitalWrite(led_pin,HIGH);}void loop(){ digitalWrite(relay_pin,HIGH); delay(5000); digitalWrite(relay_pin,LOW); delay(5000);}
styra AC-enhet med Arduino relay module
för kontroll av AC-enhet måste du vidta nödvändiga försiktighetsåtgärder eftersom AC är farligt och det kan orsaka skador på dig. Så, för att undvika fara, följ nedanstående handledning korrekt.
nödvändiga komponenter
- Arduino Uno
- relämodul
- glödlampa med hållare
kretsschema och förklaring
För styrning av AC-enheten behöver vi en extern källa som kommer att driva ac-källan. Så anslut VCC, ground och signal till 5V, ground och pin 8 av Arduino respektive. I den andra änden ansluter du en tråd av VÄXELSTRÖMSKÄLLAN till lampans ena ände och den andra ledningen till reläets gemensamma (C). Anslut sedan det normalt öppna (nej) till lampans andra ände.
kod
int relay_pin = 8;void setup(){ pinMode(relay_pin,OUTPUT);}void loop(){ digitalWrite(relay_pin,HIGH); delay(5000); digitalWrite(relay_pin,LOW); delay(5000);}
Videor
PCB design
efter att ha kontrollerat att allt fungerar bra på brödbrädet har jag designat PCB på KiCad.
Följande är en länk till projektmappen för detta projekt.
Efter att ha designat PCB: erna genererade jag Gerber-filen som behövs för tillverkning av PCB.
Du kan ladda ner Gerber-filen via följande länk
nödvändiga komponenter
- Arduino Nano
- relä SRD-05VDC-SL-C x 4
- plint 3 pin 5.08mm X 4
- Fat Jack
- 1N4007 diod X 5
- LED röd
- LED Grön X 4
- Bc547 X 4
- motstånd 1k X 5
- motstånd 220ohm x 5
- motstånd 2K
- Switch 3 pin
beställa PCB
nu har vi PCB-designen och det är dags att beställa PCB: erna. för det måste du bara gå till JLCPCB.com, och klicka på” citat nu ” – knappen.
JLCPCB är också sponsor för detta projekt. Jlcpcb (Shenzhen Jlc Electronics Co., Ltd.), är den största PCB prototyp företag i Kina och en högteknologisk tillverkare som specialiserat sig på snabb PCB prototyp och små batch PCB produktion. Du kan beställa minst 5 PCB för bara $ 2.
för att få kretskortet tillverkat, ladda upp gerber-filen du laddade ner i det sista steget. Ladda upp .zip-fil eller du kan också dra och släppa Gerber-filerna.
När du har laddat upp zip-filen ser du ett framgångsmeddelande längst ner om filen har laddats upp.
Du kan granska PCB i Gerber viewer för att se till att allt är bra. Du kan se både toppen och botten av PCB.
efter att ha kontrollerat att vår PCB ser bra ut kan vi nu beställa till ett rimligt pris. Du kan beställa 5 PCB för bara $2 men om det är din första beställning kan du få 10 PCB för $2.
för att beställa, klicka på knappen” Spara i kundvagn”.
mina PCB tog 2 dagar att tillverkas och anlände inom en vecka med DHL-leveransalternativ. PCB var väl packade och kvaliteten var riktigt bra.
Efter montering allt här är hur det ser ut.
Code
int relay1_pin = 6;int relay2_pin = 7;int relay3_pin = 8;int relay4_pin = 9;void setup() { pinMode(relay1_pin, OUTPUT); pinMode(relay2_pin, OUTPUT); pinMode(relay3_pin, OUTPUT); pinMode(relay4_pin, OUTPUT); digitalWrite(relay1_pin, LOW); digitalWrite(relay2_pin, LOW); digitalWrite(relay3_pin, LOW); digitalWrite(relay4_pin, LOW);}void loop() { digitalWrite(relay1_pin, HIGH); delay(1000); digitalWrite(relay2_pin, HIGH); delay(1000); digitalWrite(relay3_pin, HIGH); delay(1000); digitalWrite(relay4_pin, HIGH); delay(1000); digitalWrite(relay4_pin, LOW); delay(1000); digitalWrite(relay3_pin, LOW); delay(1000); digitalWrite(relay2_pin, LOW); delay(1000); digitalWrite(relay1_pin, LOW); delay(1000);}