Search Code

Koodka Arduino iyo Video-ga Module-ka Dareemka Iftiinka ee leh Relay

Koodka Arduino iyo Video-ga Module-ka Dareemka Iftiinka ee leh Relay

Cashigarkani, waxaan baran doonaa sida loo isticmaalo module-ka dareemaha iftiinka si loo xakameeyo nalalka AC. Mashruucani wuxuu u oggolaanayaa in nalku si otomaatig ah u shido marka ay mugdi tahay oo uu damiyo marka iftiinku kororto. Tani waxay si gaar ah faa'iido ugu leedahay codsiyada sida nalalka dibadda ama nalalka garaashka. Marka aad dhammayso cashar-kan, waxaad yeelan doontaa nidaam shaqeeya oo si hufan u maamuli kara iftiinka ku saleysan xaaladaha jawiga. (fiidiyowga 02:15)

LDR light sensor module

Waxaan isticmaali doonaa module-ka dareemaha iftiinka, kaas oo ay ku jiraan resistor-ka ku-tiirsan iftiinka (LDR) si loo ogaado heerarka iftiinka, iyo relay si loo xakameeyo nalka AC. Nidaamku wuxuu kaloo ku dari doonaa potentiometer si loo hagaajiyo xasaasiyadda dareenka iftiinka. Qaabkani wuxuu u oggolaanayaa xakamaynta dhijitaalka ah iyo analog-ga labadaba ee nalka ku saleysan iftiinka jawiga ee uu dareemuhu ogaado. Faahfaahin dheeri ah, fiiri fiidiyowga 04:30.

Qalabka La Sharaxay

Qaybaha aasaasiga ah ee dhismahan waa module-ka dareemaha iftiinka, relay-ga, iyo Arduino-ga. Module-ka dareemaha iftiinka wuxuu ka kooban yahay LDR kaas oo isbeddelaya iska caabinta ku saleysan xoojinta iftiinka, isagoo bixinaya wax soo saar dhijitaal ah ama analog ah. Relay-gu wuxuu u shaqeeyaa sidii furaha xakamayn kara nalka AC ee danab sare isagoo si ammaan ah u shaqeeya Arduino-ga danab hooseeya. Kala soociddani waxay muhiim u tahay ammaanka iyo shaqeynta.

Relay-gu wuxuu leeyahay saddex biin oo aasaasi ah: common (COM), normally open (NO), iyo normally closed (NC). Marka la hawlgeliyo, relay-gu wuxuu ku xiraa biinka common-ka biinka normally open-ka, isagoo u oggolaanaya in hadda uu ku qulqulo nalka ku xiran. Farsamadani waxay u oggolaanaysaa relay-ga inuu xakameeyo nalka ku saleysan calaamadaha uu ka helo Arduino-ga.

Faahfaahinta Xogta

Soo-saare Guud
Nambarka qaybta Module-ka Dareemaha Iftiinka
Danabka Logic/IO 5 V
Danabka sahayda 5 V
Hadda wax soo saarka (kanaal kasta) 10 mA
Hadda ugu sarreysa (kanaal kasta) 20 mA
Hagaha soo noqnoqoshada PWM Ma jiro
Heerarka caqabadaha gelinta 2.5 V (sare) / 0.8 V (hoose)
Hoos u dhaca danabka / RDS(on) / dheregsanaanta 0.2 V caadi ah
Xadka kulaylka 85 °C
Baakad Module
Qoraallo / noocyo kale Waxaa ku jira potentiometer hagaajinta xasaasiyadda

 

  • Hubi in si fiican loo kala bixiyo kulaylka relay-ga.
  • Isticmaal resistor-ka kor-u-jiidista ee gelinta dareemaha iftiinka.
  • Hubi qiimeynta danabka ka hor intaadan ku xirin qalabka AC.
  • Ka fogow taabashada fiilooyinka qaawan marka nidaamku shidan yahay.
  • Hagaaji potentiometer-ka si aad u hesho xasaasiyadda iftiinka ee la doonayo.

Tilmaamaha Fiilooyinka

Arduino wiring for LDR light sensor module

Si aad ugu xirto module-ka dareemaha iftiinka iyo relay-ga Arduino-ga, waxaad ku bilaabaysaa adiga oo ku xira biinka VCC ee module-ka dareemaha iftiinka biinka 5V ee Arduino-ga. Marka xigta, ku xir biinka dhulka ee dareemaha iftiinka biinka GND ee Arduino-ga. Biinka wax soo saarka dhijitaalka ah ee dareemaha iftiinka waa in lagu xiraa biinka 2 ee Arduino-ga, halka biinka wax soo saarka analog-ga uu ku xirmaa A0 si loo akhriyo qiimaha analog-ga.

