- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 74

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

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459
    Ein "D" kann ich in dem Code nirgends sehen - und auf dem Uno auch nicht.
    Beim Node steht auf dem Board D2 und auf jeder Pinreferenz steht da GPIO4 - also könnte man 4 angeben oder D2.
    Auf dem Uno steht bei den Analogen A0, A1, A2, ... und bei den Digitalen nur 0, 1, 2, ... in der Pinreferenz findet man die Bezeichnung 2 und die Zuordnung zu IDE-Nr. 2. D2 finde ich da nirgends. Lediglich die Bezeichnung PD2, die aber nur sagt Port D Bit 2. Im Code müsste demnach 2 oder D2 funktionieren.
    Komischerweise widerspricht sich somit die Programmierung von NodeMCU und Uno. Es sei denn, man greift im Uno auf die physische Nummer (4) zurück.

    PS: Mit persönlich ist das völlig egal - ich interpretiere nur die verlinkten Quellen. Wenn du dich "richtig auskennst", kannst du uns ja sicher erklären, warum es in der Quelle heißt: "D2 - Pin Numer to Use in Arduino IDE = 4".

  2. #2
    HaWe
    Gast
    @ Gnom67
    wie gesagt, wenn du dich nicht auskennst, verwirre bitte hier nicht die Leute!

    Ich schrieb doch: auf dem ESP sind es die Nummer MIT D davor, beim Uno OHNE D.
    Daran sollte man sich gewöhnen, der ESP ist kein Arduino-Board, und die ESP-Community hat eben die D-Nummern gewählt (optional zu den verworrenen GPIO Nummern).
    Die D-Nummrn sind aud dem ESP aufgedruckt, also verwendet man besser diese.

    - - - Aktualisiert - - -

    Zitat Zitat von fcn200 Beitrag anzeigen
    was glaubst du wohl was ich die ganze zeit mache...
    du machst irgendwas, aber offenbar nicht exakt so wie du es sollst, weil du immer nur die Hälfte liest.

    Ich bich jetzt erst mal raus.
    Geändert von HaWe (04.04.2019 um 16:59 Uhr)

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    @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 16:58 Uhr)

  4. #4
    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. #5
    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. #6
    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 20:11 Uhr) Grund: Korrektur

  7. #7
    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. #8
    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 22:14 Uhr)

  9. #9
    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.

  10. #10
    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 18:20 Uhr)

Ähnliche Themen

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

Berechtigungen

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

Labornetzteil AliExpress