Archiv der Kategorie: Prozessorboards

SSD1306 Monochrom OLED 128×64 I2C

Ich habe mir zwei fast baugleiche 128×64 Displays gekauft um diese zu testen. Diese werden über den Wire (I2C) Bus angesteuert. Es gibt aber auch Varianten für den SPI Bus, die hier aber nicht behandelt werden.

Die beiden Displays haben auf den ersten Blick nur zwei offensichtliche Unterschiede. Erstens sie haben unterschiedlich große Bohrlöcher und zweitens bei ihnen ist VCC und GND vertauscht. Also aufpassen beim anschliessen eines ähnlichen displays, sonst raucht’s.
Als ich sie das erstes Mal leuchteten sah, fiel mir noch auf, dass das eine Display blaue Schrift hat und das andere weiße. Wenn man den schnellen Ali fragt, findet man noch weitere Variationen.

Versuchsaufbau

Zuerst habe ich mal einen Testaufbau mit einem NodeMCU V3 gesteckt. Die Spannungsversorgung hole ich mir vom Node. Die Kommunikation habe ich an die Pins D5 und D6 angeschlossen. Die Schaltung sieht wie folgt aus:

Bibliothek

Da ich andere Pins für den Wirebus verwende als die standard Arduino und ich feststellen musste, dass in der entsprechenden Adaruit Libray zum einen der Wirebus hardcodiert ist und zum anderen diese für Displays mit Resetanschluss gedacht ist. Habe ich mich, ohne weiter zu forschen für die ThingPulse Biliothek entschieden. Diese kann entweder über GIT herunter geladen werden oder über den LibraryManager in der Arduino Gui installiert werden.

Nach SSD suchen und die von Daniel Eichorn auswählen.

Programmierung

Beispielprogram

Als Testprogramm nutze ich mir die Uhr aus dem Beispielen.

Noch die richigen Pins eingetragen, hier ist der Code:

ESP8266_SSD1306ClockDemo

Kompiliert und den ESP programmiert und so sah es aus.

Die Genaue Uhr

Damit die Uhr auch stimmt habe ich kurzer Hand nocht die NTP Server abfrage eingebaut.

ESP8266_SSD1306ClockDemoNTP

ein Bild erübrigt sich, da sich hieran nichts geändert hat.

Nachtrag 27.06.2018: Ich habe einige fertige NTP Clients gefunden, ihre Verwendung ist wahrscheinlich leichter als als meine kleinst Entwicklung aus zusammen gestückelten Quellen.

https://github.com/aharshac/EasyNTPClient

https://github.com/gmag11/NtpClient

Weitere Projekte

NodeMCU V3 mit Oled Display aufmotzen

Quellen

 

 

NodeMCU V3 mit Oled Display aufmotzen

Ich hatte noch zwei Oled display von einem Test da, und überlegt was ich damit machen könnte.

Da ich in letzter Zeit mit Knoten mit integriertem Display experimentiert habe. Hatte ich vor meine alten ESP8266 NodeMCU  V3 etwas zu pimpen.

Den Weg hierzu möchte ich hier kurz umreissen, bei Fragen nicht zögern und einen Kommentar einstellen.

Display Umbau

Die Pins der Displays habe ich ausgelötet und durch Kabel ersetzt. Dies ging leider nicht ohne kleinere Kerben.

Befestigung auf dem ESP

Das Display wollte ich per Abstandshalter direkt auf dem NodeMCU befestigen. Leider stimmten die Lochabstände nicht ganz und so habe ich sie geschraublötet.

Verbindung zum Node

Die Kabel des Displays habe ich auf der rechten Seite an die Pins 3V, G , D5, D6 gelötet (Siehe auch vorheriges Bilde). Bei der Gelegenheit habe ich auchg gleich noch ein Anschlusskabel für einen LIPO Akku angelötet. Den LIPO kann man zwar auch direkt auf die Pins des Knotens stecken, aber man muss immer auf die Polung achten. Ausserdem kann man dann den Knoten nicht mehr gerade hin legen.

Ergebnis

Hier die beiden Knoten im Vergleich, auch gut zu sehen die getauschten Anschlüsse der Spannungsversorgung.

