Circuit simplu ohmmetru digital Arduino

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În acest post vom construi un circuit digital simplu de ohmmetru folosind Arduino și afișaj LCD de 16x2. De asemenea, vom explora celelalte idei posibile de circuit folosind același concept.

Obiectivul circuitului

Motto-ul acestui articol nu este doar să faci un ohmmetru pentru a măsura rezistența pe care multimetrul tău o poate face mai bine la fel.



Obiectivul principal al acestui proiect este de a utiliza valoarea rezistenței citită de arduino pentru a face unele proiecte utile, de exemplu, alarma de incendiu, unde modificarea valorii rezistenței termistorului poate fi ușor detectată sau sistemul de irigare automată unde, dacă rezistența solului se ridică, microcontrolerul poate declanșa pompa de apă. Posibilitatea de proiecte depinde de imaginația ta.

Să vedem cum să facem mai întâi un ohmmetru și apoi să trecem la alte idei de circuit.



Cum functioneaza

Circuitul Ohmmetru Arduino

Circuitul este format din Arduino, puteți utiliza placa dvs. preferată Arduino, un afișaj LCD de 16x2 pentru a afișa valoarea necunoscută a rezistorului, un potențiometru pentru a regla nivelul de contrast al afișajului LCD. Se folosesc două rezistențe, dintre care unul este cunoscut cu valoarea rezistorului și altul este valoarea necunoscută a rezistorului.

Rezistența este o funcție analogică, dar valoarea afișată pe LCD este funcția digitală. Deci, trebuie să facem conversia analogică la digitală, din fericire, Arduino a încorporat convertorul analogic la digital pe 10 biți.

ADC pe 10 biți poate diferenția 1024 nivele discrete de tensiune, 5 volți se aplică la 2 rezistențe și proba de tensiune este preluată între rezistențe.

Folosind unele calcule matematice, căderea de tensiune la nod și valoarea de rezistență cunoscută pot fi interpretate pentru a găsi valoarea de rezistență necunoscută.

Ecuațiile matematice sunt scrise în program, deci nu este necesar să se facă niciun calcul manual, putem citi valoarea directă de pe ecranul LCD.

Prototipul autorului:

Prototip Ohmmetru digital Arduino

Program pentru contorul Ohm:

//-------------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--------//

NOTĂ: float R = 10000 // Valoarea cunoscută a rezistorului în ohm

Puteți modifica valoarea cunoscută a rezistenței din circuit, dar dacă faceți acest lucru, vă rugăm să schimbați și valoarea din program.

La fel ca un multimetru convențional, și acest circuit ohmmetru digital Arduino are câteva intervale pentru a măsura rezistența. Dacă încercați să măsurați un rezistor de valoare mică în intervalul de mega ohmi în multimetrul dvs., cu siguranță obțineți valori de eroare.

La fel, este valabil și pentru acest ohmmetru.

Dacă doriți să măsurați rezistența de la 1K la 50K ohm, rezistența cunoscută de 10K ohm va fi suficientă, dar dacă măsurați gama Mega ohm sau câțiva ohmi, veți obține câteva citiri ale gunoiului. Deci, este necesar să schimbați valoarea rezistorului cunoscut la un interval adecvat.

În următoarea secțiune a acestui articol, vom studia circuitul de afișare LCD pentru ohmmetru și vom vedea cum să citim valoarea senzorului (rezistență necunoscută) pe monitorul serial.

De asemenea, vom specifica valoarea pragului în program, odată ce acesta trece pragul prestabilit, Arduino va declanșa releu.

Diagrama circuitului:

Codul programului:

//-------------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--------//

NOTĂ:

• float th = 7800 // Setați pragul de rezistență în ohmi
Înlocuiți 7800 ohm cu valoarea dvs.
• float R = 10000 // Valoare cunoscută Rezistor în ohm
Înlocuiți 10000 ohm cu valoarea cunoscută a rezistorului.
• dacă (th> rezistor)

Această linie din program afirmă că, dacă rezistența senzorului scade sub valoarea pragului, ieșirea se aprinde și invers.

Dacă doriți să porniți releul atunci când citirea senzorului depășește pragul și invers, înlocuiți „dacă (treistor)”

Măsurând rezistența senzorului direct (LDR sau termistor sau orice altceva) și stabilind un prag, putem dobândi o precizie mare de control asupra releului, a LED-urilor, a motorului și a altor periferice.

Este mai bine decât comparatoarele, unde stabilim o tensiune de referință și stabilim pragul rotind o rezistență variabilă orbește pentru a realiza proiecte similare.




Precedent: Circuit controler nivel depozitare materiale Următorul: 10 circuite cu tahometru LED