NodeMCU Dev Kit mit ESP8266 Chip von Paradisetronic

In diesem Beitrag möchte ich dir das NodeMCU Dev Kit mit ESP8266 Chip von Paradisetronic vorstellen.

Diesen Microcontroller mit

  • Fotowiderstand,
  • RGB LED,
  • 6 SMD LEDs und
  • einem Batteriefach 

habe ich von der Firma Paradisetronic kostenfrei für ein Review zur Verfügung gestellt bekommen.

Vorstellung - NodeMCU Dev Kit
Dieses Video ansehen auf YouTube.

 

Bezug

Wenn du diesen kleinen Microcontroller beziehen möchtest so kannst du diesen für 14,52€ im Online Shop erwerben. Zu diesem Preis kommt noch eine Versandkostenpauschale von 6,5€ (für innerhalb Deutschland) hinzu.

Aber der Shop bietet so einiges mehr so das man sicherlich noch das ein oder andere nützliche Bauteil findet und somit sich die Versandkosten mehr als bezahlt machen.

Verpackung des NodeMCU Dev Kits
Verpackung des NodeMCU Dev Kits

Technische Daten des NodeMCU Dev Kit mit ESP8266 Chip

  • Model: ESP-12F
  • SPI Flash: 32 Mbit
  • Schnittstellen: UART, GPIO, ADC, PWM
  • UART Baudrate: von 300 bis 46080000
    • Standard: 115200 bps
  • WiFi Übertragungsleistung
    • 802.11b 16±2 dBm (bei 11Mbps)
    • 802.11g 14±2 dBm (bei 54Mbps)
    • 802.11n 13±2 dBm (bei HT20, MCS7)
  • Betriebspannung: 3.0V bis 3.6V
  • Stromaufnahme: >500mA
  • Umgebungstemperatur: -20°C bis +85°C
  • Lagertemperatur: -40°C bis +85°C, bei < 90% rel. Luftfeuchtigkeit
  • Abmaße (B x L x H): 42mm x 51mm x 14mm

Aufbau

Das Board des NodeMCU Dev Kits verfügt über

  • einen Fotowiderstand,
  • eine RGB LED,
  • sechs SMD LEDs,
  • eine UART Schnittstelle (TXD, RXD, GND),
  • 2x 8 Stiftleisten für die GPIO Pins, sowie
  • einem fest angelöteten Batteriefach für AA Batterien
Aufbau der Platine des NodeMCU Dev Kits
Aufbau der Platine des NodeMCU Dev Kits

Pins der LEDs des Fotowiderstandes

Der Fotowiderstand ist am Pin „ADC“ angeschlossen.

Pinbelegung der LEDs an NodeMCU Dev Kit
Pinbelegung der LEDs an NodeMCU Dev Kit

Die LED am GPIO 2 ist verbunden mit der BUILD_IN LED d.h. es leuchtet in diesem Fall nicht nur die kleine rote SMD LED sondern auch die blaue LED auf dem ESP-12F Chip.

Vorbereiten zum Programmieren

Da das Board über keine USB Schnittstelle zum programmieren verfügt benötigen wir ein UART Modul. Ich verwende einen FTDI USB Konverter.

FTDI Modul, UBS zu TTL Signal Converter
FTDI Modul, UBS zu TTL Signal Converter

Dieses Modul habe ich schon für diverse Microcontroller wie dem STM32F103C8T6 verwendet um diese zu programmieren bzw. ein Programm auf diese zu schreiben.

Auf dem NodeMCU Dev Kit Board ist die UART Schnittstelle mit RXD|GND|TXD  beschriftet. Jedoch ist die Beschriftung für RXD & TXD vertauscht!
Wir schließen das FTDI Modul mit RXD -> RXD , GND -> GND und TXD -> TXD an. Der Jumper muss dabei auf dem Board stecken.

NodeMCU Dev Kit mit FTDI Modul
NodeMCU Dev Kit mit FTDI Modul

Einrichten in der Arduino IDE

Damit du das NodeMCU Dev Kit in der Arduino IDE programmieren kannst musst du zuerst den Boardtreiber installieren. 

Im ersten Schritt musst du die Adresse 

http://arduino.esp8266.com/stable/package_esp8266com_index.json

als „Zusätzliche Boardverwalter-URL“ unter den Voreinstellungen hinzufügen. 

Wenn dieses erledigt ist kannst du unter „Werkzeuge“ > „Board“ > „Boardverwalter…“ das ESP8266 Paket installieren.

Boardverwalter - ESP8266 Treiber
Boardverwalter – ESP8266 Treiber

Wenn das Paket installiert ist dann musst du das Board „Generic ESP8266 Module“ auswählen und die Einstellungen wie auf dem Bild zusehen einstellen.