Da einer der beiden Knoten kaputt gegangen ist. (Eines meiner Kinder hat ihn von der Couch geworfen…) Habe ich noch eine Horizontale Variante, mit dem wieder frei gewordenen Display, erstellt. Der Vorteil dieser Variante ist, dass so die Löcher am Display genau mit denen des NodeMCU übereinstimmen. Die Rückseite des Displays und den ESP8266 habe ich vorher mit Klebeband isoliert, da ich annehme, dass nicht der Sturz von der Couch sondern eher ein Kurzschluss, der damit einherging den alten Node in die ewigen Jagtgründe geschickt hat.

Programmierung

Die Programmierung des Knotens, kann dem Vorgängerprojekt entnommen werden.

SSD1306 Monochrom OLED 128×64 I2C

Fazit

Ich habe jetzt zwei ESP8266 MCU Nodes V3 mit Display 😉

Zwei kleinere Displays warten noch darau auf einen Knoten geschraublötet zu werden. Der Beitrag hierzu folgt demnächst. Wobei ich mir noch nicht ganz einig bin ob ich hierfür den MCU Node V3 oder den kleineren V2 nehme.

ESP32 Arduino Gui einrichten mit Git

Wie immer gibt es im Netz zahlreiche Informationen, wie die Arduino Gui zu konfigurieren ist. Deshalb fasse ich mich an dieser Stelle sehr kurz, für detailiertere Informationen sei auf die unten verlinkten Quellen verwiesen.

Repository Clonen

Es gibt ein Git Paket zur Einrichtung der GUI für den ESP 32. (Link zu GIT GUI)

Git Gui starten und „Clone Existing Repositiory“ wählen.

Die Quelle für die ESP 32 Sources ist:

https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series.git

dort gibt es auch zusätzliche Infos.

Das Ziel ist das Arduino Projektverzeichnis, in meinem Fall unter MyDocuments/Arduino.

Mit Bestätigung der Eingabe über den Clone Button, erscheint das folgende Bild und alle Dateien werden aus Git extrahiert.

Danach muss man im Verzeichnis ..\Arduino\hardware\heltec\esp32\tools noch das Programm get.exe ausführen und in der Console mit Enter starten.

Erfolgsbestätigung

Arduino Gui neu starten,  tauchen die ESP 32 Einträge in der Board-Liste auf war die Installation erstmal erfolgreich.

Ob auch alles wirklich funktioniert kann mit einen der Beispielprogramme verifiziert werden. Einfach auswählen, übersetzen und auf den ESP 32 übertragen. (Vorher das richtige Board auswählen)

Probleme

Arduino Gui – falsches Installationsverzeichnis gewählt

Ich hatte das falsche Verzeichnis für meine Arduino Gui angegeben .

Zur Lösung des Problems kann der komplette esp32 Ordner in das richtige Verzeichnis unter hardware kopieren werden.

Keine Beispielprogramme für den ESP32 ?!

Zuerst muss das ESP32 Board ausgewählt werden, dann sind auch die entsprechenden Beispielprogramme vorhanden.

Projekte

ESP32 WiFi Lora 433

Quellen

https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/windows.md

https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series#instructions

Arduino Uno + WiFi

Hier geht es um einen Chinaimport und nicht um den offiziellen Uno WiFi. Die Platine hat einen vollständigen Ardunio Uno mit Atmega Prozessor und einen ESP8266 Chip on board. Über Dipschalter, kann jeweils der Uno mit dem USB, der ESP mit dem USB oder der ESP mit dem UNO verbunden werden.

Für den Betrieb kann eine externe Wlan-Antenne angeschlossen werden. Es sind zusätzlich ESP-Pins herausgeführt, die Beschaltung steht auf der Rückseite.

Daten

Name Uno + Wifi  
Anzahl/CPU
2 / ATmega328P + ESP 8266
Takt (MHz)16 / 80
Kerne1
Digital IOs / Pins14 / 4
Analog inputs6 / ?
PWM6 / ?
SPI1
Flash Speicher 32 KB / 8 MB
SRam (KB)2 / 128
EEPROM (KB)1 / -
WiFi- /2,4 GHz 802.11 b/g/n
Verschlüsselung- / WEB / WPA2 / TKIP /AES
Bluetooth-
UART1 / 1
I2C1 / 1
Ethernet- / -
Video-
Sound-
USB1 Micro
Betriebsspannung [V]5
Eingangsspannung7 - 12
Strom (mA) / Standby (mA)< 500
Größe l x b x h68,6 x 53,3
Gewicht [g]>25

Ansichten

Frontansicht mit den Verbindern für Erweiterungsplatinen, dem Stromanschluss, USB-Anschluss und einem  Resettaster. Zusätzlich zu den normalen Achlüssen befindet sich noch weitere für den ESP8266,  ein Antennenanschluss und ein Dip-Schalter zur Einstellung der seriellen Schnittstelle an Bord.

