วงจร Arduino Digital Ohmmeter อย่างง่าย

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ในโพสต์นี้เราจะสร้างวงจรโอห์มมิเตอร์ดิจิตอลอย่างง่ายโดยใช้ Arduino และจอ LCD 16x2 นอกจากนี้เราจะสำรวจแนวคิดวงจรอื่น ๆ ที่เป็นไปได้โดยใช้แนวคิดเดียวกัน

วัตถุประสงค์ของวงจร

คำขวัญของบทความนี้ไม่ใช่แค่การสร้างโอห์มมิเตอร์เพื่อวัดความต้านทานมัลติมิเตอร์ของคุณก็สามารถทำได้ดีกว่าเช่นเดียวกัน



วัตถุประสงค์หลักของโครงการนี้คือการใช้ค่าความต้านทานที่อ่านโดย arduino เพื่อทำโครงการที่มีประโยชน์บางอย่างเช่นสัญญาณเตือนไฟไหม้ซึ่งสามารถตรวจจับการเปลี่ยนแปลงค่าความต้านทานของเทอร์มิสเตอร์ได้ง่ายหรือระบบชลประทานอัตโนมัติซึ่งหากความต้านทานของดิน ไมโครคอนโทรลเลอร์สามารถกระตุ้นปั๊มน้ำได้ ความเป็นไปได้ของโครงการขึ้นอยู่กับจินตนาการของคุณ

มาดูวิธีสร้างโอห์มมิเตอร์กันก่อนจากนั้นเราจะไปยังแนวคิดวงจรอื่น ๆ



มันทำงานอย่างไร

วงจร Arduino Ohmmeter

วงจรประกอบด้วย Arduino คุณอาจใช้บอร์ด Arduino ที่คุณชื่นชอบจอ LCD 16x2 เพื่อแสดงค่าตัวต้านทานที่ไม่รู้จักโพเทนชิออมิเตอร์เพื่อปรับระดับความคมชัดของจอ LCD ใช้ตัวต้านทานสองตัวซึ่งค่าตัวหนึ่งเป็นที่รู้จักและค่าตัวต้านทานอื่น ๆ ไม่ทราบค่าตัวต้านทาน

ความต้านทานเป็นฟังก์ชันอะนาล็อก แต่ค่าที่แสดงบน LCD เป็นฟังก์ชันดิจิตอล ดังนั้นเราจำเป็นต้องทำการแปลงอนาล็อกเป็นดิจิตอลโชคดีที่ Arduino มีตัวแปลงอนาล็อกเป็นดิจิตอล 10 บิตในตัว

ADC 10 บิตสามารถแยกความแตกต่างของระดับแรงดันไฟฟ้าที่ไม่ต่อเนื่องได้ 1024 ระดับใช้ 5 โวลต์กับตัวต้านทาน 2 ตัวและนำตัวอย่างแรงดันไฟฟ้าระหว่างตัวต้านทาน

การใช้การคำนวณทางคณิตศาสตร์บางอย่างแรงดันตกที่โหนดและค่าความต้านทานที่ทราบสามารถตีความเพื่อค้นหาค่าความต้านทานที่ไม่รู้จัก

สมการทางคณิตศาสตร์ถูกเขียนขึ้นในโปรแกรมดังนั้นไม่จำเป็นต้องทำการคำนวณด้วยตนเองเราสามารถอ่านค่าโดยตรงจากจอ LCD

ต้นแบบของผู้แต่ง:

Arduino Digital Ohmmeter Prototype

โปรแกรมสำหรับโอห์มมิเตอร์:

//-------------Program developed by R.Girish--------//
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int analogPin=0
int x=0
float Vout=0
float R=10000 //Known Resistor value in Ohm
float resistor=0
float buffer=0
void setup()
{
lcd.begin(16,2)
lcd.setCursor(0,0)
lcd.print('----OHM METER---')
}
void loop()
{
x=analogRead(analogPin)
buffer=x*5
Vout=(buffer)/1024.0
buffer=(5/Vout)-1
resistor=R*buffer
lcd.setCursor(0,1)
lcd.print('R = ')
lcd.print(resistor)
lcd.print(' Ohm')
delay(3000)
}
//-------------Program developed by R.Girish--------//

หมายเหตุ: float R = 10000 // ค่าตัวต้านทานที่รู้จักเป็นโอห์ม

