Alle Beiträge von sfambach

Arduiono Motor Platine V2

Die Motorplatine V2 ist eingetroffen. Ich habe gleich mal das Testprogramm der V1 angepasst und die Platine auf den Wemos Uno gesteckt, um zu sehen ob die Beiden zusammen harmonieren.

Die Ansteuerung der Servos funktioniert auf dem Wemos nicht, da die Pins für die serielle Schnittstelle verwendet werden.

Überblick

Hier die wichtigsten Daten im Überblick:

  • 2 Motorbrücken
  • (2 Servoanschlüsse)
  • 1 Wire (I2c) ansteuerung für die Motoren
  • 1 Externer Spannungsanschluss
  • 1 Power LED
  • Jumper – zur Unterbrechung der Boardspannung
  • Platz für zusätzliche Schaltungen
  • Möglichkeit eine weitere Platine aufzustecken

Ansicht

 

 

Beschaltung

Kompatibilität

Die Platine kann mit folgenden Boards verwendet werden.

Arduino Uno

Arduino Uno

Arduino Leonardo

Arduino Leonardo

Wemos d1 d2 esp8266

Da die Platine über den I2c Bus betrieben funktioniert sie auch mit dem WeMos. Allerdings gibt es die bekannten Einschränkungen bei den Analogen Ports, hier ist nur einer durchgeführt.

WeMos D1 R2 ESP8266

Software

Bibliothek installieren

Installation über die Ardurino GUI.

Bibliotheksmanger aufrufen:

Nach „motor“ suchen und die „Adafruit Motor Shield Library V2“ in der letzten Version installieren. In meinem Fall ist das die 1.0.5.

Achtung es gibt auch eine Biliothek „Adafruit Motor Shield Library“  diese ist für die alte Version des Boards.

Servos ansteuern

Die Ansteuerung der Servos funktioniert auf dem ESPClone nicht, da die Pins für die Serielle Schnittstelle mit verwendet werden. Für die anderen Boards ist sie gleich zur V1 Platine.

Motoren Ansteuern

Ich habe einfach das Testprogramm des V2 Boards angepasst. Weitere Erleuterungen findet ihr hier.

MotorSchieldV2Test.ino

Quellen

https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/overview

https://github.com/adafruit/Adafruit_Motor_Shield_V2_Library

https://store.arduino.cc/adafruit-motor-stepper-servo-shield-v2-3

Arduino Prototyp Platine (V1)

Dieser Shield vereinfacht den schnellen prototypischen Aufbau von Schaltungen.

Überblick

Die Platine hat folgende Zusätze:

  • 1 Steckplatine
  • 1 Reset Taster
  • 1 Beschaltbarer Taster
  • 2 Status LEDs (Bei den neueren Boards als SMD LED)
  • Durchgeführte Pins zur Verdrahtung auf der Steckplatine

Etwas störend ist, dass der freie Schalter und die LED’s  nicht mit den vorhandenen Pin-Header Buchsen verbunden sind. Somit muss erst eine Verbindung über ein Kabel oder zusätzlich eingelötete Pin-Header Buchsen geschaffen werden.

Kompatibilität

Der Shield kann mit folgenden Boards verwendet werden.

Arduino Uno

Arduino Uno

Arduino Leonardo

Arduino Leonardo

WeMos D1

Ist Kompatibel mit ein paar Einschränkungen:

  • Nur 1 Analoger Port
  • IOs mit 3v anstatt 5 V

WeMos D1 R2 ESP8266

Beispiel Projekte

DHT10 mit Arduino Uno

Quellen

https://store.arduino.cc/proto-shield-rev3-uno-size

https://www.exp-tech.de/module/prototyping/4193/arduino-proto-shield-rev3-assembled

https://www.adafruit.com/product/51

WeMos D1 R2 ESP8266

