User manual

59 60
7.5 AD Umsetzer und Display mit Siebensegment-Anzeige als Voltmeter
Der Wert des A/D-Umsetzers wird eingelesen und im Programm in Milivolt umgerechnet. Es ergibt sich ein
Bereich von 0 bis 5000mV. Dabei müsste man den Bereich noch kalibrieren. Es wird die Spannung am Schlei-
fer des Potentiometers angezeigt. Den Wert von 5000 wird man hier aber nicht erreichen, wenn man eine
9V Batterie verwendet. Der Spannungsteiler mit 10kOhm vom einzelnen Widerstand und den 10kOhm vom
Potentionmeter läßt nur einen kleineren Bereich von 0 bis 1/2 der Batteriespannung zu, also i.A. 4.5Volt. Da
die Eingänge des Arduino Nano nicht für mehr als 5V geeignet sind, ist diese Schutzmaßnahme nötig.
+
-
9V
1A
C 7-Segment-LED
SCL
SDA
SCL
SDA
+9V
Adr:40,44,48,4C
PCF8574 T
+9V
C 7-Segment-LED
SCL
SDA
SCL
SDA
+9V
Adr:40,44,48,4C
PCF8574 T
+9V
SCLS DA
+9V
A0
A1
Tx
Rx
PD2
SCLKMOSI
PD3
PD 6
PD 4
PD 5
PD 7
A7
A3
A2
A6
NANO
to
Br ick`R`
3,3V 5V
USB
B0
SS
MISC
B1
C
// DE_21 7segment Voltmeter
#include <Wire.h>
// 8574T
#dene i2cseg7x2alsb1 (0x40>>1)
#dene i2cseg7x2amsb1 (0x42>>1)
..... wie vorher ...
// Code neu:
void setup() { // Setup einmal
Wire.begin(); //I2C wird gebraucht
}
void loop() { // Schleifenstart
char buffer[10]; /// Umrechnung auf ASCII
int poti = analogRead(A0); // a1,a2,a3 0..1023 Hier A0
double milivolt = 0; // ZWischenvariable
milivolt = ((double)poti*5000.0)/1024.0; // Umrechnen Wert in Militvolt
sprintf(buffer,“%04d“,(int)milivolt); // Umrechnen in ASCII Code 4stellig
delay(50); // damit die Anzeige nicht so springt, sonst zu schnell
// Counter ausgeben
display_seg1x(i2cseg7x2bmsb1,buffer[0]); // msb zeichen/ LINKE Anzeige
display_seg1x(i2cseg7x2blsb1,buffer[1]); // ..
display_seg1x(i2cseg7x2amsb1,buffer[2]); // ..
display_seg1x(i2cseg7x2alsb1,buffer[3]); // lsb zeichen
}
Was passiert? Im Display wird ein Wert zwischen 0000 und
maximal 5000 angezeigt. Wenn man das Poti dreht, sollte
man fast auf 0000 kommen und maximal auf 5000. Dabei
liegt bei einer Batteriespannung von 9000mV der maximale
Anzeigewert bei 4500mV (halbe Spannung!).