Hier ein paar technische Daten und die Pinbelegung der nach aussen geführten ESP Pins.

 

Jumper Einstellungen

DIP

Programmierumgebung

UNO

Dipschalter 3,4 auf ON Rest auf OFF

ESP8266

Dipschalter 5,6,7 auf ON Rest auf OFF. Sollte das programmieren nicht beginne ist ein Reset de des Boards nötig. Das spielen mit der Reset Methode brachte hier leider keine Besserung.

Test Programme

ESP8266 Durchreiche

Das folgende Programm reicht alles was auf dem seriellen Port eingeht an den verbundenen Server weiter und alles was über das  Netz rein kommt wieder auf den seriellen Port. Das Listing ist etwas lang weil ich die Netzwerkkommunikation aus einem anderen Projekt übernommen habe, deshalb hier nur die gelinkte Datei.

UARTEcho.ino

Alles Wichtige passiert in der loop Funktion. Die Daten für den Accesspoint und den Server müssen entsprechend angepasst werden.

Nachträglich habe ich auch Code von Arduino in den Beispielen der GUI gefunden. Die Datei heisst Wifi2Serial.ino.

Uno Echo

Das Testprogramm des Uno’s ist gleichfalls trivial. Es schreibt alles was er über den seriellen Port empfängt wieder auf diesen zurück.

[gistpen id=“776″]

SerialEcho.ino

Testen

Zum testen kann mein Socket-Tool verwendet werden.

Java Socket Konsolen Server

Dipschalter1,2 auf ON, der Rest auf OFF.

Die Socket Console starten.

Im Feld neben den „send“ Knopf kann ein Text eingegeben werden. Mit Betätigung des „send“ Knopfes, wird der Text an den Client geschickt. Wenn alles geklappt hat, kommt der Text mit einem „Echo: “ davor zurück.

Durch die Testausgaben des ESP auf den seriellen Port, kommen ein paar mehr Echos zurück als eingegeben wurden. Auch fehlt nach der Serververbindung der „New Line“- Befehl. Weshalb erst der 2. eingegeben Text gut sichtbar ist. Für einen ersten Test des Boards reicht es jedoch aus.

Quellen

https://github.com/jandrassy/UnoWiFiDevEdSerial1#writing-sketches-for-esp8266

https://github.com/esp8266/Arduino/issues/3004

https://community.blynk.cc/t/uno-wifi-r3-atmega328p-esp8266-board-32mb-memory-usb-ttl-ch340g-compatible-for/21564

https://github.com/gmag11/FirmataMaster

https://www.arduino.cc/reference/en/language/functions/communication/serial/

ESP32 WiFi Lora 433

Ich habe ein neues Spielzeug gefunden, den ESP32 mit on Board Display. Das Board ESP32 WiFi Lora 433 ähnelt mit seiner weißen Platine einwenig dem Atmel-Butterfly, ist aber nur halb so groß. Gerade wenn man mehr als nur eines dieser Boards betreiben möchte, liegt es mit rund 20€ gerade noch so im bezahlbaren Bereich.

Es passt gerade so auf ein Steckbrett, so dass an beiden Seiten noch ein Pin zur Beschaltung frei ist. Die Pins wurden in meinem Fall mitgeliefert und müssen selbst eingelötet werden.

Eine sehr puristische extener Antenne war auch mit im Packet. Da bei  meiner fast sofort die Spitze abgefallen ist, habe ich sie durch ein robusteres Modell ersetzt.

Es gibt auch noch einen kleineren Bruder mit weniger starkem Netzwerk das ESP32 WiFi Kit 32.

Ansicht

Frontansicht

Display zwei Knöpfen und USB Anschluss. Rechts versteckt ist ein Anschluss für eine externe Antenne.

Rückansicht

Anschluss ( JST-PH 2Pin 1.25mm)  für einen Akku .

 

Überblick

Name ESP23 Wifi Lora 433  
Anzahl/CPU
1 / ESP 32
Takt (MHz)240
Kerne1
Digital IOs / Pins36 / 28
Analog inputs18
PWM16
SPI4
Flash Speicher
SRam (KB)520
EEPROM (KB)4 MB
WiFiWide Range 802,11 b/g/N
Bluetooth + Externe Antenne
VerschlüsselungWEB / WPA2 / TKIP /AES
Bluetooth4.1
UART3
I2C2
Ethernet-
Video 0.96 OLED display
Sound_
USB1 Micro CP2102
Betriebsspannung [V]3,3
Eingangsspannung3,3 - 7
Strom (mA) / Standby (mA)
Größe l x b x h53 x 25 x 12
Gewicht [g]??

