Seriellen Monitor Ausgabe immer Bildschirmweise

Hallo miteinander,

ich habe ein Paar Sachen die vom Arduino Überwacht / ausgelesen werden, jetzt würde ich mir gerne z.B. alle 10 Sekunden die Daten auf dem Seriellen Monitor ausgeben.

ich dachte mir das so das ich den vor der Ausgabe Lösche, das geht aber leider nicht :( zumindest habe ich nichts dazu gefunden im Netz :(

Daher dachte ich mir das ich immer eine bestimmte Anzahl an Leerzeilen ausgebe bevor ich meine Daten dann wider ausgebe so kann ich die dann etwas auf dem Monitor Platziren.

es soll keine Dauer Lösung sein !! sondern für dein einen Test herhalten den ich machen möchte, der geht vielleicht 1 Stunde oder vielleicht auch zwei.

Oder habe ich den Falschen Denkansatz gerade? wie ich das machen kann das meine Messwerte immer an der Selben Stelle wider ausgegeben werden?

Gruß Mücke

ich dachte mir das so das ich den vor der Ausgabe Lösche, das geht aber leider nicht :( zumindest habe ich nichts dazu gefunden im Netz

Das verbreitetste Terminal dürfte das VT100 sein.

Ob der Arduino SerialMonitor das kann, habe ich nicht getestet. Aber Putty und Dutzende andere können das. http://ascii-table.com/ansi-escape-sequences-vt-100.php

Nehm Putty.

void clear_terminal(void) {
  Serial.write(27);
  Serial.print("[2J");
  Serial.write(27);
  Serial.print("[H");
}

Hmm, eine Extra Terminal Programm wollte ich mir nicht zu legen.

wenn ich das von sschultewolter richtig verstanden habe, werden da 27 Leerzeichen eingefügt und dann kommt der text :slight_smile:

leider verstehe ich nciht wie ich die

clear_terminal(void) aufrufen kann :frowning:

daher haeb ich das mit einer taste gemacht :slight_smile:
leider schreibt er mir alles an den vorderen Bildschirmrand, scheinbar macht das der Seriele Monitor vom Ardruino unter dem Mac das nicht :frowning:

Der Mac hat selber geschätzte 2 Terminalprogramme dabei. Und es gibt geschätzt 42 weitere für den Mac.

hmm, ... Ok, ... ich kenne nur das vom Arduino IDE :fearful:

ist wahrscheinlich einfacher wenn ich das mit Leerzeilen und Lehrzeichen mache.

Da werden keine 27 Leerzeichen eingefügt. 27 ist ein Escape Befehl. Der wird zu Ansteuerung des Terminals benötigt. 2J löscht den Bildschirm und mit [H kehrt der Cursor wieder an die erste Stelle zurück. http://www.torsten-horn.de/techdocs/ascii.htm

Edit: Der "Serial Monitor" der IDE ist sehr einfach aufgebaut. Auf den kann man getrost verzichten. Wie das bei so einem Apfelbaum aussieht weiß ich nicht. Da wird sicher ein Terminal von Haus aus die Steuerbefehle unterstützen.

nach dem ich verstanden habe das du da nicht wahllos auf der Tastatur herum gehackt hast, ist mir auch aufgefallen das das ein Befehl sein könnte :grin:

ja der Arduino IDE Seriele Monitor macht das nicht, schade.

Es mag sein das man auf den verzichten könnte, es ist aber so einfach wenn man das Prog neu Hoch geladen hat schnell dort drauf zu Klicken, denn das teil schließt sich von alleine, ich muss es nur immer wider Starten, mit einem Extra Programm dafür müsste mich noch mehr Klicken und zuerst die Verbindung kappen etc. das ist mir zu viel Stress.

EDIT: der Apfelbaum ist echt Cool, alles ist im Monitor nur Tastatur und Maus ist noch außerhalb des Monitors ;-)

ne Spaß, ich habe kein Lust da so viel Programme zu nutzen alles auf einem Fleck und ab besten so viel wie Möglich Automatisiert :-)

Auf alles in einem Gerät verzichte ich freiwillig.

Muecke: EDIT: der Apfelbaum ist echt Cool, alles ist im Monitor nur Tastatur und Maus ist noch außerhalb des Monitors ;-)

Das gibts auch für Linux und Windows. Und wenn du auch noch "Maus" und Tastatur in eins haben willst, nimmste ein Notebook xD

Ich programmiere ausschließlich mit einem ISP-Programmer (mkii). Da kann ich in Putty die Console dauerhaft offen lassen. Nach dem Reset schicke ich einmal die Befehle von oben an das Terminal.

sschultewolter: Auf alles in einem Gerät verzichte ich freiwillig. Das gibts auch für Linux und Windows. Und wenn du auch noch "Maus" und Tastatur in eins haben willst, nimmste ein Notebook xD

Ich programmiere ausschließlich mit einem ISP-Programmer (mkii). Da kann ich in Putty die Console dauerhaft offen lassen. Nach dem Reset schicke ich einmal die Befehle von oben an das Terminal.

Da hast du recht, ... vor ein Paar Jahren sah das noch etwas anders aus, ... so ein Notebook ist für mich nicht so das wahre, Monitor zu nah bei mir, .. Tastatur zu klein, .. und das Mauspet vorne dran da komme ich immer mit dem Handballen drauf dann schreibe ich auf einmal an ganz anderen Stellen wie gewollt :angry:

ISP-Programmer (mkii), was auch immer das ist, ... habe bei Rechelt da was gesehen, ... kann ich damit mein Programm verändern das auf dem Arduino Läuft ohne das ich den Seriellen Monitor Stoppen muss und neu Starten muss?

AVRISP mkii

Ist bei Reichelt immer etwas doof den herauszusuchen. Wieso auch immer. Scheint auch wieder etwas teurer geworden zu sein. Das ist der orginale Programmer von Atmel für die ISP Schnittstelle des Arduinos.

http://www.reichelt.de/Programmer-Entwicklungstools/AT-AVR-ISP/3/index.html?&ACTION=3&LA=2&ARTICLE=45040&GROUPID=2969&artnr=AT+AVR+ISP

Nunja... Eine jede Medaille hat zwei (oder mehr) Seiten.

ohne das ich den Seriellen Monitor Stoppen muss und neu Starten muss?

Die IDE schaltet den Seriellen Monitor ab beim Hochladen, egal ob über den Bootloader, oder ISP Adapter.

Putty, oder ein anderer Monitor würde auf bleiben.

Du verlierst allerdings jedes mal beim hochladen über ISP deinen Bootloader. Die Fuses bleiben aber weiter auf Bootloader Nutzung stehen. Das kann/wird zu Problemen führen, wenn du die Fuses nicht umstellst.

@sschultewolter: He he, genau das teil das du verlinkt hast habe ich Anhieb bei Reichelt gesehen. :sunglasses:

so ganz leuchtet mir das aber noch nicht so richtig ein, der ARDUINO kann über den USB Anschluss (Serielle Schnittelle) Programmiert werden? es kann aber auch über den ICSP das Programm aufgespielt werden, arbeite ich dann immer noch mit der Arduino IDE? oder muss ich dann ein anderes Programm verwenden?

mir gefällt bis auf ein paar Macken die Arduino IDE, denn ich Starte die IDE muss eigentlich nichts einstellen bis auf Bord und Port und es kann los gehen, z.B. Eclipse muss ich gefüllte 1. Milliarde Dinge installieren einstellen usw,. bis ich mal anfangen kann, das ist mir zu viel und zu umständlich, ich brauche eine Software die ich Installiere und alles geht. :)

