wie ihr schon in der Überschrift gelesen habt möchte ich gerne ein Messgerät bauen was den gemessen Wert ausdruckt, schön wäre es wenn ich auch ein Logo mit ausdrucken könnte.
Funktionsumfang:
Spannung messen 0-30V DC
Wert digital ausgeben (LiquidCrystal I2C 16x2)
Wert bestätigen (taster)
Wert auf Bonpapier Ausdrucken (schön wäre wenn man ein logo oben auf den bon drucken könnte*
Lösungen:
Spannung messen :
Theorie : einen 100k und 10K Widerstand in reihe schalten.
10k Widerstand an GND anschließen.
zwischen 100k und 10k am Analog Pin des Arduino anschließen.
100k Buchse an den Pluspol der Gleichspannung Messspitze.
an GND Buchse Minuspol Messspitze.
// Stromteiler-Gleichstrom-Voltmeter 0 - 30V #include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0; // Widerstandswert R1 (100K) - siehe Schaltskizze!
float R2 = 10000.0; // Widerstandswert R2 (10K) - siehe Schaltskizze!
int values = 0;
void setup() {
Serial.begin(9600); //Seriellen Monitor einbinden
pinMode(analogInput, INPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(2, 0);
lcd.print("DC-Voltmeter");
}
void loop() {
// Werte am analogen Pin lesen
values = analogRead(analogInput); //Messwerte am analogen Pin als "values" definieren
vout = (values * 5.0) / 1024.0; // Messwerte in Volt umrechnen = Spannung am Ausgang des
// Spannungsteilers mit Zuleitung zu Pin A0
vin = vout / (R2 / (R1 + R2)); // Berechnen, welche Spannung am Eingang des Spannungsteilers
// anliegt. Das entspricht der Spannung der zu untersuchenden
Batterie
if (vin < 0.09) {
vin = 0.0; // Unterdrücken unerwünschter Anzeigen
}
lcd.setCursor(0, 1);
lcd.print("Spannung: ");
lcd.print(vin);
lcd.print("V");
delay(500);
Serial.print("V= ");
Serial.println(values); // Messwerte am anologen Pin im seriellen Monitor anzeigen
}
Problem:
LCD zeigt keinen TEXT nur den Anfangs Buchstaben.
Die Spannung Wird nur Einstellig vor den Komma angezeigt.
Die Spannung gemessene Spannung ändert sich nach jeden neustart um 1-2 V.
Drucken: <--- Hier brauche ich eure Hilfe
Ein Kassenbondrucker der direkt vom Arduino aus druckt.
im besten Fall ist der Drucker ebenfalls Batterie betrieben.
welche Schnittstelle kann ich Nutzen ?
An dieser stelle Weise ich drauf hin das ich mich zwar schon einige zeit mit Arduinos befasse aber ich in C oder C+ immer noch nicht den Gesamt Umfang verinnerlicht habe. Ihr fragt euch bestimmt warum ich dann so ein Projekt anfange, die Antwort ist ziemlich simpel, ich möchte es gerne lernen und brauch Projekte um einen tieferen einblick zubekommen auf dieser art lerne ich am besten.
Ich würde mich über Hilfe und Anregungen eurer Seits freuen. Gerne auch als gemeinsames Projekt.
Das sind zu viele Baustellen an einem
Projekt, um Dir helfen zu können.
Was hältst Du von Einzelschritten?
Z.B. Spannungsmesser auf LCD.
Ohne delay()...
@HotSystems
Nartürlich hast du Recht das dieses Projekt recht anspruchsvoll ist, wie gesagt habe ich schon einige kleinere Projekte gemacht ich sag mal so wenn ich etwas nicht verstehe muss ich ja fragen ich will keine komplett Lösung haben sondern an Hand von denk Anstössen in die richtige Richtung gestoßen werden.
@Stefan
Das mit den Einzelschritten ist genau die richtige Idee.
Dann fangen wir mal so an Ich habe in mehreren Foren gelesen wie ich was auf einen Display dastellen kann.
Das problem ist folgendes:
wie man sehen kann habe ich lcd.begin(); auskommandiert, dass liegt daran das mein Display nix anzeigt wenn ich es so starten möchte.
Ich kann mich an vergangene Projekte erinnern wo ich es aber genau so gemacht habe dort hat es mit den anzeigen von text in vollen Zeilen geklappt.
Außerdem habe ich in mehren Foren gesucht wie ich dieses Display mit I2C Modul am besten verwenden kann, in diesen würde der aufbau ähnlich aussehen aber dieses mag meine Arduino IDE nicht verwenden.
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // das bewirkt zum beispiel nur eine Fehlermeldung Warum?
Das muss alles zusammen passen.
Du musst dir die Beispiele in den Libraries ansehen und danach deinen Sketch aufbauen.
Wenn du das mixt, passt es nicht.
So auch dein "lcd.begin(16,2);", das passt nicht zur verwendeten Library.
HotSystems:
Das muss alles zusammen passen.
Du musst dir die Beispiele in den Libraries ansehen und danach deinen Sketch aufbauen.
Wenn du das mixt, passt es nicht.
So auch dein "lcd.begin(16,2);", das passt nicht zur verwendeten Library.
Ich habe jetzt mal die Beispiel Lib genommen und angepasst auf mein Display:
[quote]//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1 #include <Wire.h> #include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
void setup()
{
lcd.init(); // initialize the lcd
lcd.init();
// Print a message to the LCD.
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Hello, world!");
lcd.setCursor(1,1);
lcd.print("Ywrobot Arduino!");
// lcd.setCursor(0,2); //lcd.print("Arduino LCM IIC 2004"); //lcd.setCursor(2,3); //lcd.print("Power By Ec-yuan!");
}
void loop()
{
}
das Ergebnis ist frustrierend das Display wird zwar erkannt aber das problem ist es werden immer nur die ersten Buchstaben angezeigt und nicht der ganze text.
zur info ich habe meine IDE auf 1.8.3 geupdatet
wie könnte ich das noch lösen ander Lib?
warum nur die ersten Zeichen angezeigt werden, kann an einer schlechten Lötstelle liegen.
Oder ein schlechter Kontakt an den Steckkabeln.
Zeige mal ein Bild deines Aufbaus.
Edit:
Du verwendest immer "Quote" für deine Sketche, das ist falsch und dadurch werden die schlecht lesbar.
Bitte verwende Code-Tags dafür.
Verwende dazu die Schaltfläche </> oben links im Editorfenster. Das kannst du auch nachträglich machen. Dazu den Sketch markieren und die Schaltfläche klicken.
Ich Habe mich Heute Morgen nochmal den thema LCD Display gewidmet und habe das problem behoben,
Das Problem war offensichtlich die LIB habe jetzt eine andere genommen und nun geht das Spannungs messen einwandfrei und die anzeige ist optimal. Danke noch einmal für eure Hilfe.
Nächster punkt wird der Thermo Drucker ich werde mir den einfach mal besorgen dann schauen wir mal weiter.
Glückwunsch !
An Deinen Versuchen bin ich sehr interessiert.
Dieser Anwendungszweck des Protokollierens
kommt für mich auch immer wieder.
Wusste gar nicht, dass passende Drucker
für so kleines Geld zu haben sind...
Nächster Schritt ist der Drucker ich hoffe das es mit dem Kaufe und Versand flott geht.
Ich finde es auch sehr Interessant mit den Protokollieren vor allem, weil es die heutige Zeit immer mehr zum Einsatz kommen wird. Alles muss Dokumentiert und Protokolliert werden.
Außerdem befasse ich mich einfach zu gerne mit den Arduino.