Hadda, relay-ga, ku xir biinkiisa VCC biinka 5V ee Arduino-ga iyo biinkiisa dhulka GND. Biinka gelinta ee relay-ga waa in lagu xiraa biinka 9 ee Arduino-ga. Ugu dambeyntii, ku xir hal fiilo oo ka mid ah nalkaaga AC biinka common (COM) ee relay-ga iyo fiilada kale biinka normally open (NO). Qaabkani wuxuu u oggolaanayaa relay-ga inuu xakameeyo nalka AC ku saleysan akhrinta dareemaha iftiinka.

Tusaalooyinka Koodhka & Sharaxaadda

Koodhka dhijitaalka ah ee aasaasiga ah ee dareemaha iftiinka, waxaan ku qeexaynaa biinanka dareemaha iyo relay-ga. Hawsha setup waxay bilaabaysaa isgaarsiinta serial-ka waxayna dejisaa noocyada biinanka:

#define LIGHT 2 // qeex biinka 2 ee dareemaha
#define RELAY 9 // qeex biinka 9 ee relay-ga

void setup() {
  Serial.begin(9600); // dejiso Serial Monitor
  pinMode(LIGHT, INPUT_PULLUP); // qeex biinka sida gelinta dareemaha
  pinMode(RELAY, OUTPUT); // qeex biinka sida OUTPUT ee relay-ga
}

Koodhkani wuxuu dejisaa biinka 2 sida gelin loogu akhriyo dareemaha iftiinka iyo biinka 9 sida wax soo saar lagu xakameeyo relay-ga. Kormeeraha serial-ka sidoo kale waa la bilaabay si uu u bixiyo jawaab celin ku saabsan xaaladda iftiinka.

Gudaha hawsha loop, waxaan si joogto ah u akhrinaynaa xaaladda dareemaha:

int L = digitalRead(LIGHT); // akhri dareemaha
if (L == 1) {
  Serial.println(" iftiinku wuu shidan yahay");
  digitalWrite(RELAY, LOW); // shido relay-ga
} else {
  Serial.println("  === iftiinku wuu damiyay");
  digitalWrite(RELAY, HIGH); // dami relay-ga
}

Mantaqani wuxuu hubinayaa xaaladda dareemaha iftiinka wuxuuna u shidaa ama u damiyaa relay-ga si waafaqsan, isagoo bixinaya jawaab celin iyada oo loo marayo kormeeraha serial-ka.

Koodhka analog-ga ee horumarsan, waxaan ku darno hab lagu akhriyo qiimaha wax soo saarka analog-ga:

if (digital == true) {
  int L = digitalRead(LIGHT); // akhri dareemaha
  if (L == 1) {
    Serial.println(" iftiinku wuu shidan yahay");
    digitalWrite(RELAY, LOW); // shido relay-ga
  } else {
    Serial.println("  === iftiinku wuu damiyay");
    digitalWrite(RELAY, HIGH); // dami relay-ga
  }
} else {
  int a0Value = analogRead(A0); // akhri qiimaha A0
  if (a0Value >= LightValue) {
    Serial.print(analogRead(A0));
    Serial.println(" Iftiinku wuu shidan yahay");
    digitalWrite(RELAY, LOW); // shido relay-ga
  } else {
    Serial.print(analogRead(A0));
    Serial.println("  === iftiinku wuu damiyay");
    digitalWrite(RELAY, HIGH); // dami relay-ga
  }
}

Qaybtani waxay u ogolaaneysaa in la hagaajiyo xasaasiyadda iyadoo lagu salaynayo akhrinta analoogga ah ee dareemaha iftiinka, taasoo siinaysa xakameyn dheeri ah oo ku saabsan heerarka kicinta iftiinka.

Muuujin / Waxa Laga Filan Karo

Marka qalabku dhammaystirman yahay oo la shido, iftiinku waa inuu shidmaa xaaladaha iftiinka hooseeya oo uu damiyo xaaladaha iftiinka cad. Waxaad tijaabin kartaa nidaamka adigoo daboolaya dareemaha iftiinka si aad ugu ekaato mugdiga oo aad u fiirinaysa kicinta laydhka. Haddii si sax ah loo qaabeeyey, kormeeraha taxanaha ah wuxuu muujin doonaa "iftiinku wuu shidan yahay" ama "iftiinku wuu damiyay" iyadoo lagu salaynayo akhrinta dareemaha. Ka digtoonow rogaanshaha korantada markaad ku xidhayso iftiinka AC, sababtoo ah tani waxay keeni kartaa cilado ama khataro amni (fiidiyowga marka uu jiro 10:00).

Waqtiyada Fiidiyowga

  • 00:00 Hordhaca mashruuca
  • 02:15 Dulmarka qaybaha iyo fiilada
  • 04:30 Sharaxaadda koodhka
  • 10:00 Muujinta shaqeynta

