- 3D-Druck Einstieg und Tipps         
Seite 3 von 8 ErsteErste 12345 ... LetzteLetzte
Ergebnis 21 bis 30 von 74

Thema: Serielle Kommunikation zwischen Arduino Uno R3 und NodeMCU 12-E

  1. #21
    HaWe
    Gast
    Anzeige

    E-Bike
    Zitat Zitat von fcn200 Beitrag anzeigen
    Habe ich bereits, auch mit Massekabel.
    ergebnis bleibt das selbe, kein Datenempfang beim NodeMCU Board..
    dann poste mal deinen genauen Code für beide Boards (in code tags), dann muss moppi gucken, denn der code äuft ja bei ihm - oder ggf jemand anderes, der sich da auskennt.

  2. #22
    Neuer Benutzer Öfters hier
    Registriert seit
    01.04.2019
    Beiträge
    25
    Zitat Zitat von HaWe Beitrag anzeigen
    dann poste mal deinen genauen Code für beide Boards (in code tags), dann muss moppi gucken, denn der code äuft ja bei ihm - oder ggf jemand anderes, der sich da auskennt.
    NodeMCU:
    Code:
    #include <SoftwareSerial.h>
    SoftwareSerial NodeMCU (4,5);
    void setup(){
    Serial.begin(9600);
    NodeMCU.begin(4800);
    }
    
    void loop(){
           while(NodeMCU.available()){
                 float f = NodeMCU.parseFloat();
                 Serial.println(f);
           }
    }

    Arduino:
    Code:
    #include <SoftwareSerial.h>
    SoftwareSerial ArduinoUno(3,2);
    
    void setup(){
       Serial.begin(9600);
       ArduinoUno.begin(4800);
    }
    
    void loop(){
         float i = 10;
         Serial.println(i);
         ArduinoUno.print(i);
         delay(1000);
    }

  3. #23
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    Code:
    void loop(){
           while(NodeMCU.available()){
                 float f = NodeMCU.parseFloat();
                 Serial.println(f);
           }
    }
    Da gruselt es mir, das ist eine klassische Falle für ein deadlock

    "never ever loop in loop() without escape route"

    mach da mal lieber ein if draus und mach es wie in der arduino doku

    Code:
    if(SWS.available > 3)
    wenn du aus irgendwelchen Gründen nur Bytesalat empfängst (Baudratenfehler z.B.) den dein parseFloat nicht versteht, kommst du nie aus der while raus, damit wird die loop() nie beendet und andere Prozesse im Hintergrund können nicht bearbeitet werden

    PS: "> 3" habe ich gewählt, weil eine float Zahl mindestens aus 3 Zeichen für "0.0" besteht
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  4. #24
    HaWe
    Gast
    du solltest doch erst mal moppis code verwenden, weil der doch nach seiner Aussage funktioniert, und du hast doch behauptet, dass du ihn verwendest -
    aber das ist doch nicht moppis code, oder?

    außerdem las ich gerade, dass ein Levelshifter von nodeMCU 3.3V auf Arduino 5V verwendet werden soll, da die beiden Boards ja mit verschiedenen Spannungen laufen: Bei Moppi kam dieser Hinweis auch erst ganz am Ende seines Topics.

    Code:
    Arduino TX --|   ( 5V Level )
                 |
                33k
                 |
                 |---- ESP RX ( 3.3V Level)
                 |
                47k
                 |
                GND
    du brauchst nur diesen Levelshifter Arduino TX -> ESP RX, nicht anders herum!

    @Ceos:
    zum Testen würde ich erst mal mit Buchstaben und Ints anfangen, solange es noch nicht klappt,
    aber moppis Code funktioniert ja offenbar zum Testen - dann kann man das ja immer noch mal ändern, wenn es erstmal überhaupt funktioniert wie es soll!

  5. #25
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    ann kann man das ja immer noch mal ändern, wenn es erstmal überhaupt funktioniert wie es soll!
    Wenn es ein Baudratenfehler ist, wäre das schon eine Erklärung das er nichts empfängt, denn dann wäre der NodeMCU im deadlock
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  6. #26
    Neuer Benutzer Öfters hier
    Registriert seit
    01.04.2019
    Beiträge
    25
    Zitat Zitat von HaWe Beitrag anzeigen
    du solltest doch erst mal moppis code verwenden, weil der doch nach seiner Aussage funktioniert, und du hast doch behauptet, dass du ihn verwendest -
    aber das ist doch nicht moppis code, oder?

    außerdem las ich gerade, dass ein Levelshifter von nodeMCU 3.3V auf Arduino 5V verwendet werden soll, da die beiden Boards ja mit verschiedenen Spannungen laufen: Bei Moppi kam dieser Hinweis auch erst ganz am Ende seines Topics.

    Code:
    Arduino TX --|   ( 5V Level )
                 |
                33k
                 |
                 |---- ESP RX ( 3.3V Level)
                 |
                47k
                 |
                GND
    du brauchst nur diesen Levelshifter Arduino TX -> ESP RX, nicht anders herum!

    @Ceos:
    zum Testen würde ich erst mal mit Buchstaben und Ints anfangen, solange es noch nicht klappt,
    aber moppis Code funktioniert ja offenbar zum Testen - dann kann man das ja immer noch mal ändern, wenn es erstmal überhaupt funktioniert wie es soll!
    Genau dies habe ich versucht, exakt so wie beschrieben.
    Nur die Ausgabe vom NodeMCU Board... bleibt nach wie vor leer..

  7. #27
    HaWe
    Gast
    Zitat Zitat von fcn200 Beitrag anzeigen
    Genau dies habe ich versucht, exakt so wie beschrieben.
    Nur die Ausgabe vom NodeMCU Board... bleibt nach wie vor leer..
    ja, wie gesagt: du wirst mehrere Fehler drin haben. Also merze einen nach dem anderen aus, bis du auch den letzten Fehler erwischt hast.
    Fehlendes Massekabel und fehleneder Levelshifter waren ja schon 2 entdeckte Fehler, vlt ist durch den fehlenden Levelshifter jetzt auch dein nodeMCU inzwischen defekt.

    Und jetzt als allererstes: nimm Moppis Code, denn der soll ja funktionieren.
    Und wenn er das tut, dann sieh weiter.

    Wenn nicht, ist vlt noch was anderes kaputt oder fehlerhaft.
    Also erstmal Moppis Code verwenden, NICHT deinen eigenen.

  8. #28
    Neuer Benutzer Öfters hier
    Registriert seit
    01.04.2019
    Beiträge
    25
    Zitat Zitat von HaWe Beitrag anzeigen
    ja, wie gesagt: du wirst mehrere Fehler drin haben. Also merze einen nach dem anderen aus, bis du auch den letzten Fehler erwischt hast.
    Fehlendes Massekabel und fehleneder Levelshifter waren ja schon 2 entdeckte Fehler, vlt ist durch den fehlenden Levelshifter jetzt auch dein nodeMCU inzwischen defekt.

    Und jetzt als allererstes: nimm Moppis Code, denn der soll ja funktionieren.
    Und wenn er das tut, dann sieh weiter.

    Wenn nicht, ist vlt noch was anderes kaputt oder fehlerhaft.
    Also erstmal Moppis Code verwenden, NICHT deinen eigenen.
    Ich habe aber schon
    - Moppis Code
    - Massekabel
    - Levelshifter

    verwendet und es tut sich nichts..

  9. #29
    HaWe
    Gast
    du hast aber oben nicht einen von moppis Codes gepostet, den du verwendet hast, worum ich dich gebeten hatte, oder doch?
    Ansonsten poste jetzt bitte die Codes, die du verwendest, samt neuem Foto deines Aufbaus.

  10. #30
    Neuer Benutzer Öfters hier
    Registriert seit
    01.04.2019
    Beiträge
    25
    Zitat Zitat von HaWe Beitrag anzeigen
    du hast aber oben nicht einen von moppis Codes gepostet, den du verwendet hast, worum ich dich gebeten hatte, oder doch?
    Ansonsten poste jetzt bitte die Codes, die du verwendest, samt neuem Foto deines Aufbaus.
    Arduino:

    Code:
    #include <SoftwareSerial.h>
    
    SoftwareSerial mySerial(3, 2); // RX, TX
      int a;
    
    void setup() {
      // set the data rate for the SoftwareSerial port
      mySerial.begin(4800);
    }
    
    void loop() { // run over and over
      delay(3000);
      a++;
      mySerial.print("Hello, world: ");
      mySerial.print(a);
      mySerial.println("!");
    }
    NodeMCU:

    Code:
    #include <SoftwareSerial.h>
    
    SoftwareSerial mySerial(4, 5); // RX, TX
    
    void setup() {
      
      // Open serial communications and wait for port to open:
      Serial.begin(9600);
      
      
      // set the data rate for the SoftwareSerial port
      mySerial.begin(4800);
    }
    
    void loop() { // run over and over
      if (mySerial.available()) {
        Serial.write(mySerial.read());
       
      }
    }
    Aufbau:
    Klicke auf die Grafik für eine größere Ansicht

Name:	20190403_172229.jpg
Hits:	8
Größe:	71,4 KB
ID:	34066

    Klicke auf die Grafik für eine größere Ansicht

Name:	20190403_172224.jpg
Hits:	5
Größe:	56,8 KB
ID:	34067

Seite 3 von 8 ErsteErste 12345 ... LetzteLetzte

Ähnliche Themen

  1. nodeMCU an Arduino
    Von Moppi im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 16
    Letzter Beitrag: 14.10.2018, 10:30
  2. Kommunikation zwischen Arduino und Matlab
    Von BraucheHilfe im Forum Arduino -Plattform
    Antworten: 8
    Letzter Beitrag: 13.06.2016, 11:11
  3. Antworten: 0
    Letzter Beitrag: 26.02.2014, 08:09
  4. Serielle Kommunikation zwischen 2 Attiny24
    Von Torben22 im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 02.01.2009, 19:16
  5. Serielle Kommunikation zwischen zwei Atmels...
    Von tobimc im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 17
    Letzter Beitrag: 24.07.2004, 21:01

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests