Пребарување код

Ардуино код и видео за модул за сензор за напон

Ардуино код и видео за модул за сензор за напон

Во ова упатство, ќе истражиме како да користиме модул за сензор за напон со Arduino. Овој проект ви овозможува да измерите влезен напон и да го прикажете на серискиот монитор, поедноставувајќи го процесот во споредба со користење дополнителни отпорници. До крајот на ова упатство, ќе имате функционална поставка што точно чита нивоа на напон.

Додека следите, ќе добиете увид и во хардверските врски и во кодот потребен за овој проект. Можете да се повикате на придружното видео на (во видео на 00:00) за дополнително појаснување на секој чекор.

Погледнете како се пресметува отпорникот и напонот тука.

Објаснување на хардверот

Главната компонента на овој проект е модулот за сензор за напон. Тој обично има три терминали: еден за излез на сигнал, еден за земја и еден за позитивен влез на напон. Пинот за сигнал се поврзува со аналогниот влез на Arduino, овозможувајќи му да чита нивоа на напон. Модулот користи коло за делење напон, составено од два отпорника, за да го намали напонот на безбедно ниво за Arduino.

При мерење на напон, критично е да се поврзе терминалот за земја на сензорот со земјата на изворот на напон што се мери. Позитивниот терминал се поврзува со точката од интерес, обезбедувајќи точни читања. Оваа едноставна поставка ја елиминира потребата за дополнителни жици и компоненти, што ја прави лесна за користење.

Детали од листот со податоци

Производител Генерички
Број на дел Модул за сензор за напон
Логички/IO напон 5 V
Напон на напојување 0–25 V
Опсег на влезен напон 0–25 V
Опсег на излезен напон 0–5 V
Влезна струја ≤ 20 mA
Пакет Модул
Белешки / варијанти Може да варира во зависност од производителот

 

  • Осигурете се дека жиците се правилно поврзани за да избегнете оштетување на Arduino или сензорот.
  • Користете стабилно напојување за да обезбедите точни читања.
  • Прилагодете ја вредноста на поместувањето во кодот за калибрација.
  • Чувајте го влезниот напон во наведените граници за да спречите оштетување.
  • За мерења на повисок напон, користете соодветни отпорници како делител на напон.

Инструкции за поврзување

Arduino wiring for Voltage sensor
Arduino wiring for Voltage sensor

За да го поврзете модулот за сензор за напон, започнете со поврзување на терминалот за земја на модулот со земјата на изворот на напон што го мерите. Следно, поврзете го терминалот за сигнал, означен како S, со аналогниот пин A0 на Arduino. Конечно, поврзете го позитивниот терминал со точката на напон што сакате да ја измерите. Негативниот терминал исто така треба да се поврзе со земјата за да се комплетира колото.

Од суштинско значење е да се осигурате дека врските со земјата се конзистентни помеѓу изворот на напон и Arduino. Ова ќе помогне во постигнување точни читања на напон. Ако треба да мерите напони повисоки од 25 волти, може да бидат потребни дополнителни отпорници за да формираат делител на напон, но за повеќето апликации, основната поставка ќе биде доволна.

Примери на код и објаснување

Кодот започнува со дефинирање на целобројна променлива наречена offset, која се користи за корекција на какви било отстапувања во читањето на напон. Функцијата setup ја иницијализира сериската комуникација со брзина на пренос од 9600, што е од суштинско значење за прикажување на читањата на напон на серискиот монитор.

int offset = 20; // поставете ја вредноста за корекција на поместувањето
void setup() {
  Serial.begin(9600); // Иницијализирај сериска комуникација
}

Во функцијата loop, кодот го чита аналогниот напон од пинот A0 и ја мапира вредноста од опсегот 0 до 1023 во опсег на напон од 0 до 2500, додавајќи го offset. Потоа го дели напонот со 100 за да добие соодветна децимална претстава.

void loop() {
  int volt = analogRead(A0); // прочитај го влезот
  double voltage = map(volt, 0, 1023, 0, 2500) + offset; // мапирај и додај поместување
  voltage /= 100; // подели со 100 за да добиеш децимални вредности
  Serial.print("Voltage: ");
  Serial.print(voltage); // отпечати го напонот
  Serial.println("V");
  delay(500); // Пауза од половина секунда
}

Оваа јамка континуирано го чита напонот и го печати на серискиот монитор на секои половина секунда. Можете да ја прилагодите вредноста на паузата за да ја промените фреквенцијата на читања по потреба.

Демонстрација / Што да очекувате

За време на демонстрацијата, ќе видите дека максималниот мерлив напон е 25 волти поради дизајнот на модулот. Ако се обидете да измерите повисоки напони, читањата ќе се заситат на 25 волти плус било какво поместување што сте го конфигурирале (во видео на 08:00). Читањата треба да бидат прилично точни, и можете да ги проверите со мултиметар за цели на калибрација.

Слики

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.
Јазик: 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);
  
  
}

Работи што можеби ќе ви требаат

Ресурси и референци

Датотеки📁

Шема

Fritzing датотека