INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Bluetooth refresh der Seite
25.09.2016, 20:25
Beitrag #1
Bluetooth refresh der Seite
Moin,

ich brauche etwas Hilfe :

Hab mit dem UNO eine Bluetooth Verbindung am laufen.

Auf dem Handy ist Blue Term (Android) installiert.

Wenn der Arduino UNO nun Daten schickt flackert die Zeile immer.
Der Code ist im Programm :

Serial.write(27); // ESC command
Serial.print("[2J"); // clear screen command
Serial.write(27);
Serial.print("[H"); // cursor to home command

Gibt es dafür eine andere Lösung ?

Schön wäre es wenn nur der Wert sich ändern würde aber eben ohne Flackern

Gruß Carsten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.09.2016, 20:53
Beitrag #2
RE: Bluetooth refresh der Seite
Was bitte soll das sein ?

Welche Zeile flackert ?

Wenn wir dir helfen sollen, musst du den kompletten Sketch posten.
Der Fehler liegt meist in den geheimen Teilen.
Poste den Sketch in Code-Tags, damit wir den richtig lesen können.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.09.2016, 21:53 (Dieser Beitrag wurde zuletzt bearbeitet: 26.09.2016 01:01 von Bitklopfer.)
Beitrag #3
RE: Bluetooth refresh der Seite
Zitat:Welche Zeile flackert ?

Na die 1. Zeile.

Code:
#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>
/* interrupt routine for Rotary Encoders


   The average rotary encoder has three pins, seen from front: A C B
   Clockwise rotation A(on)->B(on)->A(off)->B(off)
   CounterCW rotation B(on)->A(on)->B(off)->A(off)

   and may be a push switch with another two pins, pulled low at pin 8 in this case
  

*/

// usually the rotary encoders three pins have the ground pin in the middle
enum PinAssignments {
  encoderPinA = 2,    // right (labeled DT on our decoder, yellow wire)
  encoderPinB = 3,    // left (labeled CLK on our decoder, green wire)
  clearButton = 12    // switch (labeled SW on our decoder, orange wire)
// connect the +5v and gnd appropriately
};

volatile unsigned int encoderPos = 32;  // a counter for the dial
unsigned int lastReportedPos = 1;   // change management
static boolean rotating=false;      // debounce management

// interrupt service routine vars
boolean A_set = false;              
boolean B_set = false;


LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address

// Bluetooth Initialisierung
SoftwareSerial mySerial (5, 6); //RX, TX

//#include <LiquidCrystal.h>
//LiquidCrystal lcd(9, 8, 7, 6, 5, 4);

void setup() {

  pinMode(encoderPinA, INPUT_PULLUP); // new method of enabling pullups
  pinMode(encoderPinB, INPUT_PULLUP);
  pinMode(clearButton, INPUT_PULLUP);

// encoder pin on interrupt 0 (pin 2)
  attachInterrupt(0, doEncoderA, CHANGE);
// encoder pin on interrupt 1 (pin 3)
  attachInterrupt(1, doEncoderB, CHANGE);

  Serial.begin(9600);  // output

  mySerial.begin(9600);


// Initialisierung und Displaytest
///////////////////////////////////
//lcd.begin(16, 2);
lcd.begin(20, 4);
lcd.setCursor(0, 0);
lcd.print("Init Display");
delay (200);
lcd.setCursor(0, 1);
for (int countlcd = 0; countlcd < 10; countlcd++)
  {
    lcd.print(".");
    delay(30);
  }
lcd.print("Ready!");
delay (500);
lcd.clear();
delay (100);
  
}

// main loop, work is done by interrupt service routines, this one only prints stuff
void loop() {
  rotating = true;  // reset the debouncer

  if (lastReportedPos != encoderPos) {
    Serial.print("Index:");
    Serial.println(encoderPos, DEC);
    lastReportedPos = encoderPos;
  }
  if (digitalRead(clearButton) == LOW )  {
    encoderPos = 16;
  }


//lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Leistung: ");if (encoderPos<10) lcd.print(" ");lcd.print(encoderPos);lcd.print("A");

//mySerial.write(27);       // ESC
//mySerial.print("[H");     // cursor to home

mySerial.print("\033[H\033[J");     // cursor to home
mySerial.print("Leistung: ");if (encoderPos<10) mySerial.print(" ");mySerial.print(encoderPos);mySerial.print("A");

delay(50);  

}