Pinning

WIFI_LoRa_32_Diagram

Programmierung

Arduino GUI

ESP32 Arduino Gui einrichten mit Git

Programmierung

Die Programmierung ist wie bei allen Arduino basierten Projekten in c/c++ und folgt den allgemeinen Regeln. Es gibt keine mir bekannten Besonderheiten für den ESP, ausser vielleicht dass er sehr viel an Peripherie schon mit bringt.

Wichtig ist nur das richtige Board auszuwählen.

1. Test – Beispielprogramm

Der erste Test ist immer ein Beispielprogramm aus dem Board-Paket. Eines auswählen compilieren und auf das Gerät schreiben.

2. Test – TCP Verbindung

Ich habe aus den Beispielen extrahiert was ich brauchte und mir ein kleines Program mit WiFi Verbindung und dem Display als Console geschrieben. Alle Funktionalität der Console habe ich in der Datei console.h als Klasse abgelegt. Aktuell sind nur die print und die prinln methoden jeweils mit Übergabeparameter String überschrieben.

Hier das Beispiel zum Downloaden:

DisplayWifiTest

Als Server auf dem PC verwende ich meine Java-Konsole.

http://fambach.net/tools-java-socket-console/

So sieht es auf dem ESP32 aus …

… und so auf der Java Konsole.

3. Test – WIFI Scan

Das folgende Porgramm scannt das Netzwerk in der Umgebung nach Accesspoints und gibt die SSID und die Sendestärke auf dem Bildschirm aus.

DisplaySSIDs

So sieht es auf dem Gerät aus:

 

Probleme

USB Fehler

Obwohl ich vorher den Treiber installiert hatte, wurde bei mir der ESP von Windows 10 nicht richtig erkannt, .

Das konnte ich über den Hardwaremanager korrigieren. Hier wird das fehlerhafte Gerät angezeigt. Über rechts Klick mit der Mouse und Treiber update habe ich nochmal den gedownloadeten Treiber ausgewählt. Danach ging es.

 

Netzwerkscan schlägt fehl

Es gibt wohl einen Bug in der Bibliothek,  wenn der ESP nicht richtig initialisiert ist. Dies ist der Fall wenn vor dem Scan nicht die methode WiFi.begin() aufgerufen wird. Das Resultat ist, der Scan schlägt fehl oder bekommt nur sehr wenige SSIDs.

Die Lösung ist in der init Methode einmal WiFi.begin() aufzurufen.

Fazit

Das ESP32 WiFi Lora 433 Board ist klein und leicht zu programmieren. Das Display bietet ausreichend Platz für kurze Informationen. Der ESP32 ist deutlich schneller als sein älterer Bruder der ESP8266. Auch für diesen gibt es ein ähnliches Board „ESP8266 WIFI 0.91″ Inch OLED“, was jedoch deutlich billiger ist.

 

Ähnliche Beiträge

ESP32 WiFi Kit 32

 

Quellen

https://en.wikipedia.org/wiki/ESP32

http://esp32.net/

https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series#instructions

https://www.heise.de/make/artikel/Grosser-Bruder-Espressif-ESP32-3256039.html

https://github.com/espressif/arduino-esp32/issues/758

Herstellerseite

GY-68 mit Sensor BMP85/BMP180

Der Bosch BMP85 ist ein barometrischer Sensor.  Er kann den Luftdruck und die Temperatur messen, um daraus die aktuelle Höhe über 0 zu berechnen.  Der BMP85 wird nicht mehr hergestellt und wurde durch den BMP180 abgelöst. Der BMP180 ist von der Bauform kleiner aber ansonsten fast baugleich mit seinem Vorgänger.  Unterschiede können den gelinkten Datenblättern entnommen werden.  Bei den Kerndaten habe ich bis auf den höheren Stromverbauch beim BMP180 keine Unterschiede feststellen können. (Datenblätter BMP85 / BMP180)
Der Sensor kann mit 1,8v bis 3,6V betrieben werden. Da der Arduino einen 5V I2c Bus hat empfiehlt es sich ein Sensorboard wie das GY-68 zu verwenden.

Ansicht

Daten

