- 12V Akku mit 280 Ah bauen         
Seite 7 von 8 ErsteErste ... 5678 LetzteLetzte
Ergebnis 61 bis 70 von 74

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

  1. #61
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Anzeige

    E-Bike
    @fcn200

    Wenn es nicht funktioniert, mit meinem Code, stimmt was anderes nicht:

    1. Baudrate im Terminalfenster auf 115200 einstellen
    2. COM-Schnittstelle richtig einstellen
    3. nodeMCU funktioniert? Wurde das jemals getestet? Sendet es Daten über die serielle Schnittstelle (USB) an das Terminalfenster? Hierzu mal einen Sketch auf das nodeMCU laden, der nur Daten auf die serielle Schnittstelle ausgibt.

    Hier mal ein Beispiel-Sketch:

    Code:
    void setup() {
      // Open serial communications and wait for port to open:
      Serial.begin(115200);
      while (!Serial) {} // wait for serial port to connect. Needed for native USB port only
      Serial.println();
      Serial.println();
      Serial.println("Goodnight moon!");
    
    
    }
    
    
    void loop() { 
      Serial.println("Goodnight moon!");
    }
    Auf das nodeMCU übertragen und schauen, ob Daten im Terminalfenster ankommen.
    Geändert von Moppi (04.04.2019 um 17:58 Uhr)

  2. #62
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459
    Zitat Zitat von HaWe Beitrag anzeigen
    @ Gnom67
    Ich schrieb doch: auf dem ESP sind es die Nummer MIT D davor, beim Uno OHNE D.
    Verwirr du mal nicht die Leute.
    Zitat:
    "Die Arduino-Nummern tragen ein "D" davor, also D2, nicht 2."

    Was jetzt? Mit oder ohne?

    Aber wenn das Kabel in (D)5 steckt, ist es auch egal, ob man 2 oder 4 programmiert. Ich hab allmählich den Eindruck, der TO verarscht uns nur. So kann man sich doch nicht mal anstellen, wenn man sich richtig Mühe gibt, sich keine Mühe zu geben.

  3. #63
    HaWe
    Gast
    auf dem nodeMCU sollte verwendet werden
    D2 statt 4, bzw.
    D1 statt 5,
    weil das nicht zu Verwirrungen mit der Beschaltung führt, aber funktionieren tut beides.

    DASS es zu Verwirrungen führt, sieht man an der falschen Beschaltung des OPs.
    Man muss dann aber auch im Code D2 schreiben und UM GOTTES WILLEN NICHT 2 !!

    Ich hab allmählich den Eindruck, der TO verarscht uns nur. So (edit: doof) kann man sich doch nicht mal anstellen, wenn man sich richtig Mühe gibt, sich keine Mühe zu geben.
    langsam glaub ichs auch...
    Geändert von HaWe (04.04.2019 um 19:20 Uhr)

  4. #64
    Neuer Benutzer Öfters hier
    Registriert seit
    01.04.2019
    Beiträge
    25
    Zitat Zitat von Moppi Beitrag anzeigen
    @fcn200

    Wenn es nicht funktioniert, mit meinem Code, stimmt was anderes nicht:

    1. Baudrate im Terminalfenster auf 115200 einstellen
    2. COM-Schnittstelle richtig einstellen
    3. nodeMCU funktioniert? Wurde das jemals getestet? Sendet es Daten über die serielle Schnittstelle (USB) an das Terminalfenster? Hierzu mal einen Sketch auf das nodeMCU laden, der nur Daten auf die serielle Schnittstelle ausgibt.

    Hier mal ein Beispiel-Sketch:

    Code:
    void setup() {
      // Open serial communications and wait for port to open:
      Serial.begin(115200);
      while (!Serial) {} // wait for serial port to connect. Needed for native USB port only
      Serial.println();
      Serial.println();
      Serial.println("Goodnight moon!");
    
    
    }
    
    
    void loop() { 
      Serial.println("Goodnight moon!");
    }
    Auf das nodeMCU übertragen und schauen, ob Daten im Terminalfenster ankommen.
    funktioniert wunderbar.. habe das schon früher mal getestet gehabt.

    Ich hab allmählich den Eindruck, der TO verarscht uns nur. So (edit: doof) kann man sich doch nicht mal anstellen, wenn man sich richtig Mühe gibt, sich keine Mühe zu geben.
    Was sind denn das für unverschämte Anschuldigungen hier?
    Es geht mir ganz gewiss nicht darum, irgend jemand zu verarschen.

    Und so "retarded" wie ihr glaubt bin ich auch nicht!!!

  5. #65
    HaWe
    Gast
    sorry, sollte witzig sein und nicht beleidigend. schließlich stammt das Topic vom 1. April...

    und soviel falsch machen wie du es bisher gemacht - also nee...
    und dann immer behaupten, du hättest alles "exakt richtig" gemacht...

    geh nochmal ALLE MEINE Hinweise Schritt für Schritt durch

    - Massekabel zwischen beiden Boards
    - Spannungsteiler geerdet
    - richtige Pinbezeichnungen in den Codes !!
    - richtige Pinverbindungen an den Boards !!
    - Arduino-TX über den Spannungsteiler an ESP-RX
    - ESP-TX direkt an Arduino-RX
    - richtiges Board und richtige Version im Boardmanager ausgewählt
    und dann:
    - angepasstes SoftSerial aus der ESP-Lib

    Und damit verabschiede ich mich jetzt hier wirklich und werde auch keine Fotos mehr kontrollieren, sorry.

  6. #66
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Zitat Zitat von fcn200 Beitrag anzeigen
    funktioniert wunderbar.. habe das schon früher mal getestet gehabt.


    Gut. Wenn also die Ausgabe vom nodeMCU zum Terminal funktioniert, dann mal bitte diesen Code auf das nodeMCU übertragen und ausprobieren:

    Code:
    #include <SoftwareSerial.h>
    SoftwareSerial mySerial(4, 5); // RX, TX
    
    void setup() {
      
      // Open serial communications and wait for port to open:
      Serial.begin(115200);
      while (!Serial) {}
      
      // set the data rate for the SoftwareSerial port
      mySerial.begin(4800);
    }
    
    void loop() { // run over and over
      delay(1000);
      Serial.print(": ");
      if(mySerial.available()){
        Serial.print(" - ");
        Serial.write(mySerial.read()); 
      }
    }
    Nun muss ja was in Deinem Terminalfenster erscheinen. Das, was dort im Terminalfenster erscheint, bitte kopieren und hier mitteilen, damit wir die Ausgabe sehen.
    Mach das bitte einmal, wenn der Arduino mit dem nodeMCU verbunden ist und einmal nur mit dem nodeMCU, ohne dass der Arduino damit verbunden ist.

    MfG
    Geändert von Moppi (04.04.2019 um 21:11 Uhr) Grund: Korrektur

  7. #67
    Neuer Benutzer Öfters hier
    Registriert seit
    01.04.2019
    Beiträge
    25
    Zitat Zitat von Moppi Beitrag anzeigen
    dann mal bitte diesen Code auf das nodeMCU übertragen und ausprobieren:

    Code:
    #include <SoftwareSerial.h>
    SoftwareSerial mySerial(4, 5); // RX, TX
    
    void setup() {
      
      // Open serial communications and wait for port to open:
      Serial.begin(115200);
      while (!Serial) {}
      
      // set the data rate for the SoftwareSerial port
      mySerial.begin(4800);
    }
    
    void loop() { // run over and over
      delay(1000);
      Serial.print(": ");
      if(mySerial.available()){
        Serial.print(" - ");
        Serial.write(mySerial.read()); 
      }
    }
    Nun muss ja was in Deinem Terminalfenster erscheinen. Das, was dort im Terminalfenster erscheint, bitte kopieren und hier mitteilen, damit wir die Ausgabe sehen.
    Mach das bitte einmal, wenn der Arduino mit dem nodeMCU verbunden ist und einmal nur mit dem nodeMCU, ohne dass der Arduino damit verbunden ist.

    MfG
    Für mich zum Verständnis:
    ein weiterer Code auf dem Arduino ist nicht erforderlich?
    und welche pins muss ich verbinden?

  8. #68
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    @fnc200

    Nur der Code soll auf das nodeMCU. Arduino den Code drauf, wie gehabt und die Pins verbinden, wie gehabt. Und dann einmal mit Verbindung zum Arduino und einmal ohne Verbindung zum Arduino. Es soll jetzt darum gehen, was das nodeMCU im Terminalfenster ausgibt. Das es dort was ausgibt und das also richtig funktioniert, schriebst Du ja schon.

    Wegen der Verwirrung, nochmal der Code für 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("!");
    }
    Bitte die Pins verwenden, so, wie ich sie auch hatte. Pin#2 (der neben TX am Arduino) an Pin#D2 vom nodeMCU. GND an GND. Ob Du Spannungsteiler da rein baust oder nicht oder auch einen Widerstand oder gar nichts. Du kannst auch einen 10k-Widerstand (oder 1k) vom Pin#2 Arduino an Pin#D2 reinsetzen (warum?- siehe Link unten zur Pegelwandlung, da steht was zu 5V-tolleranten Eingängen).

    - - - Aktualisiert - - -

    Nochmal was zur Pegelwandlung:

    https://www.mikrocontroller.net/articles/Pegelwandler

    Mehr kann man da jetzt kaum noch dazu sagen.

    MfG
    Geändert von Moppi (04.04.2019 um 23:14 Uhr)

  9. #69
    Neuer Benutzer Öfters hier
    Registriert seit
    01.04.2019
    Beiträge
    25
    Zitat Zitat von Moppi Beitrag anzeigen
    @fnc200

    Nur der Code soll auf das nodeMCU. Arduino den Code drauf, wie gehabt und die Pins verbinden, wie gehabt. Und dann einmal mit Verbindung zum Arduino und einmal ohne Verbindung zum Arduino. Es soll jetzt darum gehen, was das nodeMCU im Terminalfenster ausgibt. Das es dort was ausgibt und das also richtig funktioniert, schriebst Du ja schon.

    Wegen der Verwirrung, nochmal der Code für 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("!");
    }
    Bitte die Pins verwenden, so, wie ich sie auch hatte. Pin#2 (der neben TX am Arduino) an Pin#D2 vom nodeMCU. GND an GND. Ob Du Spannungsteiler da rein baust oder nicht oder auch einen Widerstand oder gar nichts. Du kannst auch einen 10k-Widerstand (oder 1k) vom Pin#2 Arduino an Pin#D2 reinsetzen (warum?- siehe Link unten zur Pegelwandlung, da steht was zu 5V-tolleranten Eingängen).

    - - - Aktualisiert - - -

    Nochmal was zur Pegelwandlung:

    https://www.mikrocontroller.net/articles/Pegelwandler

    Mehr kann man da jetzt kaum noch dazu sagen.

    MfG

    Ergebnis:

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

Name:	AusgabeMitArduinoVerbunden.jpg
Hits:	10
Größe:	34,5 KB
ID:	34082

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

Name:	AusgabeOhneArduinoVerbunden.jpg
Hits:	8
Größe:	34,4 KB
ID:	34083

    - - - Aktualisiert - - -

    Bei einem weiteren Versuch, den empfangenen Text außerhalb der if-bedingung auszugegeben erhalt ich folgende Ausgabe:
    Klicke auf die Grafik für eine größere Ansicht

Name:	Zwischenablage01.jpg
Hits:	9
Größe:	38,5 KB
ID:	34084

  10. #70
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Man kann leider auf den Bildern kaum etwas erkennen. Kopiere doch mal den Text aus dem Terminalfenster und mach kein Bildschirmfoto!


    Aufgabe war: Arduino den Code drauf, wie gehabt und die Pins verbinden, wie gehabt. Und dann einmal mit Verbindung zum Arduino und einmal ohne Verbindung zum Arduino.

    Wenn ich dazu die schlecht lesbaren Bilder interpretiere, sieht es so aus, dass Du:

    a) im ersten Fall keinen Arduino abgeschlossen hattest.
    b) im zweiten Fall der angeschlossene Arduino nichts sendet oder das nodeMCU nichts empfängt

    Dein dritter Fall. Wo kommt das "08:58:27.013 ->" her? Kann ich nicht zuordnen, habe ich noch nie gesehen. Die "-1" ist allenfalls der Status von mySerial.read(), wenn keine Daten vorhanden sind.

    Du hattest irgendwann mal geschrieben, das beim nodeMCU nur so Kästchen im Terminalfenster angezeigt werden, mehr käme nicht an. Ich meine das passiert, wenn die Baudrate im Terminalfenster nicht richtig eingestellt ist.
    Jetzt, kommt gar nichts an, weder Kästchen noch sonst was.

    Ich fasse das noch mal zusammen:

    - Du hast alles richtig angeschlossen, sprich, im Zweifel nur zwei Drähte von Gerät A nach Gerät B
    - Du hast die Software richtig aufgespielt

    Es gibt jetzt genau zwei Möglichkeiten, weil ich bei Dir nicht vorbeikommen kann, um es zu zeigen:

    1. Letzter Strohhalm: Du lädst in der Tat eine andere Bibliothek für
    "SoftwareSerial.h", HaWe hatte ja einen Link dazu gegeben, in dem Code für das nodeMCU.
    2. Das nodeMCU funktioniert nicht richtig, Du probierst es mit einem anderen Modul.

    Die letzte Möglichkeit wäre, dass der Arduino an den Ausgängen eine Macke hat. Dann muss der durchgecheckt werden, bzw. nimmst Du einfach einen anderen Atmega328P-PU mit richtigem Bootloader. So einen bekommt man bei Conrad zusammen mit einem Quarz.


    MfG



    Geändert von Moppi (05.04.2019 um 17:51 Uhr)

Seite 7 von 8 ErsteErste ... 5678 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
  •  

fchao-Sinus-Wechselrichter AliExpress