Der Autor von Instructables unter dem Spitznamen CreativeStuff erklärt, wie auf implementiert werden soll Arduino das einfachste Ohmmeter. Dazu nimmt er ein Steckbrett vom Typ Steckbrett:
Eigentlich Arduino:
Anzeige auf HD44780 (KB1013VG6):
Jumper "dupont" oder hausgemacht:
10 kΩ variabler Widerstand mit gelöteten dünnen harten Leitungen (zum Einstellen des Bildkontrasts auf dem Display):
Ähnelt nichts? Das stimmt, alles Neue ist gut vergessen, alt. Kenner werden sich daran erinnern, was es ist und wo:
470 Ohm Dauerwiderstand:
Und das alles verbindet sich nach diesem Schema:
Da die im Fritzing-Programm kompilierten Schemata nicht sehr informativ sind, kompiliert der Assistent die Entschlüsselung:
Display Pin 1 - Common Wire
Display Pin 2 - Plus Power
Anzeige Pin 3 - Beweglicher Kontakt eines variablen Widerstands
Anzeige 4-polig - Arduino D12-Pin
Display Pin 5 - Common Wire
Anzeigestift 6 - D11 Arduino-Stift
Die Anzeigestifte 7, 8, 9, 10 sind mit nichts verbunden
Display Pin 11 - Arduino D5 Pin
Anzeige 12 Pin - Arduino D4 Pin
Display Pin 13 - Arduino D3 Pin
Display Pin 14 - Arduino D2 Pin
Display Pin 15 - Plus Power
Display Pin 16 - Common Wire
Wenn Sie das Design wiederholen, müssen Sie das Datenblatt auf dem Display untersuchen, um festzustellen, ob sich seine Basis vom Standard unterscheidet.
Der Master verbindet einen der festen Kontakte des variablen Widerstands mit dem Power Plus, den zweiten mit dem gemeinsamen Kabel. Ein Spannungsteiler besteht aus einem beispielhaften und getesteten Widerstand: dem getesteten Widerstand mit einem Ausgang zur Plusleistung und dem beispielhaften Widerstand mit einem Ausgang zum gemeinsamen Draht. Die verbleibenden nicht belegten Ausgänge beider Widerstände sind miteinander verbunden und mit dem Arduino-Pin A0 verbunden. Füllen Sie die Skizze:
#include
// LiquidCrystal (rs, sc, d4, d5, d6, d7)
Flüssigkristall-LCD (12, 11, 5, 4, 3, 2);
const int analogPin = 0;
int analogval = 0;
int vin = 5;
float buff = 0;
float vout = 0;
float R1 = 0;
float R2 = 470;
void setup () {
lcd.begin (16, 2);
}}
void loop () {
analogval = analogRead (analogPin);
if (analogval) {
buff = analogval * vin;
vout = (Buff) / 1024,0;
if (vout> 0,9) {
Buff = (vin / vout) - 1;
R1 = R2 * Buff;
lcd.setCursor (0, 0);
lcd.print ("-Resistance-");
lcd.setCursor (0, 1);
if ((R1)> 999) {
lcd.print ("");
lcd.print (R1 / 1000);
lcd.print ("K Ohm");
}}
sonst {
lcd.print ("");
lcd.print (rund (R1));
lcd.print ("Ohm");
}}
Verzögerung (1000);
lcd.clear ();
}}
sonst {
lcd.setCursor (0, 0);
lcd.print ("Widerstand einfügen");
lcd.setCursor (0, 1);
}}
}}
}}
Es wird empfohlen, den Widerstand des Referenzwiderstands sowie die Versorgungsspannung genauer zu messen (natürlich, wenn die Messung des Referenzwiderstands vorübergehend entfernt werden sollte) und die Messergebnisse dann in die entsprechenden Zeilen am Anfang der Skizze einzutragen. Nehmen Sie die Stromquelle mit guter Stabilisierung der Ausgangsspannung. Das Programm berechnet den Widerstand nach folgender Formel:
R2 = Vout * R1 / (Vin - Vout),
abgeleitet von der Formel:
Vout = Vin * R2 / (R1 + R2),
Dabei ist R1 der Modellwiderstand, R2 der gemessene Widerstand, Vin die Versorgungsspannung, Vout die Spannung am Mittelpunkt des Teilers.
Es bleibt das Steckbrett zu entfernen, alle Verbindungen durch Löten und Übertragen herzustellen hausgemacht in den Fall. In dieser Form ist dies jedoch unpraktisch, da die im Multimeter verfügbare Ohmmeterfunktion dupliziert wird. Durch Umgestalten der Skizze und Anwenden einer Präzisionsstromquelle und eines Modellwiderstands können Sie das Design beispielsweise verwenden, um die Widerstände nach Genauigkeit bei ihrer Herstellung zu sortieren. Um beim Anschließen eines Widerstands sofort Informationen darüber anzuzeigen, zu welcher der fünf Gruppen die Komponente gehört: 1, 2, 5, 10 oder 20%.