Hallo, Ich möchte an meinem Arduino eine Eingabe über Serial Monitor auf das Display geben. Was auch Funktioniert allerdings nur in der ersten Zeile wie bringe ich dem bei das er nach 16 Zeilen und die 2. reihe rutschen soll #include <LiquidCrystal.h> LiquidCrystal lcd(8, 9, 4, 5, 6, 7); void setup(){ // set up the LCD's number of columns and rows: lcd.begin(16, 2); // initialize the serial communications: Serial.begin(9600); } void loop() { // when characters arrive over the serial port... if (Serial.available()) { // wait a bit for the entire message to arrive delay(100); // clear the screen lcd.clear(); // read all the available characters while (Serial.available() > 0) { // display each character to the LCD lcd.write(Serial.read()); } } }
Naja die SUFU kann ich auch benutzen komm aber damit nicht weiter. hab schon einiges versucht.
marc schrieb: > hab schon einiges versucht. Dann versuch's doch mal mit LESEN. Ist ja alles schön dokumentiert, RTFM.
marc schrieb: > Naja die SUFU kann ich auch benutzen komm aber damit nicht weiter. > hab schon einiges versucht. Dann ist wohl etwas schief gelaufen. Auf der verlinkten Seite heißt es unter anderem: > lcd.setCursor(0, 0); // top left > lcd.setCursor(15, 0); // top right > lcd.setCursor(0, 1); // bottom left > lcd.setCursor(15, 1); // bottom right Das bezieht sich direkt auf ein 2x16 Display so wie du eines hast. Insofern sollte doch alles klar sein, oder wo gibt es noch Probleme?
Cube schrieb: > Das bezieht sich direkt auf ein 2x16 Display so wie du eines hast. > Insofern sollte doch alles klar sein, oder wo gibt es noch Probleme? Ich denke das Problem besteht im nicht akzeptieren wollen, dass man halt die Anzahl der ausgegebenen Zeichen mitzählen muss, damit man im richtigen Augenblick mittels lcd.setCursor() in die 2.te Zeile wechseln kann.
Hallo Cube, Mit der secCursor funktion gebe ich ihm die Zeile in die er es schreiben soll. aber anders als bei Serial.print schreibt er nicht automatisch in der nächsten zeile weiter ! Und wenn ich die print Funktion nehme dann bringt er mir im Display nur Hex werte.
Ok aber wie bringe ich dem bei das er nach 16 zeichen eine weitere Zeile nimmt ich muss doch die zeichen irgentwie mitzählen. um ihm dann zu sagen lcd.setCursor(0, 1); // bottom left
marc schrieb: > Ok aber wie bringe ich dem bei das er nach 16 zeichen eine weitere Zeile > nimmt ich muss doch die zeichen irgentwie mitzählen. um ihm dann zu > sagen > lcd.setCursor(0, 1); // bottom left Schon mal was von Variablen gehört? Die sind genau dazu gedacht, dass man sich dort drinnen Werte abspeichern kann, mit ihnen rechnen kann, sie vergleichen kann, etc.
1 | //#############################
|
2 | |
3 | int AnzahlZeichen = 0; |
4 | |
5 | //#############################
|
6 | |
7 | |
8 | void loop() |
9 | {
|
10 | // when characters arrive over the serial port...
|
11 | if (Serial.available()) { |
12 | // wait a bit for the entire message to arrive
|
13 | delay(100); |
14 | // clear the screen
|
15 | lcd.clear(); |
16 | // read all the available characters
|
17 | while (Serial.available() > 0) { |
18 | |
19 | |
20 | //#############################
|
21 | |
22 | AnzahlZeichen = AnzahlZeichen + 1; |
23 | if( AnzahlZeichen == 16 ) |
24 | ..... wechsle in die 2.te Zeile |
25 | |
26 | //#############################
|
27 | |
28 | // display each character to the LCD
|
29 | lcd.write(Serial.read()); |
30 | }
|
31 | }
|
32 | }
|
es hilft nichts: Auch wenn einem die Arduino Libraries viel abnehmen, ohne Grundkentnisse geht es nun mal nicht. Du brauchst dringend Literatur. Mit dem Übernehmen von Code-Schnipseln aus irgendwelchen windigen Tutorien ist es nun mal nicht getan.
Naja hab des jetzt genauso gemacht allerdings geht er immer direkt in zeile 2 und bringt gar keine zeichen mehr
Nee passt jetzt klappt es war ein ; zuviel Danke habt mir sehr geholfen. Schönen Feiertag noch MfG Marc
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.