Search Code

Qodka Arduino iyo Fiidiyowga Module-ka Dareemaha Danabka

Qodka Arduino iyo Fiidiyowga Module-ka Dareemaha Danabka

Cashigarkii, waxaanu sahamin doonaa sida loo isticmaalo module-ka dareemaha danab ee Arduino. Mashruucani wuxuu kuu ogolaanayaa inaad ku cabbirto danabka gelinta oo aad ku muujiso kormeerka serial-ka, taasoo fududaynaysa habka marka la barbar dhigo isticmaalka resistors-ka dheeraadka ah. Markaad dhammayso cashigarkaan, waxaad yeelan doontaa qaab shaqeeya oo si sax ah u akhriya heerarka danabka.

Markaad raacayso, waxaad heli doontaa faham ku saabsan isku xirka qalabka iyo code-ka lagama maarmaanka u ah mashruucan. Waxaad tixraaci kartaa fiidiyowga la xidhiidha (fiidiyowga 00:00) si aad uga helto caddayn dheeri ah tallaabo kasta.

Fiiri sida resistor-ka iyo danabka loo xisaabiyo halkan.

Qalabka La Sharxay

Qaybta ugu weyn ee mashruucan waa module-ka dareemaha danab. Waxay caadi ahaan leedahay saddex terminal: mid loogu talagalay soo saarista signal-ka, mid dhulka, iyo mid danabka togan ee gelinta. Pin-ka signal-ka wuxuu ku xidhmaa gelinta analog-ga ee Arduino, taasoo u oggolaanaysa inuu akhriyo heerarka danabka. Module-ku wuxuu isticmaalaa wareeg qaybiyaha danabka, oo ka kooban laba resistor, si uu danabka ugu hoos u dhigo heer ammaan ah Arduino-ga.

Markaad cabbirto danabka, waxaa muhiim ah inaad ku xidho terminal-ka dhulka ee dareemaha dhulka isha danabka la cabbirayo. Terminal-ka togan wuxuu ku xidhmaa barta danabka aad rabto inaad cabbirto, taasoo hubinaysa akhrin sax ah. Qaabkan fudud wuxuu baabi'iyaa baahida fiilooyin iyo qaybo dheeri ah, taasoo ka dhigaysa mid sahlan isticmaalka.

Faahfaahinta Xaashida Xogta

Soo saaraha Generic
Nambarka qaybta Module-ka Dareemaha Danabka
Danabka Logic/IO 5 V
Danabka sahayda 0–25 V
Kala duwanaanshaha danabka gelinta 0–25 V
Kala duwanaanshaha danabka soo saarista 0–5 V
Qulqulka gelinta ≤ 20 mA
Baakad Module
Xusuusin / noocyo Waxay ku kala duwanaan kartaa soo saaraha

 

  • Hubi in fiilooyinka si sax ah loo xidhay si looga fogaado dhaawaca Arduino-ga ama dareemaha.
  • Isticmaal sahayda danab oo deggan si aad u hubiso akhrin sax ah.
  • Hagaaji qiimaha offset-ka ee code-ka si loo calaabiyo.
  • Ku hay danabka gelinta gudaha xadka la cayimay si looga fogaado dhaawac.
  • Qiyaasaha danabka sare, isticmaal resistors-ka ku habboon sida qaybiyaha danabka.

Habka Fiilooyinka

Arduino wiring for Voltage sensor
Arduino wiring for Voltage sensor

Si aad u xidho module-ka dareemaha danabka, ku bilow adigoo ku xidhaya terminal-ka dhulka ee module-ka dhulka isha danabka aad cabbirayso. Marka xigta, ku xidh terminal-ka signal-ka, oo lagu calaamadeeyay S, pin-ka analog-ga ee Arduino A0. Ugu dambayntii, ku xidh terminal-ka togan barta danabka aad rabto inaad cabbirto. Terminal-ka taban waa in sidoo kale lagu xidhaa dhulka si loo dhammaystiro wareegga.

Waxaa lagama maarmaan ah in la hubiyo in isku xirka dhulka uu yahay mid joogto ah inta u dhaxaysa isha danabka iyo Arduino-ga. Tani waxay kaa caawin doontaa inaad hesho akhrin sax ah oo danabka ah. Haddii aad u baahan tahay inaad cabbirto danabyo ka sareeya 25 volt, resistors-ka dheeraadka ah ayaa laga yaabaa inay loo baahdo si ay u sameeyaan qaybiyaha danabka, laakiin codsiyada badankood, qaabka aasaasiga ahi waa ku filan yahay.

