วีดีโอ: โวลต์มิเตอร์แบบดิจิตอล Arduino: 3 ขั้นตอน
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
โวลต์มิเตอร์หรือโวลต์มิเตอร์เป็นเครื่องมือวัดที่ใช้สำหรับวัดแรงดันไฟ
เสบียง
ส่วนประกอบฮาร์ดแวร์
Arduino Uno
จอแอลซีดี - 16x2
โพเทนชิออมิเตอร์แบบหมุนเดี่ยว - 10k ohms
ตัวต้านทาน 100k โอห์ม
ตัวต้านทาน 10k โอห์ม
ส่วนประกอบซอฟต์แวร์
Arduino IDE
ขั้นตอนที่ 1: เกี่ยวกับโครงการ
การออกแบบวงจร
เพื่อเอาชนะข้อเสียของโวลต์มิเตอร์แบบแอนะล็อก เครื่องวัดโวลต์มิเตอร์แบบดิจิตอลจะนำเสนอ แทนที่จะเพียงแค่มาตราส่วนและชี้เพื่อแสดงแรงดันไฟฟ้าที่วัดได้เช่นเดียวกับโวลต์มิเตอร์แบบแอนะล็อก โวลต์มิเตอร์แบบดิจิตอลจะแสดงแรงดันไฟฟ้าที่วัดได้โดยตรงบนจอแสดงผลดิจิตอล
การออกแบบวงจรพิน 1 และพิน 2 (Vss และ Vdd) ของแหล่งจ่ายไฟ LCD เป็นพินสำหรับแสดงผล แนบไปกับกราวด์และแหล่งจ่ายไฟ +5V ตามลำดับ ขา 3 (Vee) ของ LCD เชื่อมต่อกับขั้วต่อที่ปัดน้ำฝนของ 10KΩ POT และขั้วต่ออื่นๆ ของ POT เชื่อมต่อกับแหล่งจ่ายไฟ +5V และกราวด์ตามลำดับ 3 พินถัดไปของ LCD คือพินควบคุม
พิน 4 และพิน 6 ของ LCD ต่ออยู่กับพินอินพุต/เอาต์พุตดิจิทัล 2 และ 3 ของ Arduino ตามลำดับ ขา 5 (RW) ของ LCD ติดอยู่กับพื้น ขา 15 (LED+) ของ LCD เชื่อมต่อกับแหล่งจ่ายไฟ +5V ผ่านตัวต้านทานจำกัดกระแส 220Ω ขา 16 (LED-) ของ LCD ติดอยู่กับกราวด์
เอาท์พุตของวงจรแบ่งแรงดันไฟที่ประกอบด้วยตัวต้านทาน 100KΩ และตัวต้านทาน 10KΩ ต่อเข้ากับพินอินพุตแบบอะนาล็อก A0 ของ Arduino UNO โดยที่ปลายอีกด้านของตัวต้านทาน 100KΩ ที่ต่ออยู่กับแรงดันไฟฟ้าที่จะคำนวณ และปลายอีกด้านของตัวต้านทาน 10KΩ ที่ต่ออยู่ พื้นดิน.
การทำงาน
ในโวลต์มิเตอร์แบบดิจิตอล แรงดันไฟฟ้าที่จะประมาณ ซึ่งอยู่ในรูปแบบแอนะล็อก จะถูกสลับเป็นรูปแบบดิจิทัลโดยใช้ตัวแปลงอนาล็อกเป็นดิจิทัล (ADC)
ดังนั้นจึงใช้ความเชี่ยวชาญพิเศษของ ADC ของ Arduino UNO ในโครงการนี้ ช่วงแรงดันไฟฟ้าสำหรับอินพุตอนาล็อกของ Arduino Uno คือ 0V ถึง 5V
ดังนั้น เพื่อที่จะปรับปรุงช่วงนี้ จำเป็นต้องใช้วงจรแบ่งแรงดันไฟ ด้วยความช่วยเหลือของวงจรแบ่งแรงดันไฟฟ้า แรงดันไฟฟ้าขาเข้าที่คำนวณจะถูกลดเหลือช่วงของอินพุตอนาล็อก Arduino UNO
ขั้นตอนที่ 2: เรียกใช้โปรแกรม
/*
DC โวลต์มิเตอร์
*/ #include LiquidCrystal LCD (7, 8, 9, 10, 11, 12);
int analogInput = 0;
float vout = 0.0;
วินลอย = 0.0;
float R1 = 100000.0; // ความต้านทานของ R1 (100K)
ลอย R2 = 1,0000.0; // แนวต้าน R2 (10K)
ค่า int = 0;
การตั้งค่าเป็นโมฆะ ()
{ โหมดพิน (อินพุตแบบแอนะล็อก, อินพุต);
lcd.begin(16, 2);
lcd.print ("โวลต์มิเตอร์ DC");
}
วงเป็นโมฆะ ()
{ // อ่านค่าที่ค่าอินพุตแบบอะนาล็อก = analogRead (analogInput);
vout = (ค่า * 5.0) / 1024.0;
vin = vout / (R2/(R1+R2));
ถ้า (วิน<0.09)
{ vin=0.0;//คำสั่งเพื่อยกเลิกการอ่านที่ไม่ต้องการ
lcd.setCursor(0, 1);
lcd.print("INPUT V= ");
lcd.print(vin);
ล่าช้า (500);
}
ขั้นตอนที่ 3:
เรียนรู้เพิ่มเติมเกี่ยวกับ IoT Training Online ซึ่งคุณสามารถสร้างโซลูชัน IoT สำหรับอุตสาหกรรมได้อย่างง่ายดาย