Der WeMos D1 R2 ESP8266 sieht bis auf die anzahl der analogen Ports, erstmal wie ein vollständiger Arduino Uno aus.
Die IOs  arbeitet jedoch nur mit 3V anstatt mit den gewohnten 5V, was zu Inkompatibilitäten zu manchen Erweiterungsplatinen (Shields) führen kann. Der Preis liegt bei AliExpress unter 5 Euro.

Ansichten

Frontansicht mit den Verbindern für Erweiterungsplatinen, dem Stromanschluss, USB anschluss und Resettaster. Gut zu sehen ist der Aufgelötete ESP 8266 rechts unten.

 

Überblick

Name WeMos D1 R2 ESP8266  
Anzahl/CPU
ESP8266MOD
Takt (MHz)80
Kerne1
Digital IOs / Pins14
Analog inputs1
PWM10
SPI1
Flash Speicher 4MB
SRam (KB)128
EEPROM (KB)-
WiFi2,4 GHz 802.11 b/g/n
VerschlüsselungWEB / WPA2 / TKIP /AES
Bluetooth-
UART1
I2C1
Ethernet-
Video-
Sound-
USB1 Micro
Betriebsspannung [V]5
Eingangsspannung>5 ???
Strom (mA) / Standby (mA)>500
Größe l x b x h68,6 x 53,3
Gewicht [g]< 25

Programmierung

Arduino Programmierumgebung

Als board „WeMos D1 R2 & mini“ auswählen.

Die Bordeinstellungen sehen bei mir wie folgt aus:

Ich musste nur die Übertragungsgeschwindigkeit auf 115200 und den Port auf meinen Verbindungsport zum Board anpassen.

Kompatible Zusatzplatinen

Prototyp Platine V1

Ist Kompatibel mit ein paar Einschränkungen:

  • Nur 1 Analoger Port
  • IOs mit 3v anstatt 5 V

Arduino Prototyp Platine (V1)

 

Quellen

http://www.instructables.com/id/Programming-the-WeMos-Using-Arduino-SoftwareIDE/

https://www.wemos.cc/

Unpacking the Wemos D1 R2, ESPDuino clone, ESP8266 development board in Arduino Uno format

Arduino Uno

Aktuelle ist der Uno in der Revision 3 auf dem Markt. Der Microcontroller ist gesockelt, so dass er, wenn mal was schief geht, einfach ausgetauscht werden kann.

Ansichten

Frontansicht mit den Verbindern für Erweiterungsplatinen, dem Stromanschluss, USB anschluss und Resettaster.

Wie immer, die Unterseite ist unspektakulär.

Überblick

Name Arduino Uno  
Anzahl/CPU
1 / ATmega328P
Takt (MHz)16
Kerne1
Digital IOs / Pins14
Analog inputs6
PWM6
SPI1
Flash Speicher 32 KB
SRam (KB)2
EEPROM (KB)1
WiFi-
Verschlüsselung-
Bluetooth-
UART1
I2C1
Ethernet-
Video-
Sound-
USB1 normal
Betriebsspannung [V]5
Eingangsspannung7-12
Strom (mA) / Standby (mA)
Größe l x b x h68,6 x 53,3
Gewicht [g]25

Kompatible Zusatzplatinen

Arduino Prototyp Platine (V1)

Motor Platine V1

Quellen

https://store.arduino.cc/arduino-uno-rev3

 

Arduino Leonardo

Ansichten

Frontansicht mit den Verbindern für Erweiterungsplatinen, dem Stromanschluss, USB anschluss und Resettaster.

Die unscheinbare Rückseite, beim original Board aber schön bedruckt.

Name Arduino Leonardo  
Anzahl/CPU
1 / ATmega32u4
Takt (MHz)16
Kerne1
Digital IOs / Pins20
Analog inputs12
PWM7
SPI1
Flash Speicher 32 KB
SRam (KB)2,5
EEPROM (KB)1
WiFi-
Verschlüsselung-
Bluetooth-
UART1
I2C1
Ethernet-
Video-
Sound-
USB1 micro
Betriebsspannung [V]5
Eingangsspannung7-12
Strom (mA) / Standby (mA)
Größe l x b x h68,6 x 53,3
Gewicht [g]20

Unterschiede zum UNO

USB und Prozessor sind auf einem Chip. Dies hat zur Folge, dass bei einem Reset auch die serielle Verbindung zum Rechner abreisst. Dies stört aber nicht weiter und das Board ist billiger.

Weiterhin kann das board durch den integrierten USB auch als HID (Human Interface Device) wie beispielsweise eine Mouse oder ein Keyboard verwendet werden.

Kompatible Zusatzplatinen

Arduino Prototyp Platine (V1)

Motor Platine V1

Quellen

https://store.arduino.cc/arduino-leonardo-with-headers

https://www.arduino.cc/en/Guide/ArduinoLeonardoMicro#toc10

Raspberry Pi 1

Raspberry Pi 1 Model B+

Übersicht

Name Raspberry Pi 1.0/A+/B+  
Anzahl/CPU
ARM1176JZF-S
Takt (MHz)700
Kerne1
Digital IOs / Pins17 - 26
Analog inputs0
PWM2
SPI1
Flash Speicher micro SD Karte
SRam (KB)256/512
EEPROM (KB)-
WiFi-
Verschlüsselung-
Bluetooth-
UART1
I2C1
Ethernet10/100 MBit
Videonormal
Sound3,5 Klinke Stereo
USB1-2
Betriebsspannung [V]5
Eingangsspannung5
Strom (mA) / Standby (mA)80-160
Größe l x b x h93 x 63,5 x 17
Gewicht [g]31

Quellen

Raspberry Pi 1 Model B+

https://de.wikipedia.org/wiki/Raspberry_Pi

https://www.pidramble.com/wiki

Raspberry PI 2.0

Raspberry Pi 2 Model B

Übersicht

Name Raspberry Pi 2.0/B  
Anzahl/CPU
ARM Cortex-A7 / ARM Cortex-A53
Takt (MHz)900
Kerne4
Digital IOs / Pins26
Analog inputs0
PWM2
SPI1
Flash Speicher micro SD Karte
SRam (KB)1024
EEPROM (KB)-
WiFi-
Verschlüsselung-
Bluetooth-
UART1
I2C1
Ethernet10/100 MBit
Videonormal
Sound3,5 Klinke Stereo
USB4
Betriebsspannung [V]5
Eingangsspannung5
Strom (mA) / Standby (mA)200-450
Größe l x b x h93 x 63,5 x 20
Gewicht [g]40

Quellen

Raspberry Pi 2 Model B

https://de.wikipedia.org/wiki/Raspberry_Pi

https://www.pidramble.com/wiki

Node MCU V3.0

Ein Entwicklungsboard mit dem ESP8266-12E inklusive einer USB Schnittstelle zur Porgrammierung sowie der seriellen Kommunikation. Hierbei gleicht das Board der Version 1.0/2.0.
Es kann über den USB Port mit Spannung versorgt werden, über 5 Volt am Vin Pin sowie mit 3-3.6V an den 3.3V Pins.
Zusätzlich besitzt es einen Ausgang für die USB Spannung (siehe Pinout)

Ansicht

Frontansicht

 

Rückansicht

Überblick

Name Node MCU 3.0  
Anzahl/CPU
ESP8266-12E
Takt (MHz)80
Kerne1
Digital IOs / Pins12
Analog inputs1
PWM10
SPI1
Flash Speicher 4MB
SRam (KB)128
EEPROM (KB)-
WiFi2,4 GHz 802.11 b/g/n
VerschlüsselungWEB / WPA2 / TKIP /AES
Bluetooth-
UART1
I2C1
Ethernet-
Video-
Sound-
USB1 micro
Betriebsspannung [V]3,3
Eingangsspannung3,3 / 5 USB / 6-20 Vin
Strom (mA) / Standby (mA)500-1000
Größe l x b x h62 x 33 x 12
Gewicht [g]<18

Die Version 3.0 passt leider nicht mehr auf eine Bread-Board (siehe Bild).

Pinning

Eingebaute LED befindet sich an Pin D4.

 

Programmierung

Präprozessor  auf esp 8266 prüfen :

#ifdef ESP8266
#define PIN_FOR_LED D4
#else
#define PIN_FOR_LED 5
#endif

.. auf NODE MCU V3 Prüfen ?

Mit Arduino Umgebung

Die Installation und die Porgrammierung ist gleich mit der Version 1.0/2.0 deshalb an dieser Stelle nur der Link.

Zubehör

Prototypplatine

NodeMCU V2 Motorplatine

Sonstiges

Probleme

Siehe auch Version 1.0/2.0

Board wird nicht erkannt oder verabschiedet sich dauernd

Sollte das Boad nicht erkannt werden oder das Gerät meldet sich dauernd neu beim Computer an, kann das an der Stromversorgung liegen. Die USB Stromversorgung reicht bei diesem Board meist nicht aus. Dies kann durch eine externe Spannungsquelle (Netzteil, Akku od. Batterie) umgangen werden.

Hier bieten sich Akkus mit Pinheader ähnlichen Anschluss an. Diese können einfach auf die Pins des Boards gesteckt werden. Die Akkus gibts relativ günstig. Vorsicht auf die Polung achten, sonst raucht’s.

LED_BUILTIN funktioniert nicht

?D4 ist der Port für die eingebaute LED. Einfach mal damit probieren.?

Sonstiges

Spannungsversorgung des ESPNodeMcu V3 über

  • USB
  • Batterie
  • Netzteil
  • Mit Spannungsregler

Powering the ESP-12E NodeMCU Development Board

 

Quellen

https://github.com/nodemcu

Comparison of ESP8266 NodeMCU development boards

https://forum.arduino.cc/index.php?topic=399324.0

Node MCU V1.0/2.0

Ein Entwicklungsboard mit dem ESP8266 inklusive einer USB Schnittstelle zur Porgrammierung sowie der seriellen Kommunikation.
Das Board kann über den USB Port mit Spannung versorgt werden, über 5 Volt am Vin Pin sowie mit 3-3.6V an den 3.3V Pins.
Alle Anschlusspins sind nach aussengeführt, der Node passt gerade so auf ein Bread-Board.

Ansichten

Frontansicht

Oben auf tront der ESP 8266 12 E, zwei Taster, ein Usbanschluss, und eine LED.

Rückansicht

Auf der Rückseite sind die Pins zum aufstecken z.B. auf ein Steckbrett.

 

Überblick

Name Node MCU 1.0/2.0  
Anzahl/CPU
ESP8266-12E
Takt (MHz)80
Kerne1
Digital IOs / Pins12
Analog inputs1
PWM10
SPI1
Flash Speicher 4MB
SRam (KB)128
EEPROM (KB)-
WiFi2,4 GHz 802.11 b/g/n
VerschlüsselungWEB / WPA2 / TKIP /AES
Bluetooth-
UART1
I2C1
Ethernet-
Video-
Sound-
USB1 micro
Betriebsspannung [V]3,3
Eingangsspannung3,3 / 5 USB / 6-20 Vin
Strom (mA) / Standby (mA)< 500
Größe l x b x h58 x 31 x 12
Gewicht [g]<18

Pinning

 

Programmierung

Mit Arduino Umgebung

ESP8266 Boardtreiber installieren.

Nach „esp8266“ selektieren und den gefundenen Eintrag installieren.

Programmieroption einstellen.

  1. Board wählen „NodeMCU 1.0…“
  2. Com Port wählen
  3. Den Programmieradapter wählen

Zum Testen das Blink-Beispiel auswählen.

Node programmieren

Sollte alles geklappt haben sollte nun die rote LED blinken.

Probleme

Node wird nicht richtig von Windows erkannt

Wird der Node nicht richtig oder mit Fehler erkannt, kann es helfen den unten gelinkten USB-Treiber zu installieren.

https://github.com/nodemcu/nodemcu-devkit/tree/master/Drivers

Programmierung schlägt fehl

Gibt es einen Fehler bei der Progammierung des Nodes, bitte überprüfen, dass das richtige Board, der richtige serielle Port und der richtige Programmierer ausgewählt ist.
Evtl. kann es helfen auch mal einen anderen Programmierer auszuprobieren.
Ob der richtige Port ausgewählt wurde, kann durch kurzzeitiges abziegen des Nodes vom USB Port überprüft werden. Der Port verschwindet dann aus der Auswahl im Menü.

Erweiterungen

Motorplatine

NodeMCU V2 Motorplatine

Quellen

https://github.com/nodemcu

Comparison of ESP8266 NodeMCU development boards

Powering the ESP-12E NodeMCU Development Board

ESP8266: NodeMCU Motor Shield Review

ESP01

Das ESP01 Modul ist mit unter 2€ mit eines der günstigsten und kleinsten Module mit ESP8266 Chipsatz.

Name ESP01  
Anzahl/CPU
1 / ESP8266
Takt (MHz)80
Kerne1
Digital IOs / Pins2
Analog inputs0
PWM0
SPI1
Flash Speicher 1 MB
SRam (KB)<50 (64)
EEPROM (KB)-
WiFi2,4 GHz 802.11 b/g/n
VerschlüsselungWEB / WPA2 / TKIP /AES
Bluetooth-
UART1
I2C-
Ethernet-
Video-
Sound-
USB-
Betriebsspannung [V]3.3
Eingangsspannung3.0 - 3.6
Strom (mA) / Standby (mA)80/3
Größe l x b x h14,3 x 24,8x
Gewicht [g]<5

Pinning

es bietet gerade mal zwei GPIOs zur Ansteuerung externer Peripherie.

 

Bildergebnis für esp01

 

Passender ISP

Mit diesem ISP kann der ESP01 programmiert werden.
(BUY EXAMPLE)

Bildergebnis für esp01 isp

Hierfür ist allerdings die Beschaltung eines zusätzlichen Widerstander notwendig, der zwischen GND und GPIO0 angelegt wird.

Testweise kann dieser einfach, wie oben zu sehen ist angeklemmt werden und mit samt Board auf den ISP gesteckt werden. (Vorsicht der Kondensator, der große silberne Zylinder, kann den Widerstand kurzschliessen.

Besser ist der folgende ISP der einen Schalter zur Programmierung besitzt. (BUY EXAMPLE)

Bildergebnis für esp01 isp

 

Programmierung

Mit der Arduino GUI

Über den Boardmanager das ESP8266 Modul installieren.

Das Board auf „Generic ESP8266 Module“ stellen und den Programmer aus „AVR ISP“. Bei Port die richtige serielle Schnittstelle auswählen.

Testprogramm

Als Testprogramm bietet sich das mitgelieferte Beispiel „Blink“ an.

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

Mit der Pfeiltaste compilieren und den ESP01 programmieren.
Hat alles geklappt blinkt die blaue Lampe. Soll der ESP erneut programmiert werden oder klappt es nicht gleich einfach den ISP kurz aus dem USB Port entfernen und wieder einstecken.

Quellen

ESP-01 (ESP8266) mit Adapter programmieren – So geht’s

https://create.arduino.cc/projecthub/ROBINTHOMAS/programming-esp8266-esp-01-with-arduino-011389

Programming ESP-01 (ESP8266)

https://www.heise.de/developer/artikel/Arduino-goes-ESP8266-3240085.html

http://www.instructables.com/id/Getting-Started-With-the-ESP8266-ESP-01/