relæmodul grænseflade med Arduino – Arduino relæmodul
i denne artikel skal vi styre et Arduino relæmodul. Vi styrer to forskellige enheder ved hjælp af det. Først styrer vi en simpel LED, så styrer vi en pære ved hjælp af den. Arduino kan styre de enheder, der kører på op til 5V, så hvis vi vil styre de enheder, der kører på mere end 5V eller AC-enhederne, bliver vi nødt til at bruge et relæmodul, hvorigennem vi kan styre AC såvel som DC-enheder.
relæmodul
et relæ er dybest set en kontakt, der drives af en elektromagnet. Elektromagneten kræver en lille spænding for at blive aktiveret, som vi vil give fra Arduino, og når den først er aktiveret, trækker den kontakten for at skabe højspændingskredsløbet.
relæmodulet, vi skal bruge, er SRD-05vdc-SL-C. Det kører på 5V, og vi kan styre det med enhver mikrocontroller, men vi skal bruge Arduino.
Pin ud af 5V relæmodul
Arduino relæmodul
Arduino relæmodulet har i alt seks ben: tre på den ene side og tre på den anden side.På undersiden er der tre stifter, der er signal, 5V og jord. Vi forbinder disse stifter med Arduino. På den anden side er der NC (normalt tæt), C (almindelig) og nej (Normalt åben), som er udgangsstifterne på 5V-relæet. Der forbinder vi outputenheden.
Normalt åben tilstand (NO) VS Normalt lukket tilstand (NC)
Arduino-relæmodulet kan bruges i to tilstande, der er
- Normalt åben tilstand (NO)
- Normalt lukket tilstand (NC)
Normalt åben (NO)
i den normalt åbne tilstand vil relæets indledende output være lavt, når det får strøm. I denne tilstand anvendes de fælles og de normalt åbne stifter.
Normalt lukket tilstand (NC)
i den normalt lukkede tilstand vil relæets indledende udgang være høj, når den vil blive drevet. I denne tilstand anvendes de fælles og de normalt tætte stifter.
styring af DC-enheder ved hjælp af Arduino relæmodul
i den første del styrer vi en led ved hjælp af relæet, og i den anden del styrer vi en højspændingsenhed ved hjælp af relæet. Styring af en DC-enhed er let sammenlignet med AC-enheden. Til styring af DC-enheden kræver du ikke en ekstern forsyning, før du styrer en lille spændingsenhed som LED, der kører på op til 5V.
nødvendige komponenter
- Arduino Uno
- relæmodul
- LED
kredsløbsdiagram og forklaring
forbindelserne til tilslutning af relæmodulet med Arduino er meget enkle. I dette eksempel forbinder vi relæmodulet med Arduino i den normalt åbne tilstand. Så Tilslut 5V og jorden på Arduino med 5V og jorden på relæmodulet. Tilslut derefter signalstiften på relæmodulet med stiften 12 på Arduino.
på den anden side af relæmodulet bruger vi den fælles pin og den normalt åbne pin, fordi vi skal forbinde relæet i den normalt åbne tilstand. Så Tilslut stiften 13 af Arduino til det fælles relæmodul og det normalt åbne (Nej) af relæmodulet til LED ‘ ens positive pin. Tilslut den anden pin af LED til jorden af Arduino.
kode
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);}
styring af AC-enhed ved hjælp af Arduino relæmodul
til styring af AC-enhed skal du tage de nødvendige forholdsregler, fordi AC er farlig, og det kan forårsage skade på dig. Så for at undgå enhver fare skal du følge nedenstående vejledning korrekt.
nødvendige komponenter
- Arduino Uno
- relæmodul
- pære med holder
kredsløbsdiagram og forklaring
til styring af AC-enhed kræver vi en ekstern kilde, der vil drive ac-kilden. Så Tilslut VCC, jorden og signalet til henholdsvis 5V, jorden og pin 8 i Arduino. I den anden ende skal du forbinde en ledning af VEKSELSTRØMSKILDEN til den ene ende af pæren og den anden ledning til relæets fælles (C). Tilslut derefter den normalt åbne (nej) til den anden ende af pæren.
kode
int relay_pin = 8;void setup(){ pinMode(relay_pin,OUTPUT);}void loop(){ digitalWrite(relay_pin,HIGH); delay(5000); digitalWrite(relay_pin,LOW); delay(5000);}
videoer
PCB design
efter at have sørget for, at alt fungerer fint på brødbrættet, har jeg designet PCB på KiCad.
Følgende er et link til projektmappen i dette projekt.
efter at have designet PCB ‘ erne genererede jeg den Gerber-fil, der var nødvendig til fremstilling af PCB.
Du kan hente Gerber-filen via følgende link
nødvendige komponenter
- Arduino Nano
- relæ SRD-05vdc-SL-C 4
- Terminalblok 3 pin 5.08mm * 4
- tønde Jack
- 1N4007 Diode 5
- LED rød
- LED grøn 4
- BC547 * 4
- modstand 1k * 5
- modstand 220ohm * 5
- modstand 2k
- skift 3 pin
bestilling af PCB ‘er
nu har vi PCB-designet, og det er tid til at bestille PCB ‘erne. for det skal du bare gå til JLCPCB.com, og klik på” Citat nu ” knappen.
JLCPCB er også sponsor for dette projekt. JLCPCB (JLC Electronics Co., Ltd.), er den største PCB prototype virksomhed i Kina og en højteknologisk producent med speciale i hurtig PCB prototype og små-batch PCB produktion. Du kan bestille mindst 5 PCB for kun $2.
for at få PCB fremstillet, uploade gerber fil du hentede i det sidste trin. Upload .du kan også trække og slippe gerber-filerne.
Når du har uploadet filen, vil du se en succesmeddelelse nederst, hvis filen er uploadet.
Du kan gennemgå PCB i Gerber-seeren for at sikre, at alt er godt. Du kan se både toppen og bunden af printkortet.
efter at have sørget for, at vores PCB ser godt ud, kan vi nu placere ordren til en rimelig pris. Du kan bestille 5 PCB for kun $2, men hvis det er din første ordre, kan du få 10 Pcb for $2.
for at placere ordren skal du klikke på knappen “Gem i indkøbskurv”.
mine PCB tog 2 dage at blive fremstillet og ankom inden for en uge ved hjælp af DHL-leveringsmulighed. PCB var godt pakket og kvaliteten var virkelig god.
efter at have samlet alt her er hvordan det ser ud.
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);}