Die IDE schaltet den Seriellen Monitor ab beim Hochladen, egal ob über den Bootloader, oder ISP Adapter.

jedoch nicht alle, hatte das Problem auf einem WIN Rechner mal da hatte ich einen Anderen Seriellen Monitor genutzt bzw. getestet, und da musste ich dann die Verbindung erst Kappen und dann das Prog hoch laden und dann die Verbindung zum Monitor wider Starten, das war und ist mir zu viel, ...

Du verlierst allerdings jedes mal beim hochladen über ISP deinen Bootloader.

was verliere ich? mein Kopf ist angewachsen den muss ich zum Glück nicht suchen, ... ne Spaß, was ist der Bootloader muss ich denn dann immer wieder neu Installieren? danach? oder ist das das teil das ich auch mit dem USB Kabel das Prog hoch laden kann?

Die Fuses bleiben aber weiter auf Bootloader Nutzung stehen.

ja ne Klar, ein Apfel ist unten Dick und oben Dünn .... ach ne das war die Birne, keine Ahnung was du mir gerade sagen möchtest, ... ich außerdem auch nicht mit dem Beispiel :-[ :D

Zu meinem Problem den Seriellen Monitor zu Leeren, habe eine Lösung gefunden.

Da ich ja 5 Schieblehren, 1 Waage und 1 Gyrosensor

deren daten alle 5 Sekunden ausgegeben werden zur Info, und auf Tastendruck unter 2 Sekunden die Daten aller Geräte gesichert werden sollen und auf Tastendruck über 2 Sekunden alle Gesicherten Daten auf dem Seriellen Monitor ausgegeben werden sollen,

habe ich mir überlegt alles in eine Tabelle zu schreiben, alle 20 Zeilen las ich die Kopfzeile erneut ausgeben und am ende der Zeile habe ich einen Status, in dem Steht dann "Info" wenn eine automatische Ausgabe erfolgt, oder "gesichert" wenn der Datensatz gesichert wurde, udn bei der Ausgabe der gesicherten Daten wird die Tabelle unterbrochen mit einer Reihe "****"

so kann ich immer erkenne was was ist :-) und ich bin der Aufgabe des Leeren des Seriellen Monitors Herr geworden :grin:

Muecke: @sschultewolter: He he, genau das teil das du verlinkt hast habe ich Anhieb bei Reichelt gesehen. :sunglasses:

so ganz leuchtet mir das aber noch nicht so richtig ein, der ARDUINO kann über den USB Anschluss (Serielle Schnittelle) Programmiert werden? es kann aber auch über den ICSP das Programm aufgespielt werden, arbeite ich dann immer noch mit der Arduino IDE? oder muss ich dann ein anderes Programm verwenden?

Ja, du arbeitest dann immer noch mit der IDE. Der mkii wird auch von der IDE direkt supportet. Der Bootloader geht dir verloren, Fuses müssen nicht zwingend geändert werden. Du kannst danach nur keinen Sketch mehr direkt per USB draufladen (Bootloader brennen (in der IDE) macht dieses wieder möglich).

Die Serielle Schnittstelle gehorcht dir dann immernoch, nur wirst du vermutlich nicht den Serial Monitor aus der IDE nutzen, da der Port des mkii nicht identisch mit der Seriellen Schnittstelle des 16U2 ist. Das ist aber nicht umbedingt als Nachteil zu sehen. Putty oder andere Terminals sind bei weitem besser und belegen kaum Platz.

Fuses müssen nicht zwingend geändert werden.

Zwingend vielleicht nicht, weil -1 ein ungültiger Opcode ist und dieser wie NOOP behandelt wird.

Die richtigen, und dann völlig überraschenden, Probleme fangen an, wenn der Sketch bis in den Bootloaderbereich ragt. Dann wird bei jedem Reset mitten in den Code gesprungen. :grin: eine selbst gebastelte Falle-Schnapp :grin:

Also, auch wenn Muecke sich lustig macht und du es für überflüssig hältst, mein Tipp: Sei konsequent! Wenn du den Bootloader tötest, dann passe auch die Fuses an. Sonst ist es unsauber. Und wir wollen doch nicht hier im Forum unsaubere Dinge lehren. Geschweige denn selber unsauberes lernen und uns daran gewöhnen. Oder zuhause selber unsaubere Dinge tun.

Dabei ist es für eine kundige Person ein leichtes, in die boards.txt, ein Board einzuführen, welches die richtigen Fuses gesetzt hat. Und am wichtigsten: Das tut gar nicht weh.

Zusammenfassung: Auch wenn es zufälliger weise, oder auf Grund einer Gnade des Herstellers, meistens funktioniert. ist es dennoch falsch die Fuses auf Bootloaderbetrieb stehen zu lassen. So und jetzt höre ich auf zu nörgeln und lasse euch in in Ruhe in euer Unglück rennen, wenn ihr das denn unbedingt wollt.

Danke für die Antworten, schon bin ich etwas Schlauer geworden, danke.

Jedoch glaube ich nicht das ich mir so ein Teil zulegen werde,

Es ist einfach zu Bequem, das teil mit dem USB Kabel zu verbinden und alles in der einen IDE zu haben, die Siht auch noch auf WIN und MAC gleich aus :-) perfekt für mich ... ;-)

Oder zuhause selber unsaubere Dinge tun.

Hmm, das würde ich so nicht unterschreiben, .... :grin: :sleeping: :smiling_imp: