Lora Uno vs. Leonardo

Hi habe mir 2 Lora Module (Ebyte E32) zugelegt und erstmal ein Chat-Programm geschrieben. Problem ist das es zwischen 2 Unos funktioniert aber nicht zwischen 2 Leonardos.
Der Leonardo kann nur senden wenn ich es zwischen Leonardo und Uno versuche. Hat jemand eine Idee
Mit freundlichen Grüßen Oli

Klar doch, der Fehler ist in Zeile 42.

Meine Glaskugel sagt daß vieleicht am Leonardo Serial1 benutzt werden muß.
Serial ist die USB Schnittstelle und Pin 0 und 1 sind Serial1.
Grüße Uwe

zwieblum:
Klar doch, der Fehler ist in Zeile 42.

Keine Ahnung was du meinst

olitews:
Keine Ahnung was du meinst

Und wir kennen Deinen Sketch nicht....

Hier ist mein Sketch

#include <SoftwareSerial.h>

SoftwareSerial loraSerial(3, 2); // TX, RX

void setup() {
Serial.begin(9600);
loraSerial.begin(9600);
}

void loop() {
if(Serial.available()>0){
String msg = Serial.readString();
loraSerial.print(msg);
Serial.println(msg);
}
if(loraSerial.available()>0){
String msg = loraSerial.readString();
Serial.println(msg);
}
delay(20);
}

Ui, hab' mich verzählt, der Fehler ist in Zeile 3.

Hier ist mein Sketch

[IRONIE] Jetzt sind wir vieeel schlauer [/IRONIE]

Was hängt an Serial und was hängt an softwareserial ( Pin 0/1 beim UNO bzw USB beim Leonardo und pin 2/3)

Grüße Uwe

Also an Pin 3 hängt der TXD Pin vom Lora und an Pin 2 hängt der RXD Pin vom Lora
Sry bin das erste mal im Forum

Serial ist der PC und Software Serial ist der Lora

uwefed:
[IRONIE] Jetzt sind wir vieeel schlauer [/IRONIE]

Was hängt an Serial und was hängt an softwareserial ( Pin 0/1 beim UNO bzw USB beim Leonardo und pin 2/3)

Grüße Uwe

Serial ist der PC den ich über USB dran habe und Software Serial ist der Lora
Im anhang ein Bild mit den PinOuts vom Lora

68747470733a2f2f7777772e6d6973636869616e74692e6f72672f77702d636f6e74656e742f75706c6f6164732f323031392f30392f7378313237382d7378313237362d776972656c6573732d6c6f72612d756172742d6d6f64756c652d73657269616c2d333030306d2d.jpg

68747470733a2f2f7777772e6d6973636869616e74692e6f72672f77702d636f6e74656e742f75706c6f6164732f323031392f30392f7378313237382d7378313237362d776972656c6573732d6c6f72612d756172742d6d6f64756c652d73657269616c2d333030306d2d.jpg

Ich sehe ganz genau deine Verkabelung … oder eher doch nicht.

(deleted)

Hier so wie auf dem Bild bloß ohne die Taster

Ok, da kann man jetzt noch stundenlng herumfeixen .. probier' einfach mal ob die Kommunikation ohne Module funktioniert, also einfach RX nach TX, TX nach RX.

Zum einen: auf dem Leonardo bräuchtest Du kein SoftwareSerial, da kann die serielle Schnittstelle an D0/D1 parallel zum USB genutzt werden. Der Leonardo hat eine native USB Schnittstelle.
Zum zweiten: Wegen der nativen Schnittstelle wird die USB-Verbindung bei jedem Sketch-Start neu aufgebaut. Das dauert eine gewisse Zeit. Nach dem Serial.begin musst Du deshalb warten bis die Verbindung steht, sonst geht auf der Schnittstelle nichts mehr:

void setup() {
  Serial.begin(9600);
  while( !Serial );     // warten auf Aufbau der USB-Verbindung (Leonardo)
  loraSerial.begin(9600);
}

zwieblum:
Ok, da kann man jetzt noch stundenlng herumfeixen .. probier' einfach mal ob die Kommunikation ohne Module funktioniert, also einfach RX nach TX, TX nach RX.

Habe jetzt mit Serial1 gearbeitet und TX nsch RX verbunden und RX nach TX (0 -> 1 und 1-> 0)
Hat Super funktioniert!! Hier noch der Sketch

void setup() {
Serial.begin(9600);
Serial1.begin(9600);
}

void loop() {
if(Serial.available()>0){
  String msg = Serial.readString();
  Serial1.print(msg);
  Serial.println(msg);
}
if(Serial1.available()>0){
  String msg = Serial1.readString();
  Serial.println(msg);
}
delay(20);
}

Hi hier meine Verkabelung
Sie ist identisch auf dem anderen Leonardo
Habe nach Serial.begin(9600);
while( !Serial ) angefügt

Sry hier ist das bild


Dort ist das Bild. (Solange es dort ist)

Wenn ich mir das Foto so anschaue, dann sehe ich 2 Dinge:

  1. Das Modul benötigt (laut Doku) 100mA der Leonardo kann offiziell nur 50mA an 3,3V
  2. Rx des Boards hängt einem einem 5V führenden Pin des Leonardo, die Boarddoku sagt 3,3V, 5V kann brennen