Einstellungen des NodeMCU Dev Kits in der Arduino IDE
Einstellungen des NodeMCU Dev Kits in der Arduino IDE

Beispiele

Hier nun einpaar kleine Beispiele welche du mit diesem Board nachprogrammieren kannst ohne das du zusätzliches Material benötigst.

BUILD_IN LED blinken lassen

Die kleine BUILDIN_LED am ESP-12F Chip ist am GPIO 2 angeschlossen. Diese können wir mit einem kleinen einfachen Sketch zum blinken bringen.

#define led 2

void setup() {
  pinMode(led, OUTPUT);
}

void loop() {
  digitalWrite(led, HIGH);
  delay(250);
  digitalWrite(led, LOW);
  delay(250);
}

 

SMD LED Lauflicht

Mit den 6 SMD LEDs lässt sich recht einfach ein Lauflicht erstellen. Es muss lediglich nur eine SMD LED nacheinander aktiviert bzw. deaktiviert werden.

#define led1 2
#define led2 0
#define led3 4
#define led4 5
#define led5 14
#define led6 16

int leds[6] = {led1, led2, led3, led4, led5, led6};


void setup() {
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
}

void loop() {
  for (int i = 0; i < 6; i++) {
    digitalWrite(leds[i], HIGH);
    delay(250);
    digitalWrite(leds[i], LOW);
  }
}

 

Fotowiderstand mit LEDs

Der verbaute Fotowiderstand ist am analogen Pin A0 angeschlossen und liefert mit dem Befehl „analogRead“ einen Wert zwischen 0 (für maximale Helligkeit) und 20 (für komplett dunkel). Diesen Wert kann man nun mit der Funktion „map“ und etwas Quellcode auf die SMD LEDs präsentieren.

#define led1 2
#define led2 0
#define led3 4
#define led4 5
#define led5 14
#define led6 16

#define fotoresistor A0

int leds[6] = {led1, led2, led3, led4, led5, led6};

void setup() {
  Serial.begin(9600);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
}

void loop() {
  resetLeds();
  int value = analogRead(fotoresistor);
  Serial.print("Fotowiderstand:");
  Serial.println(value);
  int led = map(value, 20, 0, 0, 5);
  Serial.print("LED: ");
  Serial.println(led);
  digitalWrite(leds[led], LOW);
  delay(350);
}

void resetLeds() {
  for (int i = 0; i < 6; i++) {
    digitalWrite(leds[i], HIGH);
  }
}

 

RGB LED ansteuern – Teil 1 – einzelne Farben

Die RGB LED verfügt über 3 Beinchen an welche jeweils ein separater LED Chip angeschlossen ist (grün – GPIO 12, blau – GPIO 13 und rot – GPIO 15). Diese können wir nun im einfachsten Fall in einer Schleife jeweils einen analogen Wert zwischen 0 und 255 zuweisen. (Wir generieren somit auf dem digitalen Ausgang des ESP8266 ein PWM Signal.)

#define greenLed 12
#define blueLed 13
#define redLed 15

const int PAUSE = 10;

void setup() {
  pinMode(greenLed, OUTPUT);
  pinMode(blueLed, OUTPUT);
  pinMode(redLed, OUTPUT);
}

void loop() {
  setLedLightInt(greenLed);
  setLedLightInt(blueLed);
  setLedLightInt(redLed);
  delay(350);
}

void setLedLightInt(int pin) {
  for (int i = 0; i < 255; i++) {
    analogWrite(pin, i);
    delay(PAUSE);
  }
  for (int i = 255; i > 0; i--) {
    analogWrite(pin, i);
    delay(PAUSE);
  }
}

RGB LED ansteuern – Teil 2 – Farben mischen

Wir können natürlich nicht nur die einzelnen LED Chips (grün, rot, blau) ansteuern sondern auch „spezielle“ Farben mischen.

Wenn wir zbsp. die Farbe Brombere benötigen dann ist das der RGB Code „r = 146, g = 64, b = 110“. Jedoch sind die Chips in der LED soweit auseinander so das diese Farbe nicht wirklich erblickt werden kann. Man sieht dann eher die einzelne LED Farbe stärker oder schwächer leuchten.

#define greenLed 12
#define blueLed 13
#define redLed 15

const int PAUSE = 10;

//"Brombere"  - https://www.color-hex.com/color/92406e

int r = 146;
int g = 64;
int b = 110;

void setup() {
  pinMode(greenLed, OUTPUT);
  pinMode(blueLed, OUTPUT);
  pinMode(redLed, OUTPUT);
}

void loop() {
  setRgbColor(r, g, b);
  delay(350);
}

void setRgbColor(int r, int g, int b){
  analogWrite(redLed, r);
  analogWrite(greenLed, g);
  analogWrite(blueLed, b);
}

