Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Atmel => Konuyu başlatan: serter - 23 Haziran 2018, 13:29:06

Başlık: Arduino uno ESP8266 UART Sorunu
Gönderen: serter - 23 Haziran 2018, 13:29:06
İyi Günler arkadaşlar. ESP8266 ile arduino unoyu UART üzerinden haberleştirmek istiyorum. Küçük bir yazılım yazdım. ESP8266 ya serialden basla komutu geldiğinde 2 saniyede bir integer tipinde değişken arttıracak ve bunu arduinoya gönderecek arduino da myserial üzerinden geleni serial'e yazacak.
Sorunum şu: Serialde yazdırdığım değerler çok sağlıklı görünmüyor. Ara sıra farklı değerler gözüküyor. Bu durum neden kaynaklanıyor olabilir? Ve nasıl çözebilirim?
Devrenin bağlantısı
ESP8266 modül şeklinde
arduino Uno modül şeklinde
ESP8266 RX  -> arduino p11
ESP8266 TX  -> arduino p10
ESP8266 GND -> arduino GND
        Serial çıktısı
ESP-> Arduino  arduino serial çıktısı
    1              1
    2              2
    3              3
    4              4
    5              5
    6              5
    7              7
    8              8
    9              9
    10            9
    11            11
    12            12
    13            13
    14            41
    15            15
    16            16
    17            17
    18            81
    19            91
    20            20

// ESP8266 üzerindeki kod
#include <ESP8266WiFi.h>
int a;
String s;
int b;
void setup() {
  Serial.begin(115200);

}

void loop() {
  if(Serial.available()){
    s=Serial.readStringUntil('\r');
  }
  if(s=="basla"){
    a++;
    Serial.print(a);
    delay(2000);
  } 
}

// Arduino Uno üzerindeki kod
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX on Arduino
int a=0;
void setup() {
  Serial.begin(115200);
  mySerial.begin(115200);

}

void loop() {
  if(a==0){
    mySerial.print("basla");
    a=1;
  }
  if(mySerial.available()){
    Serial.println(mySerial.readStringUntil('\r'));
  }

}
Başlık: Ynt: Arduino uno ESP8266 UART Sorunu
Gönderen: serter - 23 Haziran 2018, 13:47:58
Baud hızını 57600'e Düşürdüm sorun çözüldü arkadaşlar. Hız arttıkça Uart'ın verimi de düşüyor modüller her ne kadar desteklesede.
Başlık: Ynt: Arduino uno ESP8266 UART Sorunu
Gönderen: 94onur94 - 23 Haziran 2018, 13:57:20
Byte olarak okuyup, stringe yüklemen daha stabil olur. readStringUntil komutunda benzer hatalar ile karşılaşmıştım.
Başlık: Ynt: Arduino uno ESP8266 UART Sorunu
Gönderen: serter - 23 Haziran 2018, 17:13:07
57600 hızında sıkıntısız 2.5 saat çalıştı sonra kapattım. Ama dediğini 115200 baud hızında denerim.
Başlık: Ynt: Arduino uno ESP8266 UART Sorunu
Gönderen: Kabil ATICI - 23 Haziran 2018, 19:55:48
Yazılımsal Serial port yerine donanımsal Serial port kullanın.

Kullandığınız illede  UNO olması gerekmiyorsa , Mega kullanın. 4 tane seri port var...