NameGY-68 mit Sensor BMP85/180
SensortypBarometer
Thermometer
Betriebsspannung5V
Sensorspannung 1,8-3,6V
BusI2c
Genauigkeit0,01 hPa
0,1°C
Messbereiche300hPa bis 1100 hPa
0°C bis +65°C

Schaltung

Anschluss

GND Masse
SDA I2C SDA
SCL I2C SCL
Vin 5 V

 

Einsatzzwecke

  • Bestimmung der Höhe über 0
  • Ausgleich/Vergleich von Aussen- und Innendruck
  • Warnung vor Überdruck
  • Erhöhung der Genauigkeit bei GPS

Programmierung

Bibliothek

Es gibt von Adafruit zwei Treiber-Bibliotheken. Eine ältere und die neue „Unified“. Beide leisten das Gleiche. Die „Unified“ folgt den Adafruit Programmierrichtlinien für Sensoren und ist somit bei einem Sensorwechsel leichter austauschbar.

Testprogramm

Das Beispielprogramm ist  in der Bibliothek enthalten. Diese habe ich für meine ersten Test verwendet.

Ausgabe

Die Ausgabe sieht erstmal OK aus. Mangels Vergleichswerten konnte ich diese, bis auf die Temperatur, nicht auf ihre Genauigkeit überprüfen. Die Temperatur war rund 2 Grad zu hoch.

Probleme

Generelle I2c Probleme

http://fambach.net/uno-wire-scannen/

Quellen

https://github.com/adafruit/Adafruit-BMP085-Library

https://github.com/adafruit/Adafruit_BMP085_Unified

Uno – Wire Scannen

Der I2c oder auch 2 Wire Bus genannt, arbeitet mit zwei Kabeln und  theoretisch mit einer Geschwindigkeit von bis zu 5 Mbit/s. Für den Hobbybedarf mit Freiluftverkabelung sind es wahrscheinlich eher weniger.

Der Uno hat den Wire-Anschluss am analogen Ausgang 4 und 5. Zum Testen habe ich ein GY-68 Barometer angeschlossen welches auf Port 0x77 des I2C Busses arbeitet.

Schaltung

Programm

Das folgende Testprogramm habe ich mir aus einigen Beispielen zusammen „gesucht“. Es dient dazu, einfach mal zu schauen ob die aufgebaute Schaltung auch richtig verdrahtet ist.
Das Porgram geht alle Adressen des I2C Busses durch und klopft mal beim Empfänger an. Antwortet dieser, wird der Port und am Schluss die Anzahl der gefundenen Teilnehmer angezeigt.

Quellocode

ScanWiree.ino

Ausgabe

Probleme

Das Wire Modul antwortet nicht

Einfach mal SDA und SDC vertauschen.

Sollte das Problem immer noch bestehen, mal veruschen Pullup Widerstände in die Schaltung einzubauen. Der Uno hat allerdings schon Pullups, sollte also eigentlich nicht nötig sein.

Quellen

https://de.wikipedia.org/wiki/I%C2%B2C

https://www.mikrocontroller.net/topic/88806

https://playground.arduino.cc/Main/I2cScanner

https://gist.github.com/tfeldmann/5411375

Arduino – HC-SR04 Entfernungsmesser

Ansteuerung des HC-SR04 Ultraschall-Entfernungsmesser mit Hilfe des Arduino UNO.

Grundlagen

SR-04

Aufbau

Schaltung

(Ich habe nachträglich noch die Pins von 0/1 auf 2/3 geändert weil an 0/1 noch der ISP hängt).

Testprogramm

Hier ein kleines Testprogramm. Es filtert zu kleine und zu große Werte heraus und ermöglicht die Mittelwertbildung über ein definiertes intervall.

[gistpen id=“756″]

SR04Test.ino

Hier könnte jetzt noch der Median angewendet werden um Ausreisser heraus zu nehmen.

In der Praxis bietet es sich wahrscheinlich an die Millimeter weg zu kürzen und nur den Zentimeterwerte, die wesentlich geringeren Schwankungen unterliegen, zu verwenden.

Output

Quellen

http://www.mikrocontroller-elektronik.de/ultraschallsensor-hc-sr04/

 

 

Arduino Motor Platine V1

Die Motorplatine ist perfekt für kleine Roboter-Projekte geeignet, bei denen 2 bis 4 Antriebsmotoren verwendet werden.

Zusätzlich bietet sie Anschlüsse für zwei Servos und die analogen Ports und mit ihnen auch der I2C Bus, sind durchgeschleift.