Leider kann mein Handy von der LED kein Foto aufnehmen da der Sensor nur ein starkes leuchten wahrnimmt.

Fazit & Ausblick

In diesem Beitrag habe ich dir das NodeMCU Dev Kit vorgestellt und anhand von 3 kleinen Beispielen gezeigt wie dieser in der Arduino IDE programmiert werden kann. Im nächsten Beitrag zeige ich dir dann wie du eine kleine Webseite erstellst und die SMD LEDs sowie die RGB LED steuern kannst.

Das kleine Board verfügt über einpaar nette Features welche einem Anfänger und auch Fortgeschrittenen die Möglichkeiten gibt mit wenigen zusätzlichen Bauteilen einpaar Schaltungen aufzubauen. Leider fehlt mir persönlich eine USB Schnittstelle zum noch einfacheren Programmieren des ESP8266 Chips. 

4 Gedanken zu „NodeMCU Dev Kit mit ESP8266 Chip von Paradisetronic

  • 31. August 2020 um 19:51
    Permalink

    Unpraktisch weil ohne UART und viel zu teuer. Lieber ein Demos D1mini oder wenn es LDR sein muss ein Witty clouds board.

    Antwort
    • 31. August 2020 um 20:49
      Permalink

      Hi Martin,
      vielen Danke für dein Kommentar, Grundsätzlich könnte ich dir recht geben jedoch kommt der Wemos D1 Mini mit etwas weniger Funktionen daher.
      Wenn man mit diesem das gleiche erreichen möchte dann kommt man an einen ähnliches Preis.
      Du bräuchtest ein RGB LED Shield, ein Batterie Shield (inkl. passende Batterie).

      Aber ja der Witty Cloud ist eine alternative aber auch dieser hat seine grenzen denn ohne Modifikation kommt man bei diesem nicht an die GPIO Pins (siehe https://draeger-it.blog/arduino-lektion-52-esp8266-iot-anfaenger-set/).

      Ich sehe solche Sets eher im Bereich Experimentierboard, der Preis ist natürlich etwas hoch aber dafür bekommst du diesen Microcontroller auch aus Deutschland geliefert und hast solltest du Probleme bekommen einen deutschsprachigen Ansprechpartner.

      Gruß,

      Stefan Draeger

      Antwort
  • 14. Oktober 2020 um 09:54
    Permalink

    Hallo Stefan,

    erst einmal danke für den Beitrag und den Hinweis auf Modul von Paradisetronic.
    Aufmerksam geworden bin ich darauf, da ich für meine ESP-01 Module von AI-Thinker eine Batteriespannungsversorgung benötige. In den einschlägigen Foren findet man sehr viele Infos zur Spannungsversorgung mit Batterie über Step-Up/Down wandler. Wenn ich mir die Datenblätter der verschiedenen Step-Up/Down ICs so anschaue, stolpere ich entweder über die Leistung oder die Bauform. Da ich kein SMD Löten kann (zu große Winkamplitude 😉 hätte ich gern eine Bauform zum durchstecken. Aber alle Wandler die ich so finde im z.B. TO-92 Gehäuse haben nicht genug Leistung um den ESP8266 auf dem ESP-01 Modul zu betreiben.
    Um so verwunderter war ich, als ich auf dem von Dir vorgestellten Modul den HT7333 von Holtek gesehen habe, denn dieses liefert laut Datenblatt „nur“ 250mA. Zwar müsste das für den ESP8266 reichen, wenn man dessen Datenblatt konsultiert. Meine Messungen zeigen aber, daß das Modul ESP-01 Aufgrud weiterer Bauteile gern 350mA zieht, vor Allem wenn eine WiFi Verbindung aufgebaut werden soll.

    Jetzt meine Frage:
    Welche Erfahrungen hast du gemacht, was die Stabilität und die Laufzeit des Moduls mit Batterie angeht? Gerade im Hinblick auf den Einsatz als Datenlogger (z.B. in einer Wetterstation) welcher alle 5 Minuten aufwacht, misst, per WLAN die Daten überträgt und dann wieder in den DeepSleep geht.

    Viele Grüße und vielen Dank!

    David

    Antwort
    • 16. Oktober 2020 um 09:24
      Permalink

      Hallo David,

      die Stromversorgung ist sehr stabil und es gibt keine Abbrüche.
      Wie lange jedoch die Batterie läuft kann ich dir noch nicht sagen.
      Ich werde einfach mal einen „kleinen“ Test machen und einen Temperatursensor anklemmen ( und einpaar frische Batterien einlegen) und die Daten an ThingSpeak senden.

      Das Ergebnis findest du dann in einem Beitrag auf diesem Blog.

      Gruß,

      Stefan Draeger

      Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.