คุณสามารถเปลี่ยนค่าตัวต้านทานที่รู้จักในวงจร แต่ถ้าคุณทำได้โปรดเปลี่ยนค่าในโปรแกรมด้วย

เช่นเดียวกับมัลติมิเตอร์ทั่วไปวงจรโอห์มมิเตอร์ดิจิตอล Arduino นี้ก็มีช่วงสำหรับวัดความต้านทานเช่นกัน หากคุณพยายามวัดตัวต้านทานค่าต่ำในช่วงเมกะโอห์มในมัลติมิเตอร์แน่นอนว่าคุณจะได้รับค่าความผิดพลาด

ในทำนองเดียวกันโอห์มมิเตอร์นี้ก็จริงเช่นกัน

หากคุณต้องการวัดความต้านทานตั้งแต่ 1K ถึง 50K โอห์มตัวต้านทานที่รู้จัก 10K โอห์มก็เพียงพอแล้ว แต่ถ้าคุณวัดช่วงเมกะโอห์มหรือช่วงไม่กี่โอห์มคุณจะได้รับการอ่านค่าขยะ ดังนั้นจึงจำเป็นต้องเปลี่ยนค่าของตัวต้านทานที่รู้จักเป็นช่วงที่เหมาะสม

ในส่วนถัดไปของบทความนี้เราจะศึกษาวงจรการแสดงผล LCD สำหรับโอห์มมิเตอร์และเราจะดูวิธีอ่านค่าเซ็นเซอร์ (ความต้านทานที่ไม่รู้จัก) ในจอภาพแบบอนุกรม

นอกจากนี้เราจะระบุค่า threshold ในโปรแกรมเมื่อเกินขีด จำกัด ที่กำหนดไว้ล่วงหน้า Arduino จะทริกเกอร์รีเลย์

แผนภูมิวงจรรวม:

รหัสโปรแกรม:

//-------------Program developed by R.Girish--------//
float th=7800 // Set resistance threshold in Ohms
int analogPin=0
int x=0
float Vout=0
float R=10000 //Known value Resistor in Ohm
float resistor=0
float buffer=0
int op=7
void setup()
{
Serial.begin(9600)
pinMode(op,OUTPUT)
digitalWrite(op,LOW)
}
void loop()
{
x=analogRead(analogPin)
buffer=x*5
Vout=(buffer)/1024.0
buffer=(5/Vout)-1
resistor=R*buffer
Serial.print('R = ')
Serial.print(resistor)
Serial.println(' Ohm')
if(th>resistor) // if resistance cross below threshold value, output is on, if you want opposite result use '<' //
{
digitalWrite(op,HIGH)
Serial.println('Output is ON')
delay(3000)
}
else
{
digitalWrite(op,LOW)
Serial.println('Output is OFF')
delay(3000)
}
}
//-------------Program developed by R.Girish--------//

บันทึก:

• float th = 7800 // กำหนดเกณฑ์ความต้านทานเป็นโอห์ม
แทนที่ 7800 โอห์มด้วยค่าของคุณ
• float R = 10000 // ค่าที่รู้จักต้านทานในโอห์ม
แทนที่ 10,000 โอห์มด้วยค่าตัวต้านทานที่คุณรู้จัก
• if (th> ตัวต้านทาน)

บรรทัดนี้ในโปรแกรมระบุว่าหากความต้านทานของเซ็นเซอร์ต่ำกว่าเอาต์พุตค่าเกณฑ์จะเปิดและในทางกลับกัน

หากคุณต้องการเปิดรีเลย์เมื่อการอ่านของเซ็นเซอร์สูงกว่าเกณฑ์และในทางกลับกันให้เปลี่ยน“ if (thresistor)”

ด้วยการวัดความต้านทานของเซ็นเซอร์โดยตรง (LDR หรือเทอร์มิสเตอร์หรือสิ่งอื่นใด) และตั้งค่าขีด จำกัด เราจะได้รับความแม่นยำอย่างมากในการควบคุมรีเลย์ LED มอเตอร์และอุปกรณ์ต่อพ่วงอื่น ๆ

ดีกว่าเครื่องเปรียบเทียบตรงที่เราตั้งค่าแรงดันอ้างอิงและกำหนดเกณฑ์โดยการเปลี่ยนตัวต้านทานแบบสุ่มสี่สุ่มห้าเพื่อทำโครงการประเภทเดียวกันให้สำเร็จ




คู่ของ: วงจรควบคุมระดับการจัดเก็บวัสดุ ถัดไป: 10 LED Tachometer Circuit