Qalabka Relay-ka ee 16 Channel, danabka relay-ka waa 5V
Hordhac
Mashruucani waxa uu wax ka qabtaa cillad naqshadeed oo muhiim ah oo laga helo qaar badan oo ka mid ah modules-ka gudbinta (relay) ee 16-channel 5V. Inkasta oo modules-kaan loo suuq geeyo sidii qalab 5V ah, haddana nidaamiyaha danabka (voltage regulator) ee saaran ayaa inta badan kaliya siiya 5V-ka la nidaamiyay wareegyada optocoupler-ka, isagoo ka tagaya gudbinta (relay coils) inay helaan danabka gelinta oo dhan oo aan la nidaamin. Haddii aad ku shiddo module-ka wax ka badan 5V—sida danab 9V ama 12V—waxaad halis gelinaysaa gudbinta iyo qalabka ku xiran.


Hagahani wuxuu muujinayaa sixitaan fudud oo wax ku ool ah oo farsamo oo lagu hubinayo in gudbinta (relay coils) had iyo jeer ay helaan 5V-ka saxda ah, iyada oo aan loo eegin danabka gelinta. Tani waa wax ka beddel muhiim ah oo loogu talagalay mashruuc kasta oo lagu tiirsan yahay. Halkan waxaa ah dhawr codsi oo wax ku ool ah oo sixitaankani lagama maarmaan u yahay:
- Dhisidda xarun guri oo otomaatig ah oo xakamaysa 16 qalab oo kala duwan (nalal, fan-yaal, kuleyliyeyaal) oo laga wado hal danab oo sareeya.
- Abuurista guddiga xakamaynta warshadaha halkaas oo laga isticmaalo danab warshadeed oo 24V ah, laakiin macquulka (logic) iyo gudbintu ay u baahan yihiin 5V oo deggan.
- Kor u qaadista guddiga gudbinta ee 16-channel ee jira si uu u qaado danabyo gelin oo kala duwan iyada oo aan la halis gelin in qaybaha ay burburaan.
Qaabka Qalabka (Hardware Overview)
Xudunta dhibaatadu waxay ku jirtaa qaybinta danabka ee module-ka. Danabka gelinta (tusaale, 12V) waxaa la siiyaa nidaamiyaha danabka (intaa badanna LM2596) kaas oo hoos u dhigaya ilaa 5V nadiif ah. Si kastaba ha ahaatee, 5V-kaan la nidaamiyay waxaa kaliya loo maroojiyaa si loo shido optocoupler-yada, kuwaas oo go'doomiya signalka xakamaynta. Gudbinta (relay coils) iyo chips-ka darawalnimada ee ULN2003 ayaa si khaldan ugu xiran khadka danabka gelinta ee cayriin. Tani waxay ka dhigan tahay in danab 12V ah uu siin doono 12V gudbinta 5V-ka, taasoo keenaysa inay kululaadaan oo ugu dambeyntii ay burburaan.
Fiidiyowgu wuxuu si cad u muujinayaa arrintan. Iyada oo danab gelin ah 8.72V, gudbinta (relay coil) waxaa lagu qiyaasay inay hesho 7.75V, taas oo si khatar ah ugu sarreysa qayb lagu qiimeeyay 5V (fiidiyowga 03:17).
Qalabka/Qaybaha
- Module-ka Gudbinta ee 16-Channel 5V
- Birta lagu birleeyo (soldering iron) iyo birta (solder)
- Qalabka lagu gooyo/jarjo (wire cutter/stripper)
- Mindiyo fiiqan ama qalab goyn ah
- Xadhig isku xir ah (hook-up wire)
- Multimeter-ka lagu tijaabiyo
- Danab siiyaha (tusaale, 9V ama 12V) oo lagu tijaabiyo
Hagaha Xirista (Wiring Guide)
Sixitaanku wuxuu ku lug leeyahay hab dib-u-xirid oo fudud. Ujeedadu waa in la gooyo raadka danabka (power trace) ee siiya chips-ka ULN2003 iyo gudbinta danabka gelinta ee cayriin, balse meeshiisa lagu xiro danabka 5V-ka la nidaamiyay. Fiidiyowgu wuxuu bixiyaa jaantus faahfaahsan oo ku saabsan wareegga la sixiyay (fiidiyowga 03:45).
Halkan waxaa ah habka tallaabo-tallaabo ee lagu muujiyay fiidiyowga:
- Aqoonso Raadka Danabka: Marka hore, raad raaca tracks-ka PCB-ga si aad u ogaato halka danabka gelinta ee cayriin loo maroojiyay chips-ka darawalnimada ee ULN2003. Fiidiyowga, tani waa raad ka socda hoosta capacitor-ka ilaa pin-ka 1 ee chips-ka darawalnimada (fiidiyowga 05:15).
- Goo Raadka: Adigoo isticmaalaya mindi fiiqan, si taxadir leh u goo raadkan danabka. Tani waxay gooynaysaa chips-ka darawalnimada iyo gudbinta ka danabka gelinta ee cayriin. Fiidiyowgu wuxuu muujinayaa gooyntan oo la sameynayo 05:56.
- Xaqiiji Gooynta: Isticmaal multimeter-ka qaabka isku xirnaanta (continuity mode) si aad u xaqiijiso in danabka gelinta uu mar dambe aan gaaraynin chips-ka darawalnimada (fiidiyowga 06:11).
- Ku Birlee Xadhig Cusub: Ku birlee xadhig cusub oo ka imanaya barta danabka 5V-ka la nidaamiyay (taas oo horey u siin jirtay optocoupler-yada) ilaa barta danabka ee hadda la gooyay taas oo siin jirtay chips-ka darawalnimada iyo gudbinta. Fiidiyowgu wuxuu muujinayaa in xadhigga la dhex mariyo dalool jira oo ku yaal guddiga si loo gaaro pin-ka guud ee gudbinta (fiidiyowga 07:06).
- Tijaabi Sixitaanka: Ku shid module-ka danab ka sareeya 5V (tusaale, 15V) oo ku xaqiiji multimeter-ka in gudbinta hadda ay helaan saxda ah 5V (fiidiyowga 07:37).
Sharaxaadda Koodhka
Koodhka Arduino-ga ee la bixiyay waa barnaamij tijaabo oo fudud oo ku wareegaya dhammaan 16 kanaalka gudbinta. Waxaad u isticmaali kartaa si aad u xaqiijiso in sixitaanka qalabkaagu si sax ah u shaqeynayo.
Qaybta ugu muhiimsan ee aad u baahan tahay inaad qaabayso waa shaxda controlPin. Tani waxay qeexaysaa pins-ka Arduino-ga ee ku xiran pins-ka gelinta ee module-ka gudbinta.
const int controlPin[16] = {2,3,4,5,6,7,8,9,10,11,12,A0,A1,A2,A3,A4}; // define pins
Ka beddel liiskan si uu u waafaqo xiristaada dhabta ah. Koodhku wuxuu isticmaalaa pins-ka dijitaalka ah ee 2-12 iyo pins-ka analog-ga ah ee A0-A4, laakiin waxaad ku beddeli kartaa kuwaas pins kasta oo dijitaal ah oo I/O ah oo ka heli kara guddigaaga.
Doorsoon kale oo muhiim ah waa triggerType. Tan waxaa lagu dejiyay LOW si caadi ah, taas oo caan u ah qaar badan oo ka mid ah modules-ka gudbinta.
const int triggerType = LOW;// your relay type
Haddii module-ka gudbintaagu uu yahay "active HIGH" (macneheedu waa waxaad u dirtaa signaal HIGH ah si aad u shiddo), waxaad ku beddeli kartaa tan HIGH. Shaqada channelControl() waxay maamushaa macquulka labada nooc, marka waxaad kaliya u baahan tahay inaad hagaajiso doorsoonekan.
Ugu dambeyntii, doorsoome loopDelay wuxuu xakameeyaa hakinta u dhaxaysa kanaal kasta ee wareegga tijaabada.
int loopDelay = 1000;// delay in loop
Waxaad hagaajin kartaa tan si aad tijaabada uga dhajiso mid ka dhakhso badan ama ka gaabis ah.
Mashruuca Tooska ah/Muujinta
Ka dib sixitaanka, fiidiyowgu wuxuu muujinayaa module-ka oo si fiican u shaqaynaya iyada oo danab gelin ah 15V. Multimeter-ku wuxuu muujinayaa danabka gelinta oo ah 15V, halka danabka la nidaamiyay ee gudbinta uu yahay 5V oo deggan oo badbaado ah (fiidiyowga 08:10). Gudbintu waxay ku shiid iyo ku damiayaan sida la filayo, taasoo xaqiijinaysa in sixitaanku uu guulaystay oo module-ku hadda uu qaadi karo danabyo gelin oo sareeya iyada oo aan dhaawac lahayn.
Cutubyada
- [00:00] Hordhaca Dhibaatada Danabka ee Relay-ga 16-Kanaal
- [00:34] Aqoonsiga Cilladda Naqshadeynta
- [01:56] Muujinta Arrinta Danabka
- [03:45] Jaantuska Wareegga La Sixiyay
- [05:07] Gooynta Raadka Danabka ee Khaldan
- [06:34] Ku Xidhista Xiriirka Cusub ee 5V
- [07:37] Tijaabinta Sixitaanka iyadoo la adeegsanayo 15V
- [08:24] Gunaanad iyo Fikrado Dhammaad ah
/*
* Arduino code to control 16 channel relay with Arduino UNO
*
* Written by Ahmad Shamshiri for Robojax.com on Sunday, October 8, 2018
* at 10:35 in Ajax, Ontario, Canada
* Watch video instructions for this code: https://youtu.be/Q9aBI4ELKC4
*
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
* This code has been downloaded from Robojax.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
const int controlPin[16] = {2,3,4,5,6,7,8,9,10,11,12,A0,A1,A2,A3,A4}; // define pins
const int triggerType = LOW;// your relay type
int loopDelay = 1000;// delay in loop
int tmpStat =1;
void setup() {
for(int i=0; i<16; i++)
{
pinMode(controlPin[i], OUTPUT);// set pin as output
if(triggerType ==LOW){
digitalWrite(controlPin[i], HIGH); // set initial state OFF for low trigger relay
}else{
digitalWrite(controlPin[i], LOW); // set initial state OFF for high trigger relay
}
}
Serial.begin(9600);// initialize serial monitor with 9600 baud
}
void loop() {
for(int i=0; i<16; i++)
{
channelControl(i,tmpStat,200);// turn each relay ON for 200ms
}
if(tmpStat)
{
tmpStat=0;
}else{
tmpStat=1;
}
Serial.println("===============");
//channelControl(6,1, 2000); // turn relay 7 ON for 2 seconds
//channelControl(6,0, 5000); // turn relay 7 OFF for 5 seconds
//channelControl(9,1, 3000); // turn relay 10 OFF for ever
delay(loopDelay);// wait for loopDelay ms
}
/*
* funciton: channelControl
* turns ON or OFF specific relay channel
* @param relayChannel is integer value channel from 0 to 15
* @param action is 1 for ON or 0 for OFF
* @param t is time in milliseconds
*/
void channelControl(int relayChannel, int action, int t)
{
int state =LOW;
String statTXT =" ON";
if(triggerType == LOW)
{
if (action ==0)// if OFF requested
{
state = HIGH;
statTXT = " OFF";
}
digitalWrite(controlPin[relayChannel], state);
if(t >0 )
{
delay(t);
}
Serial.print ("Channel: ");
Serial.print(relayChannel);
Serial.print(statTXT);
Serial.print(" - ");
Serial.println(t);
}else{
if (action ==1)// if ON requested
{
state = HIGH;
}else{
statTXT = " OFF";
}
digitalWrite(controlPin[relayChannel], state);
if(t >0 )
{
delay(t);
}
Serial.print ("Channel: ");
Serial.print(relayChannel);
Serial.print(statTXT);
Serial.print(" - ");
Serial.println(t);
}
}
Waad u baahan tahay
-
Amaazon16 Channel 5V relay moduleamzn.to
-
eBay
-
eBay
-
AliExpressPurchase 16 Channel 5V, 12V or 24V relay module from AliExpresss.click.aliexpress.com
-
BanggoodPurchase 16 Channel relay module from Banggoodbanggood.com
Kheyraadka & Tixraacyada
-
Dibedda16 Channel Relay module 5V relay voltage fixedyoutube.com
-
DibeddaDIP 4-pin photocouplerwebpagefx.com
-
DibeddaPurchase 16 Channel 5V, 12V or 24V relay module from AliExpresss.click.aliexpress.com
-
DibeddaPurchase 16 Channel relay module from Banggoodbanggood.com
-
Dibedda
Faylasha📁
Muuqaal
-
robojax_16ch_relay module schematic
robojax_16ch_relay_schematic.pdf0.37 MB