Koodka Arduino iyo Fiidiyowga Xakamaynta Amarka Xariiqda PowerShell ee Relay iyada oo loo marayo USB
Cashigarkani, waxaan ku baran doonaa sida loo xakameeyo relay iyadoo la isticmaalayo Arduino iyo module USB ilaa UART, dhammaan iyada oo loo marayo amarrada Windows PowerShell. Qalabkan wuxuu kuu ogolaanayaa inaad shido ama damiso laydh meel fog iyadoo la soo diraayo amarro gaar ah iyada oo loo marayo khadka amarrada. Markaad dhammayso hagahan, waxaad yeelan doontaa nidaam shaqeeya oo awood u leh inuu xakameeyo qalabka AC si badbaado leh oo wax ku ool ah.

Waxaan isticmaali doonaa awoodaha isgaarsiinta taxanaha ah ee Arduino si uu u dhageysto amarrada laga soo diro PowerShell. Amarrada gaarka ah ee la isticmaali doono waxay noqon doonaan tirooyin isku mid ah kuwaas oo u dhigma daminta iyo shidista relay-ga. Mashruucan wuxuu u baahan yahay si taxaddar leh loo maareeyo danabka AC, sidaas darteed waa in la ilaaliyaa badbaadada inta lagu jiro habka. Si faahfaahin dheeri ah loo helo, hubi inaad daawato fiidiyowga oo dhan (fiidiyowga 00:00).
Qalabka La Sharxay
Qaybaha ugu muhiimsan ee ku lug leh mashruucan waxaa ka mid ah Arduino board-ka, module-ka USB ilaa UART, iyo relay-ga. Arduino wuxuu u shaqeeyaa sida maskaxda hawlgalka, isagoo farsameeya amarrada taxanaha ah oo xakameeya relay-ga si waafaqsan. Module-ka USB ilaa UART wuxuu fududeeyaa isgaarsiinta u dhaxaysa Arduino iyo kombuyuutarkaaga, isagoo u oggolaanaya gelinta amarrada iyada oo loo marayo PowerShell.
Relay-ga wuxuu u shaqeeyaa sida furaha xakameeya socodka korontada ee iftiinka. Marka relay-ga la hawlgeliyo, wuxuu xidhaa wareegga, isagoo u oggolaanaya in korontadu socoto oo iftiinku shido. Marka la damiyo, wuxuu furaa wareegga, isagoo gooya korontada oo damiya iftiinka. Tani waxay u oggolaanaysaa xakamayn badbaado leh oo qalabka danab sare ah laga bilaabo nidaam danab hoose ah.
Faahfaahinta Xogta
| Soo saaraha | FTDI |
|---|---|
| Nambarka qaybta | FT232R |
| Danabka Logic/IO | 3.3 V / 5 V |
| Danabka sahayda | 4.5 V ilaa 5.5 V |
| Korontada soo baxa (kanal kasta) | 50 mA |
| Korontada ugu sarreysa (kanal kasta) | 100 mA |
| Hagaha soo noqnoqoshada PWM | Ma jiro |
| Heerarka caqabadaha gelinta | 0.3 V (hoose), 0.7 V (sare) |
| Hoos u dhaca danabka / RDS(on) / dheregsanaanta | 0.5 V ugu badnaan |
| Xadka kulaylka | 125 °C |
| Baakad | 32 LQFP |
| Qoraalo / noocyo kale | USB ilaa UART beddele |
- Hubi in heerarka danabku ay ku habboon yihiin relay-ga iyo module-ka UART.
- Isticmaal kulayl-qabte haddii relay-ga la filayo inuu qaado culaysyo sare.
- Labo jeer hubi dhammaan xiriirada ka hor intaadan shidin nidaamka.
- Ka fogee module-ka qoyaanka iyo walxaha korantada sameeya.
- Isticmaal dhul wadaag ah dhammaan qaybaha si looga fogaado korontada kacsan.
Tilmaamaha Xiritaanka


Bilow adigoo ku xiraya pin-ka VCC ee module-ka relay-ga pin-ka 5V ee Arduino-ga. Marka xigta, ku xir pin-ka GND ee relay-ga mid ka mid ah pin-yada dhulka ee Arduino-ga. Pin-ka xakamaynta (oo lagu calaamadeeyay IN ama wax la mid ah) ee relay-ga waa in lagu xiraa pin-ka dhijitaalka ah ee 8 ee Arduino-ga.
Module-ka USB ilaa UART, ku xir pin-ka TX pin-ka RX ee Arduino-ga iyo pin-ka RX ee module-ka pin-ka TX ee Arduino-ga. Hubi inaad ku xirto pin-ka dhulka ee module-ka USB isla dhulka Arduino-ga si loo hubiyo tixraac wadaag ah. Qalabkani wuxuu u oggolaanayaa isgaarsiin aan kala go 'lahayn oo u dhaxaysa Arduino iyo kombuyuutarkaaga iyada oo loo marayo PowerShell.
Tusaalooyinka Koodhka & Sharaxaad
byte RX_Value = 0; // kaydiya byte-ka la helay
#define relay 8 // pin 8 ee relay-ga
int comON = 6; // koodhka shidista iftiinka
int comOFF = 2; // koodhka daminta iftiinka
Qaybtan, waxaan ku qeexaynaa doorsoome RX_Value si uu u hayo amarka laga helo kormeerka taxanaha ah. relay waxaa loo dejiyay pin 8, waxaanan qeexaynaa laba amar: comON oo loogu talagalay shidista iftiinka iyo comOFF oo loogu talagalay daminta.

