ด้วยความรู้ง่ายๆเกี่ยวกับ Arduino และ Voltage Divider Circuit เราสามารถเปลี่ยน Arduino ให้เป็น Digital Voltmeterและสามารถวัดแรงดันไฟฟ้าขาเข้าโดยใช้ Arduino และจอ LCD 16x2
Arduino มีพินอินพุตอะนาล็อกหลายตัวที่เชื่อมต่อกับตัวแปลงอนาล็อกเป็นดิจิตอล (ADC) ภายใน Arduino Arduino ADC เป็นตัวแปลงสิบบิตซึ่งหมายความว่าค่าเอาต์พุตจะอยู่ในช่วง 0 ถึง 1023 เราจะได้รับค่านี้โดยใช้ฟังก์ชัน analogRead () หากคุณทราบแรงดันไฟฟ้าอ้างอิงคุณสามารถคำนวณแรงดันไฟฟ้าที่อินพุตอะนาล็อกได้อย่างง่ายดาย เราสามารถใช้วงจรแบ่งแรงดันเพื่อคำนวณแรงดันไฟฟ้าขาเข้า เรียนรู้เพิ่มเติมเกี่ยวกับ ADC ใน Arduino ที่นี่
แรงดันไฟฟ้าที่วัดได้จะแสดงบนจอแสดงผลคริสตัลเหลว 16x2 (LCD) เราได้แสดงแรงดันไฟฟ้าใน Serial Monitor ของ Arduino IDE และยืนยันแรงดันไฟฟ้าที่วัดได้โดยใช้มัลติมิเตอร์
ฮาร์ดแวร์ที่ต้องการ:
- Arduino uno
- 16x2 LCD (จอแสดงผลคริสตัลเหลว)
- ตัวต้านทาน 100 k โอห์ม
- ตัวต้านทาน 10 k โอห์ม
- โพเทนชิออมิเตอร์ 10 k โอห์ม
- เขียงหั่นขนม
- สายจัมเปอร์
วงจรแบ่งแรงดันไฟฟ้า:
ก่อนที่จะเข้าสู่วงจร Arduino Voltmeter นี้ให้พูดคุยเกี่ยวกับวงจรแบ่งแรงดันไฟฟ้า
ตัวแบ่งแรงดันเป็นวงจรตัวต้านทานและแสดงในรูป ในเครือข่ายตัวต้านทานนี้เรามีตัวต้านทานสองตัว ดังแสดงในรูป R1 และ R2 ซึ่งมีค่า 10k และ 100k ohm จุดกึ่งกลางของสาขาถูกนำไปวัดเป็นอินพุตแบบอนาล็อกไปยัง Arduino แรงดันตกคร่อม R2 เรียกว่า Vout นั่นคือแรงดันไฟฟ้าที่แบ่งออกจากวงจรของเรา
สูตร:
การใช้ค่าที่ทราบ (ค่าตัวต้านทานสองค่า R1, R2 และแรงดันไฟฟ้าขาเข้า) เราสามารถแทนที่ในสมการด้านล่างเพื่อคำนวณแรงดันขาออก
Vout = Vin (R2 / R1 + R2)
สมการนี้ระบุว่าแรงดันออกเป็นสัดส่วนโดยตรงกับแรงดันไฟฟ้าอินพุตและอัตราส่วนของ R1 และ R2
ด้วยการใช้สมการนี้ในรหัส Arduino แรงดันไฟฟ้าขาเข้าสามารถหาได้ง่าย Arduino สามารถวัดแรงดันไฟฟ้าอินพุต DC ที่ + 55v เท่านั้นกล่าวอีกนัยหนึ่งคือเมื่อวัด 55V ขาอนาล็อก Arduino จะอยู่ที่แรงดันไฟฟ้าสูงสุด 5V ดังนั้นจึงปลอดภัยที่จะวัดภายในขีด จำกัด นี้ ที่นี่ค่าตัวต้านทาน R2 และ R1 ถูกตั้งค่าเป็น 100000 และ 10,000 เช่นในอัตราส่วน 100: 10
แผนภาพวงจรและการเชื่อมต่อ:
การเชื่อมต่อสำหรับ Arduino Digital Voltmeter นี้ทำได้ง่ายและแสดงในแผนภาพวงจรด้านล่าง:
Pin DB4, DB5, DB6, DB7, RS และ EN ของ LCD เชื่อมต่อโดยตรงกับ Pin D4, D5, D6, D7, D8, D9 ของ Arduino Uno
จุดกึ่งกลางของตัวต้านทานสองตัว R1 และ R2 ซึ่งทำให้วงจรแบ่งแรงดันไฟฟ้าเชื่อมต่อกับ Arduino Pin A0 ในขณะที่อีก 2 ปลายเชื่อมต่อกับโวลต์อินพุต (แรงดันไฟฟ้าที่จะวัด) และ gnd
คำอธิบายการเข้ารหัส:
รหัส Arduinoแบบเต็มสำหรับการวัดแรงดันไฟฟ้ากระแสตรงมีให้ในส่วนรหัสด้านล่าง รหัสเป็นเรื่องง่ายและสามารถเข้าใจได้ง่าย
ส่วนหลักของรหัสคือการแปลงและแมปแรงดันไฟฟ้าขาเข้าที่กำหนดให้เป็นแรงดันขาออกที่แสดงโดยใช้สมการที่กำหนดข้างต้น Vout = Vin (R2 / R1 + R2) ตามที่กล่าวไว้ก่อนหน้านี้ค่าเอาต์พุต Arduino ADC จะอยู่ในช่วง 0 ถึง 1023 และแรงดันเอาต์พุตสูงสุดของ Arduino คือ 5v ดังนั้นเราจึงต้องคูณอินพุตอะนาล็อกที่ A0 ถึง 5/1024 เพื่อให้ได้แรงดันไฟฟ้าจริง
โมฆะ loop () {int analogvalue = analogRead (A0); อุณหภูมิ = (analogvalue * 5.0) / 1024.0; // สูตรที่ใช้ในการแปลง input_volt แรงดันไฟฟ้า = temp / (r2 / (r1 + r2));
ที่นี่เราได้แสดงค่าแรงดันไฟฟ้าที่วัดได้บน LCD และจอภาพอนุกรมของ Arduino ดังนั้นที่นี่ในรหัส Serial.println ใช้เพื่อพิมพ์ค่าบน Serial monitor และ lcd.print ใช้เพื่อพิมพ์ค่าบน LCD 16x2
Serial.print ("v ="); // พิมพ์ค่าแรงดันไฟฟ้าในจอภาพอนุกรม Serial.println (input_volt); lcd.setCursor (0, 1); lcd.print ("แรงดันไฟฟ้า ="); // พิมพ์ค่าแรงดันไฟฟ้าในจอ LCD lcd.print (input_voltage);
นี่คือวิธีที่เราสามารถคำนวณแรงดันไฟฟ้ากระแสตรงโดยใช้ Arduino ได้อย่างง่ายดาย ตรวจสอบวิดีโอด้านล่างสำหรับการสาธิต มันยากที่จะคำนวณแรงดันไฟฟ้ากระแสสลับโดยใช้ Arduino คุณสามารถตรวจสอบได้ที่นี่