- Kinakailangan na Materyal
- Diagram ng Circuit
- LED Bar Graph
- Arduino Program para sa Pagsubaybay sa Boltahe ng Baterya:
- Paggawa ng Tagapagpahiwatig ng Boltahe ng Baterya
Ang mga baterya ay mayroong tiyak na limitasyon ng boltahe at kung ang boltahe ay lampas sa mga iniresetang limitasyon habang singilin o naglalabas, ang buhay ng baterya ay maaapektuhan o mabawasan. Tuwing gumagamit kami ng isang proyekto na pinapatakbo ng baterya, kung minsan kailangan naming suriin ang antas ng boltahe ng baterya, kung kinakailangan upang singilin o mapalitan. Tutulungan ka ng circuit na ito na subaybayan ang boltahe ng iyong baterya. Ang tagapagpahiwatig ng boltahe ng Arduino na baterya na ito ay nagpapahiwatig ng katayuan ng baterya sa pamamagitan ng kumikinang na mga LED sa isang 10 Segment LED Bar Graph ayon sa boltahe ng baterya. Ipinapakita rin nito ang iyong boltahe ng baterya sa LCD na konektado sa Arduino.
Kinakailangan na Materyal
- Arduino UNO
- 10 Segment LED Bar Graph
- LCD (16 * 2)
- Potensyomiter-10k
- Resistor (100ohm-10; 330ohm)
- Baterya (upang masubukan)
- Mga kumokonekta na mga wire
- 12v adapter para sa Arduino
Diagram ng Circuit
LED Bar Graph
Ang graph ng LED bar ay nagmula sa pang-industriya na sukat na sukat na may mababang paggamit ng kuryente. Ang bar ay ikinategorya para sa maliwanag na intensity. Ang produkto mismo ay nananatili sa loob ng sumasang-ayon na bersyon ng RoHS. Mayroon itong pasulong na boltahe na hanggang sa 2.6v. Ang pagwawaldas ng kuryente bawat segment ay 65mW. Ang temperatura ng operating ng graph ng LED bar ay -40 ℃ hanggang 80 ℃. Maraming aplikasyon para sa LED bar graph tulad ng kagamitan sa Audio, mga panel ng Instrumento, at pagpapakita ng Digital readout.
Pin Diagram
I-configure ang Pin
Arduino Program para sa Pagsubaybay sa Boltahe ng Baterya:
Ang kumpletong Arduino code at Demonstration Video ay ibinibigay sa pagtatapos ng artikulong ito. Dito ipinaliwanag namin ang ilang mahahalagang bahagi ng code.
Dito, tinutukoy namin ang LCD library at tumutukoy sa mga pin ng LCD na gagamitin sa Arduino. Ang analog input ay kinuha mula sa pin A4 para sa pagsuri sa boltahe ng baterya. Itinakda namin ang halaga bilang Float upang makuha ang boltahe hanggang sa dalawang decimal.
# isama
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // isang hanay ng mga numero ng pin kung saan ang mga LED ay nakakabit na int pinCount = 10; // ang bilang ng mga pin (ibig sabihin ang haba ng array)
Ang pag-set up ng LCD at ang mga analog na pin (A0, A1, A2, A3) bilang mga OUTPUT pin.
void setup () {Serial.begin (9600); // bubukas ang serial port, nagtatakda ng rate ng data sa 9600 bps lcd.begin (16, 2); // // i-set up ang bilang ng mga haligi at hilera ng LCD: pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A2, OUTPUT); pinMode (A3, OUTPUT); pinMode (A4, INPUT); lcd.print ("Antas ng Boltahe"); }
Dito, gumawa kami ng isang pag-andar para sa paggamit ng LED bar graph na gagamitin sa isang simpleng pamamaraan, maaari mo ring mamula ang mga LED sa pamamagitan ng pag-program ng isa-isa sa kanila, ngunit ang code ay napakahaba.
void LED_unction (int stage) {para sa (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } para sa (int i = 1, l = 2; i <= yugto; i ++, l ++) {digitalWrite (l, HIGH); // pagkaantala (30); }} Sa bahaging ito, nabasa namin ang halaga ng boltahe gamit ang analog pin. Pagkatapos, pinagko-convert namin ang halagang analog sa isang halaga ng digital boltahe sa pamamagitan ng paggamit ng analog sa digital conversion formula at ipinapakita ito sa karagdagang sa LCD.
// Conversion formula for voltage analogValue = analogRead (A4); Serial.println (analogValue); pagkaantala (1000); input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("Boltahe ="); lcd.print (input_voltage); Serial.println (input_voltage); pagkaantala (100);
Ayon sa halaga ng input voltage na binigyan namin ng ilang kundisyon upang makontrol ang mga LED bar graph LEDs. Ang kundisyon na maaari mong suriin sa ibaba sa code:
kung (input_voltage <0.50 && input_voltage> = 0.00) {digitalWrite (2, HIGH); pagkaantala (30); digitalWrite (2, LOW); pagkaantala (30); // kapag ang boltahe ay zero o mababa ang ipahiwatig ng ika-1 na LED sa pamamagitan ng pagpikit} iba pa kung (input_voltage <1.00 && input_voltage> = 0.50) {LED_unction (2); } iba pa kung (input_voltage <1.50 && input_voltage> = 1.00) {LED_unction (3); } iba pa kung (input_voltage <2.00 && input_voltage> = 1.50) {LED_unction (4); } iba pa kung (input_voltage <2.50 && input_voltage> = 2.00) {LED_unction (5); } iba pa kung (input_voltage <3.00 && input_voltage> = 2.50) {LED_unction (6); } iba pa kung (input_voltage <3.50 && input_voltage> = 3.00) {LED_unction (7); } iba pa kung (input_voltage <4.00 && input_voltage> = 3.50) {LED_unction (8);} iba pa kung (input_voltage <4.50 && input_voltage> = 4.00) {LED_unction (9); } iba pa kung (input_voltage <5.00 && input_voltage> = 4.50) {LED_unction (10); }}
Paggawa ng Tagapagpahiwatig ng Boltahe ng Baterya
Basahin lamang ng Tagapagpahiwatig ng Boltahe ng Baterya ang halaga mula sa Arduino Analog pin at i-convert ito sa isang digital na halaga sa pamamagitan ng paggamit ng formula ng Analog to Digital Conversion (ADC). Ang Arduino Uno ADC ay may 10-bit na resolusyon (kaya ang mga halaga ng integer mula 0 - 2 ^ 10 = 1024 na mga halaga). Nangangahulugan ito na mai - map ang mga voltages ng pag-input sa pagitan ng 0 at 5 volts sa mga integer na halaga sa pagitan ng 0 at 1023. Kaya kung magpaparami kami ng input ng anlogValue sa (5/1024), makukuha natin ang digital na halaga ng input boltahe. Alamin dito kung paano gamitin ang input ng ADC sa Arduino. Pagkatapos ang digital na halaga ay ginagamit upang magaan ang LED bar Graph nang naaayon.
Gayundin, suriin ang simpleng Monitor sa antas ng baterya nang walang anumang Microcontroller