Sawirro

LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
Light_LDR_sensor-4
Light_LDR_sensor-4
LDR light sensor module
LDR light sensor module
LDR light sensor module
LDR light sensor module
Light LDR sensor module schematic
Light LDR sensor module schematic
Arduino wiring for LDR light sensor module
Arduino wiring for LDR light sensor module
LDR light sensor module
LDR light sensor module
75-Light sensor module for Arduino (basic digital)
Luqadda: C++
++
/*
 * This is the Arduino code for the Light module for Arduino (basic).
This video shows you how to turn an AC light ON during the night using a light sensor 
and turn it OFF during the day. This code is a basic version where 
the digital output of the module is used.
 // Written for Robojax.com video 

 * Watch the HC-SR505 Motion Sensor video for details https://youtu.be/qhThpxiXubI
 * Code is available at http://robojax.com/learn/arduino

 * 
 // Written by Ahmad S. for Robojax.com on 
// February 10, 2018 at 13:43 in Ajax, Ontario, Canada
*/
#define LIGHT 2 // define pin 2 for sensor
#define RELAY 9 // define pin 9 as for relay

/*
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
 * 
 */

void setup() {
  // Light LDR Sensor Code by Robojax.com 20180210
  Serial.begin(9600);// setup Serial Monitor to display information
  pinMode(LIGHT, INPUT_PULLUP);// define pin as Input  sensor
  pinMode(RELAY, OUTPUT);// define pin as OUTPUT for relay
}

void loop() {
  // Light LDR Sensor Code by Robojax.com 20180210
  int L =digitalRead(LIGHT);// read the sensor 
  
      if(L == 1){
    Serial.println(" light is ON");
    digitalWrite(RELAY,LOW);// turn the relay ON
  }else{

     Serial.println("  === light is OFF");
     digitalWrite(RELAY,HIGH);// turn the relay OFF
  }
  delay(500);
 // Light LDR Sensor Code by Robojax.com 20180210
}
76-Light sensor module for Arduino (Advanced: analog)
Luqadda: C++
/*
Light Sensor module for Arduino (Advanced: analog)
This video shows you how to turn an AC light ON during the night using 
a light sensor and turn it OFF during the day. 
This code is to control a light either digitally and control 
the sensitivity with the potentiometer on the module. 
You can control the light using an analog value from pin A0
and set your own sensitivity. Make sure you turn the 
potentiometer to the maximum value and set digital=false.
 // Written for Robojax.com video 

 * Watch Light Sensor video https://youtu.be/CyDAWcY8_5w
 * Code is available at http://robojax.com/learn/arduino
 * 
*/
#define LIGHT 2 // define pin 2 for sensor
#define RELAY 9 // define pin 9 as for relay

/*
 * 
// Written by Ahmad S. for Robojax.com on 
// February 10, 2018 at 13:43 in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
 * 
 */



// LDR, Light Dependant Resistor


boolean digital = false;// set true to use digital and control the sensitivity with potentiometer on the module
                  // set to false to control with A0 value on Arduino
unsigned int LightValue = 350;// LightValue to determine
                      // at what value the relay should be ON                      

void setup() {
  // Light LDR Sensor Code by Robojax.com 20180210
  Serial.begin(9600);// setup Serial Monitor to display information
  pinMode(LIGHT, INPUT_PULLUP);// define pin as Input  sensor
  pinMode(RELAY, OUTPUT);// define pin as OUTPUT for relay
}

void loop() {

  delay(500);
  relay();// call the relay() method
 // Light LDR Sensor Code by Robojax.com 20180210
}

void relay()
{
   if(digital == true)
   {
  // Light LDR Sensor Code by Robojax.com 20180210
  int L =digitalRead(LIGHT);// read the sensor 
  
      if(L == 1){
        Serial.println(" light is ON");
        digitalWrite(RELAY,LOW);// turn the relay ON
      }else{
         Serial.println("  === light is OFF");
         digitalWrite(RELAY,HIGH);// turn the relay OFF
      } // if   
   }// if digital end
   else
   {
    int a0Value = analogRead(A0);// read A0 value
    
      if( a0Value >= LightValue){
        Serial.print(analogRead(A0));
        Serial.println(" Light is ON");
        digitalWrite(RELAY,LOW);// turn the relay ON
      }else{
         Serial.print(analogRead(A0));
         Serial.println("  === light OFF");
         digitalWrite(RELAY,HIGH);// turn the relay OFF
      } // if      
   }
}

Waad u baahan tahay

Kheyraadka & Tixraacyada

Wali wax kaydsan ah oo weli ma jiro.

Faylasha📁

Faylka Fritzing