void setup() {
Serial.begin(9600); // Bilow isgaarsiinta taxanaha ah 9600 baud
pinMode(relay, OUTPUT); // Deji pin-ka relay-ga sida soo saar
digitalWrite(relay, HIGH); // Dami relay-ga marka hore
}
Hawlaha setup(), waxaan bilaabaynaa isgaarsiinta taxanaha ah 9600 baud, taas oo waa inay la mid noqotaa dejinta PowerShell. Pin-ka relay-ga waxaa loo qaabeeyay sida soo saar, waxaanan u dejinay HIGH si loo hubiyo in relay-ga uu dami yahay marka barnaamijku bilaabmo.

if (Serial.available()) {
RX_Value = Serial.read(); // Akhri byte-ka soo socda
if (RX_Value == comON) {
digitalWrite(relay, LOW); // Shiid relay-ga
} else if (RX_Value == comOFF) {
digitalWrite(relay, HIGH); // Dami relay-ga
}
}
Qaybtan koodhka ah waxay muujinaysaa sida barnaamijku u dhageysto xogta taxanaha ah ee soo socota. Haddii amar la helo oo u dhigma comON, relay-ga waa la hawlgeliyay, isagoo shidaya iftiinka. Taa beddelkeeda, haddii comOFF la helo, relay-ga waa la damiyay, isagoo damiya iftiinka. Loop-kani wuu sii socdaa, isagoo u oggolaanaya xakamayn degdeg ah oo ka imanaysa PowerShell.
Muuujin / Waxa Lagu Filan Karaa
Marka qalabku dhammaystiranyahay oo koodhka la soo geliyo, waxaad awood u yeelan doontaa inaad furto PowerShell oo aad soo dirto amarrada si aad u xakamayso iftiinka. Qorista amarka u dhigma waa inay si degdeg ah u kicisaa relay-ga, iyadoo shidaysa ama daminaysa iftiinka sidaa rabto. Ka digtoonow markaad maareyso qalabka AC, hubi in aysan jirin fiilooyin qaawan oo soo baxaya inta lagu jiro tijaabinta.
Waqtiyada Fiidiyowga
- 00:00 - Hordhac iyo dulmar mashruuca
- 02:30 - Sharaxaadda xiritaanka
- 05:00 - Sharaxaadda koodhka
- 08:15 - Muujinta amarrada PowerShell
- 10:45 - Gunaanad iyo talooyin badbaado
++
/*
* This Arduino code is to read and decode serial monitor
* code sent from USB to UART or USB to UART FTDI chip
* commands sent from Windows PowerShell or other systems commands.
* When the code is detected and matched with the present codes
* for example, 6 is to turn the relay ON and 2 to turn OFF the relay,
* in turn, will turn ON the AC bulb.
Watch the video for this code: https://youtu.be/HzLCkzX5q3w
*
*/
// Written by Ahmad S. Robojax at 19:11 on Saturday, April 01, 2018
byte RX_Value = 0; // stores received byte
#define relay 8 // pin 8 for relay
int comON = 6;//code to turn ON the light
int comOFF = 2;// code to turn OFF the light
void setup() {
// Robojax code for USB command to Relay
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
pinMode(relay,OUTPUT);// define pin 8 as output
digitalWrite(relay,HIGH);// turn the relay OFF
Serial.println("Robojax USB Command");
}
void loop() { // run over and over
// Robojax code for USB command to Relay
if (Serial.available()) {
RX_Value = Serial.read();
if(Serial.read() == comON)
{
digitalWrite(relay,LOW);// turn the relay ON
Serial.print("Code to Turn ON:");
Serial.println(RX_Value);// print the received command
}
if(RX_Value == comOFF)
{
digitalWrite(relay,HIGH);// turn the relay OFF
Serial.print("Code to Turn OFF:");
Serial.println(RX_Value); // print the received command
}
}
}// loop
Waad u baahan tahay
-
Amaazon
-
Amaazon
-
eBay
-
AliExpressPurchase 1 channel 5V KY-019 relay from AliExpresss.click.aliexpress.com
Kheyraadka & Tixraacyada
Wali wax kaydsan ah oo weli ma jiro.
Faylasha📁
Faylka Fritzing
-
Qalabka Gudbinta ee 4-Kanaal ee 5V
4-Channel 5v Relay Shield.fzpz0.02 MB -
FT232-AZ-USB-to_TTL-serial-adapter
FT232-AZ-USB-to_TTL-serial-adapter.fzpz0.01 MB
Faylal kale
-
Qoraalka Korontada si loo xakameeyo relay USB-ka
robojax-usb-relay-powershell_scripts.zip