Wa Koodu

Koodu Arduino ati Fidio fun Modulu Sensa Foliteji

Koodu Arduino ati Fidio fun Modulu Sensa Foliteji

Nínú ẹ̀kọ́ yìí, a óò ṣàwárí bí a ṣe le lo ẹ̀rọ̀ amúgbáwọ́n folti (voltage sensor module) pẹ̀lú Arduino. Iṣẹ́ yìí jẹ́ kí o lè díwọ̀n folti tí ń wọlé kí o sì fi hàn lórí ẹ̀rọ̀ ìṣàfihàn (serial monitor), tí ó rọrùn ju lílo àwọn resistor àfikún. Ní ìparí ẹ̀kọ́ yìí, o óò ní ètò tí ó ṣiṣẹ́ tí ó ń ka àwọn ipele folti déédé.

Bí o ṣe ń tẹ̀lé, o óò ní òye nípa àwọn àsopọ̀ ẹ̀rọ (hardware connections) àti kóòdù tí a nílò fún iṣẹ́ yìí. O lè wo fídíò tí ó bá mu ní (nínú fídíò ní 00:00) fún àlàyé síwájú síi lórí ìgbésẹ̀ kọ̀ọ̀kan.

Wo bí a ṣe ṣe ìṣirò resistor àti folti níbí.

Àlàyé Ẹ̀rọ

Ẹ̀rọ̀ pàtàkì nínú iṣẹ́ yìí ni ẹ̀rọ̀ amúgbáwọ́n folti. Ó sábà ní àwọn ibùdó mẹ́ta: ọ̀kan fún ìjáde àmì (signal output), ọ̀kan fún ilẹ̀ (ground), àti ọ̀kan fún ìwọlé folti rere (positive voltage input). Pínì àmì (signal pin) sopọ̀ mọ́ ìwọlé analog ti Arduino, tí ó jẹ́ kí ó ka àwọn ipele folti. Ẹ̀rọ̀ náà lo ẹ̀rọ̀ ìpín folti (voltage divider circuit), tí ó ní àwọn resistor méjì, láti dín folti kù sí ipele tí ó ṣeé ṣe fún Arduino.

Nígbà tí o bá ń díwọ̀n folti, ó ṣe pàtàkì láti sopọ̀ ibùdó ilẹ̀ ti ẹ̀rọ̀ amúgbáwọ́n sí ilẹ̀ orísun folti tí o ń díwọ̀n. Ibùdó rere sopọ̀ sí ibi tí o fẹ́ díwọ̀n, tí ó ń ṣàmúlò pé àwọn ìwọ̀n náà péye. Ètò rírọrùn yìí mú kí a má nilo àwọn okun àti ẹ̀rọ̀ àfikún, tí ó sì jẹ́ kí ó rọrùn fún olùṣàmúlò.

Àwọn Àlàyé Datasheet

Olùṣe Generic
Nọ́mbà apá Ẹ̀rọ̀ Amúgbáwọ́n Folti
Folti Logic/IO 5 V
Folti ìpèsè 0–25 V
Ìwọ̀n folti ìwọlé 0–25 V
Ìwọ̀n folti ìjáde 0–5 V
Ìwọ̀n iná ìwọlé ≤ 20 mA
Àkójọpọ̀ Module
Àwọn àkíyèsí / oríṣiríṣi Ó lè yàtọ̀ láti ọ̀dọ̀ olùṣe

 

  • Rí i pé àwọn àsopọ̀ tọ́nà láti yẹra fún ìbàjẹ́ sí Arduino tàbí ẹ̀rọ̀ amúgbáwọ́n.
  • Lo orísun agbára tí ó dúró ṣinṣin láti rí i pé àwọn ìwọ̀n péye.
  • Ṣàtúnṣe iye offset nínú kóòdù fún ìmúṣe àtúnṣe (calibration).
  • Pa folti ìwọlé mọ́ nínú àwọn ààlà tí a sọ̀tọ̀ láti yẹra fún ìbàjẹ́.
  • Fún àwọn ìwọ̀n folti gíga, lo àwọn resistor tí ó yẹ gẹ́gẹ́ bí ìpín folti.

Àwọn Ìtọ́nisọ́nà Àsopọ̀

Arduino wiring for Voltage sensor
Arduino wiring for Voltage sensor