Überblick

Hier die wichtigsten Daten im Überblick:

  • 2 Servoanschlüsse
  • 2 Motorbrücken
  • 1 Schieberegistert
  • 1 Resetschalter
  • 1 Externer Spannungsanschluss
  • 1 Power LED
  • Jumper – zur Unterbrechung der Boardspannung

Ansicht

Beschaltung

Einsatz

  • Zwei-Achs-Plotter
  • 2 oder 4 Rad-Roboter
  • Pan/Tilt Stativ

Motorbrücken

Mit Hilfe der Motorbrücken können 4 Gleichstrommotoren oder 2  Schrittmotoren (mit 4 Leitungen) betrieben werden. Die L293D Motorbrücken können Motoren bis zu einem Strom vom 600mA versorgen. (Kurzzeitig bis zu 1,2 A). Wird ein höherer Strom benötigt können weitere L293D IC’s huckepack auf die vorhandenen aufgelötet und parallel betrieben werden.

Das Schieberegister, ermöglicht es mit nur 3 Pins des Arduinos die Drehrichtungen der Motoren zu bestimmen.

(evtl. mal einen Beitrag zum Scheiberegister einfügen…).

Für die Ansteuerung der Motoren gibt es unteranderem eine Bibliothek von Adarfruit. Diese kann über Git oder die Arduino GUI herunter geladen werden (siehe unten).

https://github.com/adafruit/Adafruit-Motor-Shield-library/zipball/master

Die Motorbrücken belegen die folgenden Pins am Arduino:

  • Pin 11 Motor 1 – Geschwindigkeit
  • Pin   3  Motor 2 – Geschwindigkeit
  • Pin   5  Motor 3 – Geschwindigkeit
  • Pin   6  Motor 4 – Geschwindigkeit
  • Pin   4, 7, 8, 12 Richtungsvorgabe für alle Motoren über 74HC595 Register.

Servoanschlüsse

Das Bord verfügt über zwei Steckplätze für Standardservos. Jeder Steckplatz hat drei Pins jeweils einen für Strom, Masse und den Steuereingang.

Die Steuereingänge belegen die folgenden Pins am Arduino:

  • Pin 9    – Servo 1
  • Pin 10 – Servo 2

Externe Spannungsversorgung

Hier können von 4.5V bis zu 25V an Schraubklemmen angelegt werden. Bitte auf die Polung achten sonst rauchts …

Kompatibilität

Der Shield kann mit folgenden Boards verwendet werden.

Arduino Uno

Arduino Uno

Arduino Leonardo

Arduino Leonardo

Uno + WiFi

Bedingt kompatibel, es wird eine externe Spannungquelle benötigt um mehr als einen Servo zu betreiben.

Arduino Uno + WiFi

Software

Bibliothek installieren

Ich habe mir die Bibliothek über GitHub herunter geladen und sie manuell installiert. Über die Arduino GUI geht es etwas einfacher.

Bibliotheksmanger aufrufen:

Nach „motor“ suchen und die „Adafruit Motor Shield Library“ in der letzten Version installieren.  Aufgepasst es gibt eine „Adafruit Motor Shield V2“ diese kann leider nicht für die V1 Platine verwendet werden. (Motorplatine V2).

Servos ansteuern

Im Grunde werden die Servos ganz normal über die Arduino Bibliothek angesprochen. Wichtig für die Motorplatine ist nur, dass hier die Servos an Port 9 und 10 angeschlossen sind.

Meine Billigservos, harkeln einwenig an den Endpunkten, diese könnte man noch ausschliessen indem man die Konstanten min und max anpasst.

Über den Faktor kann die Schrittgröße bestimmt werden und über wait die wartezeit zwischen den einzelnen Schritten.

[gistpen id=“629″]

ServoTest.ino

Motoren Ansteuern

Für einen ersten Test habe ich das vorhandene Beispielprogramm verwendet.

Einfach auswählen, kopilieren und schon läuft Motor 1.

Um alle 4 Motoren zu testen, was nützlich erscheint um die Drehrichtungen (Polung) zu überprüfen, habe ich die Datei wie folgt angepasst.

MotorTest2.ino

Die Ausgabe sollte dann wie folgt aussehen.

Quellen

https://playground.arduino.cc/Main/AdafruitMotorShield

https://learn.adafruit.com/adafruit-motor-shield/library-install

https://learn.adafruit.com/adafruit-motor-shield

https://learn.adafruit.com/adafruit-motor-shield/faq