- Erforderliche Komponenten:
- Schaltplan:
- Arduino Uno:
- 16x2 LCD:
- Konzept des Widerstands Farbcode:
- Berechnung des Widerstands mit dem Arduino Ohm Meter:
- Code-Erklärung:
Wir finden es schwierig, Farbcodes auf Widerständen zu lesen, um ihren Widerstand zu finden. Um die Schwierigkeit zu überwinden, den Widerstandswert zu finden, werden wir mit Arduino ein einfaches Ohmmeter bauen. Das Grundprinzip dieses Projekts ist ein Voltage Divider Network. Der Wert des unbekannten Widerstands wird auf dem 16 * 2-LCD-Display angezeigt. Dieses Projekt dient auch als 16 * 2-LCD-Display, das mit Arduino verbunden ist.
Erforderliche Komponenten:
- Arduino Uno
- 16 * 2 LCD-Anzeige
- Potentiometer (1 Kilo Ohm)
- Widerstände
- Steckbrett
- Überbrückungsdrähte
Schaltplan:
Arduino Uno:
Arduino Uno ist eine Open-Source-Mikrocontroller-Karte, die auf dem ATmega328p-Mikrocontroller basiert. Es verfügt über 14 digitale Pins (von denen 6 als PWM-Ausgänge verwendet werden können), 6 analoge Eingänge, integrierte Spannungsregler usw. Arduino Uno verfügt über 32 KB Flash-Speicher, 2 KB SRAM und 1 KB EEPROM. Es arbeitet mit einer Taktfrequenz von 16 MHz. Arduino Uno unterstützt die serielle, I2C- und SPI-Kommunikation für die Kommunikation mit anderen Geräten. Die folgende Tabelle zeigt die technischen Spezifikationen von Arduino Uno.
Mikrocontroller | ATmega328p |
Betriebsspannung | 5V |
Eingangsspannung | 7-12V (empfohlen) |
Digitale E / A-Pins | 14 |
Analoge Pins | 6 |
Flash-Speicher | 32 KB |
SRAM | 2 KB |
EEPROM | 1 KB |
Taktfrequenz |
16 MHz |
16x2 LCD:
16 * 2 LCD ist ein weit verbreitetes Display für eingebettete Anwendungen. Hier finden Sie eine kurze Erläuterung der Stifte und der Funktionsweise des 16 * 2-LCD-Displays. Es gibt zwei sehr wichtige Register im LCD. Sie sind Datenregister und Befehlsregister. Das Befehlsregister wird zum Senden von Befehlen wie Löschen der Anzeige, Cursor zu Hause usw. verwendet. Das Datenregister wird zum Senden von Daten verwendet, die auf dem 16 * 2-LCD angezeigt werden sollen. Die folgende Tabelle zeigt die Pin-Beschreibung von 16 * 2 LCD.
Stift |
Symbol |
I / O. |
Beschreibung |
1 |
Vss |
- - |
Boden |
2 |
Vdd |
- - |
+ 5V Stromversorgung |
3 |
Vee |
- - |
Netzteil zur Kontrastregelung |
4 |
RS |
ich |
RS = 0 für Befehlsregister, RS = 1 für Datenregister |
5 |
RW |
ich |
R / W = 0 zum Schreiben, R / W = 1 zum Lesen |
6 |
E. |
I / O. |
Aktivieren |
7 |
D0 |
I / O. |
8-Bit-Datenbus (LSB) |
8 |
D1 |
I / O. |
8-Bit-Datenbus |
9 |
D2 |
I / O. |
8-Bit-Datenbus |
10 |
D3 |
I / O. |
8-Bit-Datenbus |
11 |
D4 |
I / O. |
8-Bit-Datenbus |
12 |
D5 |
I / O. |
8-Bit-Datenbus |
13 |
D6 |
I / O. |
8-Bit-Datenbus |
14 |
D7 |
I / O. |
8-Bit-Datenbus (MSB) |
15 |
EIN |
- - |
+ 5V für Hintergrundbeleuchtung |
16 |
K. |
- - |
Boden |
Konzept des Widerstands Farbcode:
Um den Wert des Widerstands zu identifizieren, können wir die folgende Formel verwenden.
R = {(AB * 10 c) Ω ± T%}
Wo
A = Wert der Farbe im ersten Band.
B = Wert der Farbe im zweiten Band.
C = Wert der Farbe im dritten Band.
T = Wert der Farbe im vierten Band.
Die folgende Tabelle zeigt den Farbcode der Widerstände.
Farbe |
Numerischer Wert der Farbe |
Multiplikationsfaktor (10 c) |
Toleranzwert (T) |
Schwarz |
0 |
10 0 |
- - |
Braun |
1 |
10 1 |
± 1% |
rot |
2 |
10 2 |
± 2% |
Orange |
3 |
10 3 |
- - |
Gelb |
4 |
10 4 |
- - |
Grün |
5 |
10 5 |
- - |
Blau |
6 |
10 6 |
- - |
Violett |
7 |
10 7 |
- - |
Grau |
8 |
10 8 |
- - |
Weiß |
9 |
10 9 |
- - |
Gold |
- - |
10 -1 |
± 5% |
Silber |
- - |
10 -2 |
± 10% |
Keine Band |
- - |
- - |
± 20% |
Wenn die Farbcodes beispielsweise Braun - Grün - Rot - Silber sind, wird der Widerstandswert wie folgt berechnet:
Braun = 1 Grün = 5 Rot = 2 Silber = ± 10%
Von den ersten drei Banden ist R = AB * 10 c
R = 15 · 10 + 2 R = 1500 Ω
Die vierte Bande zeigt eine Toleranz von ± 10% an
10% von 1500 = 150 Für + 10 Prozent beträgt der Wert 1500 + 150 = 1650 Ω. Für - 10 Prozent beträgt der Wert 1500 - 150 = 1350 Ω
Daher kann der tatsächliche Widerstandswert irgendwo zwischen 1350 Ω und 1650 Ω liegen.
Zur Vereinfachung gibt es hier den Widerstandsfarbcode-Rechner, bei dem Sie nur die Farbe der Ringe am Widerstand eingeben müssen und den Widerstandswert erhalten.
Berechnung des Widerstands mit dem Arduino Ohm Meter:
Die Arbeitsweise dieses Widerstandsmessers ist sehr einfach und kann anhand eines einfachen Spannungsteilernetzwerks erklärt werden, das unten gezeigt wird.
Aus dem Spannungsteilernetz der Widerstände R1 und R2, Vout = Vin * R2 / (R1 + R2)
Aus der obigen Gleichung können wir den Wert von R2 als ableiten
R2 = Vout * R1 / (Vin - Vout)
Wobei R1 = bekannter Widerstand
R2 = Unbekannter Widerstand
Vin = Spannung, die am 5-V-Pin von Arduino erzeugt wird
Vout = Spannung an R2 in Bezug auf Masse.
Hinweis: Der gewählte Wert des bekannten Widerstands (R1) beträgt 3,3 kΩ. Der Benutzer sollte ihn jedoch durch den Widerstandswert des von ihm gewählten Widerstands ersetzen.
Wenn wir also den Spannungswert über dem unbekannten Widerstand (Vout) erhalten, können wir den unbekannten Widerstand R2 leicht berechnen. Hier haben wir den Spannungswert Vout mit dem analogen Pin A0 (siehe Schaltplan) gelesen und diese digitalen Werte (0 - 1023) in Spannung umgewandelt, wie im folgenden Code erläutert.
Wenn der Wert des bekannten Widerstands viel größer oder kleiner als der unbekannte Widerstand ist, ist der Fehler größer. Es wird daher empfohlen, den bekannten Widerstandswert näher am unbekannten Widerstand zu halten.
Code-Erklärung:
Das vollständige Arduino-Programm und das Demo-Video für dieses Projekt finden Sie am Ende dieses Projekts. Der Code ist in kleine sinnvolle Abschnitte unterteilt und wird unten erläutert.
In diesem Teil des Codes definieren wir die Pins, an denen das 16 * 2-LCD-Display mit Arduino verbunden ist. Der RS- Pin von 16 * 2 LCD ist mit dem digitalen Pin 2 von Arduino verbunden. Der Enable- Pin von 16 * 2 LCD ist mit dem digitalen Pin 3 von Arduino verbunden. Datenpins (D4-D7) von 16 * 2 lcd sind mit den digitalen Pins 4,5,6,7 von Arduino verbunden.
LiquidCrystal lcd (2,3,4,5,6,7); // rs, e, d4, d5, d6, d7
In diesem Teil des Codes definieren wir einige Variablen, die im Programm verwendet werden. Vin ist die Spannung, die vom 5-V-Pin des Arduino bereitgestellt wird. Vout ist die Spannung am Widerstand R2 in Bezug auf Masse.
R1 ist der Wert des bekannten Widerstands. R2 ist der Wert des unbekannten Widerstands.
int Vin = 5; // Spannung am 5V Pin des Arduino Floats Vout = 0; // Spannung am A0-Pin des Arduino-Schwimmers R1 = 3300; // Wert des bekannten Widerstands float R2 = 0; // Wert des unbekannten Widerstands
In diesem Teil des Codes werden wir die 16 * 2-LCD-Anzeige initialisieren. Die Befehle werden an die 16 * 2-LCD-Anzeige für verschiedene Einstellungen wie Bildschirm löschen, Anzeige beim Blinken des Cursors usw. übergeben.
lcd.begin (16,2);
In diesem Teil des Codes wird die analoge Spannung am Widerstand R2 (A0-Pin) in einen digitalen Wert (0 bis 1023) umgewandelt und in einer Variablen gespeichert.
a2d_data = analogRead (A0);
In diesem Teil des Codes wird der digitale Wert (0 bis 1023) für weitere Berechnungen in Spannung umgewandelt.
buffer = a2d_data * Vin; Vout = (Puffer) / 1024,0;
Der Arduino Uno ADC hat eine Auflösung von 10 Bit (also die ganzzahligen Werte von 0 - 2 ^ 10 = 1024 Werte). Dies bedeutet, dass Eingangsspannungen zwischen 0 und 5 Volt auf ganzzahlige Werte zwischen 0 und 1023 abgebildet werden. Wenn wir also den anlogValue- Wert mit (5/1024) multiplizieren, erhalten wir den digitalen Wert der Eingangsspannung. Erfahren Sie hier, wie Sie ADC-Eingaben in Arduino verwenden.
In diesem Teil des Codes wird der tatsächliche Wert des unbekannten Widerstands unter Verwendung des oben erläuterten Verfahrens berechnet.
Puffer = Vout / (Vin-Vout); R2 = R1 * Puffer;
In diesem Teil des Codes wird der Wert des unbekannten Widerstands auf einem 16 * 2-LCD- Display gedruckt.
lcd.setCursor (4,0); lcd.print ("Ohmmeter"); lcd.setCursor (0,1); lcd.print ("R (Ohm) ="); lcd.print (R2);
Auf diese Weise können wir den Widerstand eines unbekannten Widerstands mit Arduino leicht berechnen. Überprüfen Sie auch:
- Arduino Frequenzmesser
- Arduino Kapazitätsmesser