Láti sopọ̀ ẹ̀rọ̀ amúgbáwọ́n folti, bẹ̀rẹ̀ nípa sísopọ̀ ibùdó ilẹ̀ ti ẹ̀rọ̀ náà sí ilẹ̀ orísun folti tí o ń díwọ̀n. Lẹ́yìn náà, sopọ̀ ibùdó àmì, tí a ṣàmì sí S, sí pínì analog ti Arduino A0. Ní ìparí, sopọ̀ ibùdó rere sí ibi folti tí o fẹ́ díwọ̀n. Ibùdó odi (negative terminal) yẹ kí a tún sopọ̀ sí ilẹ̀ láti parí ẹ̀yà iná (circuit).

Ó ṣe pàtàkì láti rí i pé àwọn àsopọ̀ ilẹ̀ dúró ṣinṣin láàárín orísun folti àti Arduino. Èyí yóò ràn ọ́ lọ́wọ́ láti gba àwọn ìwọ̀n folti péye. Bí o bá nílò láti díwọ̀n àwọn folti tí ó ga ju 25 volts lọ, àwọn resistor àfikún lè ṣe pàtàkì láti dá ìpín folti, ṣùgbọ́n fún ọ̀pọ̀ àwọn ìlò, ètò ìpìlẹ̀ yìí yóò tó.

Àwọn Àpẹẹrẹ Kóòdù & Ìtọ́sọ́nà

Kóòdù náà bẹ̀rẹ̀ nípa ṣíṣàlàyé onírúurú odidi (integer variable) tí a pè ní offset, tí a lò láti ṣàtúnṣe àwọn àìpé èyíkéyìí nínú ìwọ̀n folti. Ìṣiṣẹ́ setup (setup function) bẹ̀rẹ̀ ìbánisọ̀rọ̀ serial ní ìwọ̀n baud 9600, tí ó ṣe pàtàkì fún fífi àwọn ìwọ̀n folti hàn lórí ẹ̀rọ̀ ìṣàfihàn.

int offset = 20; // ṣètò iye àtúnṣe offset
void setup() {
  Serial.begin(9600); // Bẹ̀rẹ̀ ìbánisọ̀rọ̀ serial
}

Nínú ìṣiṣẹ́ loop (loop function), kóòdù ka folti analog láti pínì A0 ó sì ṣàwòrán iye náà láti ibiti 0 sí 1023 sí ibiti folti 0 sí 2500, tí ó fi offset kún un. Lẹ́yìn náà, ó pín folti náà nípa 100 láti gba ìṣàfihàn ẹ̀wàá tí ó tọ́.

void loop() {
  int volt = analogRead(A0); // ka ìwọlé
  double voltage = map(volt, 0, 1023, 0, 2500) + offset; // ṣàwòrán kí o sì fi offset kún un
  voltage /= 100; // pín nípa 100 láti gba àwọn iye ẹ̀wàá
  Serial.print("Voltage: ");
  Serial.print(voltage); // tẹ̀ folti jáde
  Serial.println("V");
  delay(500); // Dúró fún ìdajì ìṣẹ́jú
}

Loop yìí ń ka folti nígbà gbogbo ó sì ń tẹ̀ ẹ́ jáde sí ẹ̀rọ̀ ìṣàfihàn ní gbogbo ìdajì ìṣẹ́jú. O lè ṣàtúnṣe iye delay láti yí ìwọ̀n ìgbà tí a ń ka àwọn ìwọ̀n padà bí o bá nílò.

Ìṣàfihàn / Ohun tí o Lè Retí

Nígbà ìṣàfihàn, o óò rí i pé folti tí ó ga jù tí a lè díwọ̀n jẹ́ 25 volts nítorí ìṣètò ẹ̀rọ̀ náà. Bí o bá gbìyànjú láti díwọ̀n àwọn folti tí ó ga ju bẹ́ẹ̀ lọ, àwọn ìwọ̀n náà yóò kún sí 25 volts pẹ̀lú èyíkéyìí offset tí o ti ṣètò (nínú fídíò ní 08:00). Àwọn ìwọ̀n náà yẹ kí ó péye déédé, o sì lè ṣàmúlò wọn lòdì sí ẹ̀rọ̀ ìdíwọ̀n (multimeter) fún àwọn ìdí ìmúṣe àtúnṣe.

Aworan

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.
Ede: 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);
  
  
}

Ohun ti o le nilo

Orisun & itọkasi

Fáìlìs📁

Sikemi

Fayile Fritzing