Hallo in die Gemeinschaft, Ich bin der NEUE.
Ja, ganz neu im Feld der Mikrocontroller, jedoch etwas erfahren im Bereich der Elektronik.
Bin Lizenzierter Funkamateur und der Zufall brachte mir den Arduino Uno R3 ins Haus. Das weckt natürlich Begehrlichkeiten damit herum zuspielen. Vom Programmieren an sich habe ich nur wenig Kenntnisse, eben was man so für die Bash benötigt aber auch nichts was in die Tiefe geht.
Ich finde es eine Gute Idee mit dem Uno ein Voltmeter aufzubauen um so Zwei Spannungen gleichzeitig auf einem Display 20 x 4 auszugeben.
Allerdings wäre es hilfreich die 2.Anzeige als Millivoltmeter auszulegen.
Also um meinen Wunsch zu verdeutlichen:
U_0=5V max
############## Bargraph_0
############## Bargraph_1
U_1=0.099 max
Ich habe ein wenig Code dazu im Netz gefunden, welchen ich nach meinem Gutdünken abgeändert habe und nun möchte ich diesen erweitern, so das sich das obere Bild ergeben kann.
Hier der Code:
[code]
#include <LiquidCrystal.h>
#include <LcdBarGraph.h>
const int rs = 7, en = 8, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
byte lcdNumCols = 20; //Anzahl der Zeichen_Blöcke
byte lcdLine = 4; //Anzahl der Reihen die 20 Blöcke enthalten
byte sensorPin_0 = A0; //Pin der Spannung liefert
LcdBarGraph lbg(&lcd, 20, 0, 1); //erzeugt die Bar 20 Zeichen lang (100 Teile) Stelle 0 Zeile 1
void setup(){
lcd.begin(20,4);
lcd.clear(); //löscht alle Zeichen
lcd.setCursor (6,0); //Setzt die Position des folgenden Text
lcd.print("------"); //TEXT
lcd.setCursor (2,2); //Setzt die Position des folgenden Text
lcd.print("Voltage Bargraph"); //TEXT
delay(5000); // Anzeigendauer Text oben
lcd.clear(); // Vermeidet Artefakte in der folgenden Anzeige
}
void loop()
{
// Voltmeter an pin A0 // Min V=0.00 Max V=5,1 Z-Diode nach Masse
int inpuValue = analogRead(A0); // lese pin A0
lbg.drawValue( inpuValue, 1024); // Zeichnet den Bargraph mit <LcdBarGraph>
float voltage0 = inpuValue * (5.0 / 1023.0); // setzt die auflösung auf 10bit
lcd.setCursor (0,0); //
lcd.print("Volt:"); //
lcd.setCursor (8,0); // Siehe oben beim
lcd.print(voltage0); //
lcd.setCursor (12,0); //
lcd.print("V"); //
delay(100);
}
[/code]
Habe ich die Anweisungen alle richtig zusammengesucht?
Das Angeschlossene Display ist schon Antik, ist ein Truly aus 1998.
Ich bedanke mich schon im voraus für eure Antworten