Circuit Ohmmètre Numérique Arduino simple

Essayez Notre Instrument Pour Éliminer Les Problèmes





Dans cet article, nous allons construire un simple circuit d'ohmmètre numérique utilisant Arduino et un écran LCD 16x2. Nous explorerons également les autres idées de circuits possibles en utilisant le même concept.

Objectif du circuit

La devise de cet article n'est pas seulement de fabriquer un ohmmètre pour mesurer la résistance que votre multimètre peut mieux faire de même.



L'objectif principal de ce projet est d'utiliser la valeur de résistance lue par arduino pour faire des projets utiles, par exemple, une alarme incendie, où le changement de valeur de résistance de la thermistance peut être facilement détecté ou un système d'irrigation automatique où, si la résistance du sol va haut le microcontrôleur peut déclencher la pompe à eau. La possibilité de projets dépend de votre imagination.

Voyons d'abord comment fabriquer un ohmmètre, puis passons à d'autres idées de circuits.



Comment ça fonctionne

Circuit Ohmmètre Arduino

Le circuit se compose d'Arduino, vous pouvez utiliser votre carte Arduino préférée, un écran LCD 16x2 pour afficher la valeur de résistance inconnue, un potentiomètre pour régler le niveau de contraste de l'écran LCD. Deux résistances sont utilisées, dont l'une est une valeur de résistance connue et l'autre est une valeur de résistance inconnue.

La résistance est une fonction analogique, mais la valeur affichée sur l'écran LCD est une fonction numérique. Nous devons donc effectuer une conversion analogique-numérique, heureusement, Arduino dispose d'un convertisseur analogique-numérique 10 bits intégré.

L'ADC 10 bits peut différencier 1024 niveaux de tension discrets, 5 volts sont appliqués à 2 résistances et l'échantillon de tension est prélevé entre les résistances.

À l'aide de certains calculs mathématiques, la chute de tension au nœud et la valeur de résistance connue peuvent être interprétées pour trouver la valeur de résistance inconnue.

Les équations mathématiques sont écrites dans le programme, donc aucun calcul manuel ne doit être fait, nous pouvons lire la valeur directe de l'écran LCD.

Prototype de l'auteur:

Prototype d

Programme pour Ohm mètre:

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

REMARQUE: float R = 10000 // Valeur de résistance connue en Ohm

Vous pouvez modifier la valeur de résistance connue dans le circuit, mais si vous le faites, veuillez également modifier la valeur dans le programme.

Comme un multimètre conventionnel, ce circuit d'ohmmètre numérique Arduino a également des plages pour mesurer la résistance. Si vous essayez de mesurer une résistance de faible valeur dans une plage de méga ohms dans votre multimètre, vous obtenez certainement des valeurs d'erreur.

De même, c'est vrai pour cet ohmmètre aussi.

Si vous souhaitez mesurer une résistance de 1K à 50K ohms, une résistance connue de 10K ohms sera suffisante, mais si vous mesurez une plage de méga ohms ou une plage de quelques ohms, vous obtiendrez des lectures de déchets. Il est donc nécessaire de changer la valeur de la résistance connue dans une plage appropriée.

Dans la section suivante de cet article, nous allons étudier le circuit d'affichage LCD de l'ohmmètre et nous verrons comment lire la valeur du capteur (résistance inconnue) dans le moniteur série.

Nous indiquerons également la valeur de seuil dans le programme, une fois qu'elle franchit le seuil prédéterminé, Arduino déclenchera le relais.

Schéma:

Code de programme:

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

REMARQUE:

• float th = 7800 // Règle le seuil de résistance en Ohms
Remplacez 7800 ohms par votre valeur.
• float R = 10000 // Valeur connue Résistance en Ohm
Remplacez 10000 ohms par votre valeur de résistance connue.
• if (th> résistance)

Cette ligne du programme indique que, si la résistance du capteur passe en dessous de la valeur de seuil, la sortie s'active et vice versa.

Si vous souhaitez activer le relais lorsque la lecture du capteur dépasse le seuil et vice versa, remplacez simplement «if (thresistor)»

En mesurant directement la résistance du capteur (LDR ou thermistance ou autre) et en fixant un seuil, nous pouvons acquérir une grande précision de contrôle sur relais, LED, moteur et autres périphériques.

C'est mieux que les comparateurs, où nous définissons une tension de référence et un seuil en tournant aveuglément une résistance variable pour accomplir des projets similaires.




Une paire de: Circuit de contrôleur de niveau de stockage de matériel Un article: Circuit de tachymètre à 10 LED