Tusaalooyinka Code-ka & Sharaxaad

Code-ku wuxuu ku bilaabmaa inuu qeexo doorsoome integer ah oo la yiraahdo offset, kaas oo loo isticmaalo in lagu saxo khaladaadka akhrinta danabka. Hawsha setup-ku waxay bilaabaysaa isgaarsiinta serial-ka heerka baud-ka 9600, kaas oo lagama maarmaanka u ah in lagu muujiyo akhrinta danabka kormeerka serial-ka.

int offset = 20; // deji qiimaha saxida offset-ka
void setup() {
  Serial.begin(9600); // Bilaab isgaarsiinta serial-ka
}

Hawsha loop-ka, code-ku wuxuu akhriyaa danabka analog-ga ee pin-ka A0 wuxuuna u qaabaynayaa qiimaha inta u dhaxaysa 0 ilaa 1023 ilaa kala duwanaanshaha danabka 0 ilaa 2500, isagoo ku daraya offset. Kadib wuxuu u qaybiyaa danabka 100 si uu u helo matalaadda jajab tobanle ee ku habboon.

void loop() {
  int volt = analogRead(A0); // akhri gelinta
  double voltage = map(volt, 0, 1023, 0, 2500) + offset; // qaabee oo ku dar offset
  voltage /= 100; // u qaybi 100 si aad u hesho qiimaha jajab tobanle
  Serial.print("Voltage: ");
  Serial.print(voltage); // daabac danabka
  Serial.println("V");
  delay(500); // Dib u dhag  nus ilbiriqsi
}

Loop-kani wuxuu si joogto ah u akhriyaa danabka wuxuuna u daabacaa kormeerka serial-ka nus ilbiriqsi kasta. Waxaad hagaajin kartaa qiimaha delay-ga si aad u beddesho inta jeer ee akhrinta sida loo baahdo.

Muuqaal / Waxa Laga Filan Karo

Inta lagu jiro muujinta, waxaad arki doontaa in danabka ugu sarreeya ee la cabbiri karo uu yahay 25 volt sababtoo ah naqshadda module-ka. Haddii aad isku daydo inaad cabbirto danabyo ka sareeya, akhrintu waxay ku buuxsami doontaa 25 volt oo lagu daro offset kasta oo aad qotomisay (fiidiyowga 08:00). Akhrintu waa inay ahaataa mid si fiican u sax ah, waxaadna ku xaqiijin kartaa iyada oo la barbar dhigo multimeter-ka ujeeddooyinka calaabaynta.

Sawirro

voltage_sensor_module-2
voltage_sensor_module-2
voltage_sensor_module-3
voltage_sensor_module-3
voltage_sensor_module-4
voltage_sensor_module-4
voltage_sensor_module-6
voltage_sensor_module-6
voltage_sensor_module-top
voltage_sensor_module-top
Arduino wiring for Voltage sensor
Arduino wiring for Voltage sensor
73-This is the Arduino code and video for the voltage sensor module.
Luqadda: C++
/*
 * This is the Arduino code for a Voltage Sensor.
 * You will measure voltage using this module, which eliminates the need for extra resistors.
 * In the video, you will also learn how to measure any voltages.

 * Watch the video instruction for Arduino Voltage sensor: https://youtu.be/FaoKzi7tgME
 *  * 

 * 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.
 * 
 */
/*
 * Written by Ahmad Shamshiri for Robojax
 * on Feb 07, 2018 at 20:05, Ajax, Ontario, Canada
 */
int offset =20;// set the correction offset value
void setup() {
  // Robojax.com voltage sensor
  Serial.begin(9600);
}

void loop() {
  // Robojax.com voltage sensor
  int volt = analogRead(A0);// read the input
  double voltage = map(volt,0,1023, 0, 2500) + offset;// map 0-1023 to 0-2500 and add correction offset
  
  voltage /=100;// divide by 100 to get the decimal values
  Serial.print("Voltage: ");
  Serial.print(voltage);//print the voltage
  Serial.println("V");

delay(500);
  
  
}

Kheyraadka & Tixraacyada

Faylasha📁

Muuqaal

Faylka Fritzing