- วัสดุที่จำเป็น
- แผนภูมิวงจรรวม
- กราฟแท่ง LED
- โปรแกรม Arduino สำหรับการตรวจสอบแรงดันแบตเตอรี่:
- การทำงานของตัวบ่งชี้แรงดันแบตเตอรี่
แบตเตอรี่มีขีด จำกัด แรงดันไฟฟ้าที่แน่นอนและหากแรงดันไฟฟ้าเกินขีด จำกัด ที่กำหนดไว้ในขณะที่ชาร์จหรือคายประจุแบตเตอรี่จะได้รับผลกระทบหรือลดลง เมื่อใดก็ตามที่เราใช้โครงการที่ใช้พลังงานจากแบตเตอรี่บางครั้งเราจำเป็นต้องตรวจสอบระดับแรงดันแบตเตอรี่ว่าจำเป็นต้องชาร์จหรือเปลี่ยนหรือไม่ วงจรนี้จะช่วยคุณตรวจสอบแรงดันไฟฟ้าของแบตเตอรี่ของคุณ ตัวบ่งชี้แรงดันแบตเตอรี่ Arduinoนี้จะแสดงสถานะของแบตเตอรี่ด้วยไฟ LED ที่เรืองแสงบนกราฟแท่ง LED 10 Segmentตามแรงดันไฟฟ้าของแบตเตอรี่ นอกจากนี้ยังแสดงแรงดันแบตเตอรี่ของคุณบน LCD ที่เชื่อมต่อกับ Arduino
วัสดุที่จำเป็น
- Arduino UNO
- กราฟแท่ง LED 10 ส่วน
- จอ LCD (16 * 2)
- โพเทนชิออมิเตอร์ -10k
- ตัวต้านทาน (100ohm-10; 330ohm)
- แบตเตอรี่ (กำลังจะทดสอบ)
- การเชื่อมต่อสายไฟ
- อะแดปเตอร์ 12v สำหรับ Arduino
แผนภูมิวงจรรวม
กราฟแท่ง LED
กราฟแท่ง LED มีขนาดมาตรฐานอุตสาหกรรมและใช้พลังงานต่ำ แถบนี้แบ่งตามความเข้มของการส่องสว่าง ตัวผลิตภัณฑ์ยังคงอยู่ในเวอร์ชันที่เป็นไปตามข้อกำหนด RoHS มีแรงดันไฟฟ้าไปข้างหน้าสูงถึง 2.6v การกระจายพลังงานต่อส่วนคือ 65mW อุณหภูมิในการทำงานของกราฟแท่ง LED คือ -40 ℃ถึง 80 ℃ มีแอปพลิเคชั่นมากมายสำหรับกราฟแท่ง LED เช่นอุปกรณ์เครื่องเสียงแผงหน้าปัดและจอแสดงผลการอ่านข้อมูลดิจิตอล
พินไดอะแกรม
การกำหนดค่าพิน
โปรแกรม Arduino สำหรับการตรวจสอบแรงดันแบตเตอรี่:
สมบูรณ์รหัส Arduino และวิดีโอสาธิตจะได้รับในตอนท้ายของบทความนี้ ที่นี่เราได้อธิบายส่วนสำคัญบางส่วนของโค้ด
ที่นี่เรากำลังกำหนดไลบรารี LCD และระบุพินของ LCDที่จะใช้กับ Arduino อินพุตอะนาล็อกนำมาจากพิน A4 เพื่อตรวจสอบแรงดันไฟฟ้าของแบตเตอรี่ เราได้ตั้งค่าเป็น Float เพื่อให้ได้แรงดันไฟฟ้าสูงสุดสองทศนิยม
# รวม
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // อาร์เรย์ของหมายเลขพินที่ต่อ LED ไว้ int pinCount = 10; // จำนวนพิน (เช่นความยาวของอาร์เรย์)
การตั้งค่า LCD และพินอนาล็อก (A0, A1, A2, A3) เป็นพิน OUTPUT
การตั้งค่าเป็นโมฆะ () {Serial.begin (9600); // เปิดพอร์ตอนุกรมกำหนดอัตราข้อมูลเป็น 9600 bps lcd.begin (16, 2); //// ตั้งค่าจำนวนคอลัมน์และแถวของ LCD: pinMode (A0, OUTPUT); PinMode (A1, เอาท์พุท); PinMode (A2, เอาท์พุท); pinMode (A3, เอาท์พุท); pinMode (A4, อินพุต); lcd.print ("ระดับแรงดันไฟฟ้า"); }
ที่นี่เราสร้างฟังก์ชั่นสำหรับการใช้กราฟแท่ง LED เพื่อใช้ในลักษณะง่ายๆคุณสามารถเรืองแสง LED ได้ด้วยการตั้งโปรแกรมทีละรายการ แต่โค้ดจะยาว
โมฆะ LED_function (int stage) {สำหรับ (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } สำหรับ (int i = 1, l = 2; i <= stage; i ++, l ++) {digitalWrite (l, HIGH); // ล่าช้า (30); }} ในส่วนนี้เราได้อ่านค่าไฟฟ้าโดยใช้เข็มอนาล็อกจากนั้นเราจะแปลงค่าอนาล็อกเป็นค่าแรงดันดิจิตอลโดยใช้สูตรการแปลงอนาล็อกเป็นดิจิตอลและแสดงเพิ่มเติมบน LCD
// สูตรการแปลงสำหรับแรงดันไฟฟ้า analogValue = analogRead (A4); Serial.println (analogValue); ล่าช้า (1,000); input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("แรงดันไฟฟ้า ="); lcd.print (input_voltage); Serial.println (input_voltage); ล่าช้า (100);
ตามค่าของแรงดันไฟฟ้าขาเข้าเราได้กำหนดเงื่อนไขบางอย่างเพื่อควบคุม LED กราฟแท่ง LED เงื่อนไขที่คุณสามารถตรวจสอบด้านล่างในรหัส:
ถ้า (input_voltage <0.50 && input_voltage> = 0.00) {digitalWrite (2, HIGH); ล่าช้า (30); digitalWrite (2, ต่ำ); ล่าช้า (30); // เมื่อแรงดันไฟฟ้าเป็นศูนย์หรือต่ำไฟ LED ดวงที่ 1 จะกะพริบ} else if (input_voltage <1.00 && input_voltage> = 0.50) {LED_function (2); } else if (input_voltage <1.50 && input_voltage> = 1.00) {LED_function (3); } else if (input_voltage <2.00 && input_voltage> = 1.50) {LED_function (4); } else if (input_voltage <2.50 && input_voltage> = 2.00) {LED_function (5); } else if (input_voltage <3.00 && input_voltage> = 2.50) {LED_function (6); } else if (input_voltage <3.50 && input_voltage> = 3.00) {LED_function (7); } else if (input_voltage <4.00 && input_voltage> = 3.50) {LED_function (8);} else if (input_voltage <4.50 && input_voltage> = 4.00) {LED_function (9); } else if (input_voltage <5.00 && input_voltage> = 4.50) {LED_function (10); }}
การทำงานของตัวบ่งชี้แรงดันแบตเตอรี่
ตัวบ่งชี้แรงดันแบตเตอรี่เพียงแค่อ่านค่าจากขา Arduino Analog และแปลงเป็นค่าดิจิทัลโดยใช้สูตร Analog to Digital Conversion (ADC) Arduino Uno ADC เป็นความละเอียด 10 บิต (ดังนั้นค่าจำนวนเต็ม 0-2 ^ 10 = 1024 ค่า) ซึ่งหมายความว่ามันจะจับคู่แรงดันไฟฟ้าอินพุตระหว่าง 0 ถึง 5 โวลต์เป็นค่าจำนวนเต็มระหว่าง 0 ถึง 1023 ดังนั้นหากเราคูณอินพุต anlogValue เป็น (5/1024) เราจะได้ค่าดิจิตอลของแรงดันอินพุต เรียนรู้วิธีใช้อินพุต ADC ใน Arduino ที่นี่ จากนั้นค่าดิจิตอลจะใช้เพื่อเรืองแสงให้กับกราฟแท่ง LED ตามนั้น
ตรวจสอบการตรวจสอบระดับแบตเตอรี่อย่างง่ายโดยไม่ต้องใช้ไมโครคอนโทรลเลอร์