1 Simple Reed Contact:
Le module se compose d’un interrupteur de roseau et d’une résistance à la traction. Le commutateur Reed est un tube de verre avec des langues de contact magnétiques à l’intérieur. Si le tube de verre est déplacé dans un champ magnétique externe, les langues de contact se déplacent les unes vers les autres et ferment le contact. Ce capteur est très bien adapté pour détecter la présence d’un objet à l’intérieur duquel un aimant est localisé ou pour mesurer la vitesse lorsque l’aimant passe au-delà de l’interrupteur de roseau une fois à une révolution.
2 Reed Contact avec Le comparateur :
Le même contact roseau est utilisé ici. Contrairement au module simple, un comparateur LM393 est utilisé ici. Avantage commutation exacte et statut vert qui s’allume lorsque le contact a été fermé.
Application de la même chose que le module Reed simple. La sortie analogique est fondamentalement inutile. La sortie numérique est réglée à 0V lorsque le commutateur est fermé.
3 Capteur Hall linéaire simple :
Ce capteur utilise ce qu’on appelle l’effet Hall. Si un simple capteur Hall de courant de flux est placé dans un champ magnétique fonctionnant verticalement, la tension de sortie est proportionnelle au produit de la densité et du courant de flux magnétique.
Avec le capteur de type 48E, le courant circule parallèlement à la carte de circuit, ce qui signifie que l’aimant doit être approximatif d’en haut ou en dessous.
La tension de sortie du capteur est d’environ 2,5 V. Si l’on s’approche d’un aimant dans la direction indiquée dans l’image, la tension de sortie diminue ou augmente selon que le pôle nord ou sud des points d’aimant dans la direction du capteur de salle. Plus l’aimant est proche du capteur de réverbération, plus le changement dans la tension de sortie devient fort.En plus de la présence d’un champ magnétique, le capteur de réverbération linéaire peut également détecter la direction et la force du champ magnétique. Si un aimant se déplace parallèlement au capteur de réverbération, par exemple, en trouvant le maximum, l’aimant peut être positionné exactement en face du capteur de réverbération.
4 capteur de salle linéaire avec comparateur :
Ce module utilise également un capteur de type 48E et à la sortie analogique A0 est en grande partie le même signal qu’avec le module simple. En outre, ce module dispose d’un comparateur LM393 qui passe de la sortie numérique à LOW à partir d’une certaine valeur seuil. Il ya aussi une LED verte qui s’allume chaque fois que le seuil a été dépassé. Le potentiomètre peut être utilisé pour ajuster la sensibilité. Cependant, le comparateur ne fonctionne qu’avec une seule direction du champ magnétique. Si vous retournez le magent, le comparateur ne change pas et la sortie numérique reste sur HIGH.
5 Capteur de salle numérique :
Ce module utilise un capteur de réverbération avec commutateur de seuil intégré de type 3141. Une LED rouge est fixée au module, qui s’allume chaque fois que la sortie S va à LOW. Ce capteur ne fonctionne également que dans une direction du champ magnétique. La sensibilité est significativement plus faible qu’avec le capteur linéaire de salle 48E.
Si le capteur linéaire de la salle passe avec un certain aimant déjà à une distance de 50 mm, le capteur passe 3141 avec le même aimant seulement à une distance d’environ 10 mm.
Circuit d’essai et programme :
Le premier programme de test est destiné aux capteurs à sortie numérique. Pour les capteurs 1 et 5, nous connectons la broche du milieu à la 5V, la broche avec GND et la broche S avec D2 sur l’Arduino. Pour les modules avec comparateur (2 et 4), la broche est connectée à la broche de 5V, à la broche GND à GND et à la broche D0 à D2 sur l’Arduino.
Nous utilisons la LED interne pour l’affichage.
const byte conduit 13;
configuration vide()
activer les broches
pinMode (capteur, INPUT_PULLUP);
pinMode (led,OUTPUT);
}
boucle vide()
nous lisons l’état du capteur et
allumer la led lorsque le capteur est allumé LOW
digitalWrite (led,! digitalRead(sensor);
}
Pour les modules avec sortie analogique (3 et 4) nous utilisons le circuit suivant :
L’image montre le déplacement du module 4 avec comparateur. Pour le module simple de capteur linéaire de hall 3, nous connectons la goupille centrale avec le fil rouge, la goupille avec le fil noir et la goupille S avec le fil jaune. Le programme lit la valeur du capteur et la compare à deux seuils pour le pôle Nord et le pôle Sud. Si l’une des deux valeurs seuils est dépassée ou dépassée, les deux couleurs LED devient rouge ou vert. La valeur du capteur est également la sortie au port en série et peut être visualisée avec le traceur en série de l’IDE Arduino.
const byte nord 8; Publicité Pôle Nord
const byte poursuivi 9; Afficher pôle Sud
const int sw 50; valeur seuil relative
configuration vide()
Serial.begin(115200); Démarrer l’interface sérielle
pinMode (nord, OUTPUT);
pinMode (sued, OUTPUT);
}
boucle vide()
int val et analogRead (entrée); valeur du capteur sans champ magnétique environ 512
digitalWrite (nord, (val 'gt; (512'sw)) 562 nous montrons North
digitalWrite (sued, (val’lt; (512-sw)); -lt; 462 nous montrons Sud
Serial.print(val); Sortie des valeurs via l’interface sérielle pour le traceur
Serial.print (" ");
Serial.print(512-sw);
Serial.print (" ");
Serial.println (512-sw);
retard(100);
}
Affichage du traceur en série. On peut voir la diminution ou l’augmentation de la tension de sortie lors de l’approche de l’aimant en fonction de la direction du champ magnétique. Les lignes rouges et vertes affichent les valeurs de seuil définies.
2 commentaires
Gerald Lechner
@Tom: Am einfachsten geht das, durch Nutzung eines Interrupts. Fast jeder der Eingänge des ESP32 ist interruptfähig. Der Interrupt kann beim Übergang von 0 nach 1 oder von 1 nach 0 ausgelöst werden. Dem Interrupt wird eine Funktion zugeordnet, die immer dann aufgerufen wird, wenn das Ereignis eintritt. In dieser Funktion kann dann z.B. ein globales Flag gesetzt werden, das im Hauptprogramm ausgelesen werden kann. Wie man einen Interrupt mit dem ESP32 einrichtet und verwendet wird in zahlreichen Beiträgen im Internet beschrieben.
Tom
Ich habe eine Frage zur Nutzung des einfachen Reed-Kontaktes mit einem ESP32. Der Kontakt soll die Magnet-Wippe eines Regenmengen-Sensors auslesen. Beim Umschalten der Wippe liegt das Signal also nur sehr kurzzeitig an. Wenn der ESP gerade andere Werte wie den Luftfeuchtigkeitsmesser oder Drucksensor ausliest oder in einem Delay hängt wird das Signal nicht ausgewertet. Wie kann ich das zuverlässig auslesen? Schöne Grüße Tom