// Interrupt on A changing state
void doEncoderA(){
  // debounce
  if ( rotating ) delay (1);  // wait a little until the bouncing is done

  // Test transition, did things really change?
  if( digitalRead(encoderPinA) != A_set ) {  // debounce once more
    A_set = !A_set;

    // adjust counter + if A leads B
    if ( A_set && !B_set && encoderPos>0)
      encoderPos -= 1;

    rotating = false;  // no more debouncing until loop() hits again
  }
}

// Interrupt on B changing state, same as A above
void doEncoderB(){
  if ( rotating ) delay (1);
  if( digitalRead(encoderPinB) != B_set ) {
    B_set = !B_set;
    //  adjust counter + 1 if B leads A
    if( B_set && !A_set && encoderPos<32)
      encoderPos += 1;

    rotating = false;
  }
}
...Tabletts sind halt nur zum servieren gut..Big Grin
lgbk


Angehängte Datei(en)
.ino  Encoder_von_0-32_drehen.ino (Größe: 3,41 KB / Downloads: 5)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.09.2016, 22:03
Beitrag #4
RE: Bluetooth refresh der Seite
(25.09.2016 21:53)kaimaik schrieb:  Na die 1. Zeile.
Welche 1. Zeile und wo ?

Und den Sketch hier posten nicht anhängen.
Ich kann diesen im Tablet nicht öffnen.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.09.2016, 08:42
Beitrag #5
RE: Bluetooth refresh der Seite
//mySerial.write(27); // ESC
//mySerial.print("[H"); // cursor to home

mySerial.print("\033[H\033[J"); // cursor to home
mySerial.print("Leistung: ");if (encoderPos<10) mySerial.print(" ");mySerial.print(encoderPos);mySerial.print("A");


Die Zeile mit "Leistung........"
ist die 1. Zeile und diese Flackert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.09.2016, 10:36
Beitrag #6
RE: Bluetooth refresh der Seite
(26.09.2016 08:42)kaimaik schrieb:  //mySerial.write(27); // ESC
//mySerial.print("[H"); // cursor to home

mySerial.print("\033[H\033[J"); // cursor to home
mySerial.print("Leistung: ");if (encoderPos<10) mySerial.print(" ");mySerial.print(encoderPos);mySerial.print("A");


Die Zeile mit "Leistung........"
ist die 1. Zeile und diese Flackert

Die flackert, da du die Zeile in der Loop ständig (alle 50 ms) aktualisierst.

Texte, die sich nicht ändern, solltest du nur einmalig übertragen und nur nach einer Änderung erneut senden bzw. schreiben. Dann gibt es kein flackern.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.09.2016, 15:51 (Dieser Beitrag wurde zuletzt bearbeitet: 26.09.2016 19:40 von kaimaik.)
Beitrag #7
RE: Bluetooth refresh der Seite
Ah.
Ok ich werde das nachher mal probieren.

Wie müsste der Code denn richtig aussehen ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.10.2016, 22:05
Beitrag #8
RE: Bluetooth refresh der Seite
Wie müsste der Code denn aussehen ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Menü über Bluetooth Eingabe abwarten anwo 4 503 18.10.2016 08:59
Letzter Beitrag: Lolliball
  Bluetooth HC 05 Sascha 2 1.236 18.10.2016 08:57
Letzter Beitrag: Lolliball
Rainbow Bluetooth Arduino - Arduino Bluetooth ChrisBeer222 6 1.287 26.09.2016 21:40
Letzter Beitrag: Bitklopfer
  Hilfe gesucht. Webserver Statsiche und Dynamische HTMl Seite b3ta 11 451 22.08.2016 08:07
Letzter Beitrag: b3ta
Question HC-05 zu Android Bluetooth Geschwindigkeit Test Kai H. 0 379 24.01.2016 20:41
Letzter Beitrag: Kai H.
  Problem Wiederholung eines Case im Switch via Bluetooth Ecki1212 6 901 16.09.2015 23:06
Letzter Beitrag: Ecki1212
  IR Bluetooth oder.... bergfrei 8 1.284 20.08.2015 19:49
Letzter Beitrag: bergfrei
  Hilfe bei SoftwareSerial und Bluetooth scritch 3 851 14.06.2015 07:48
Letzter Beitrag: Thorsten Pferdekämper
  PHP Seite aufrufen bei Bewegung platinenmaxe 1 657 27.02.2015 14:11
Letzter Beitrag: rkuehle
  Arduino via Bluetooth auf Smartphone EffArr 3 1.071 05.02.2015 09:10
Letzter Beitrag: Thorsten Pferdekämper

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste