"Adafruit Motor Shield v2"
Contents
Introduction
This Plugin in currently only available in the latest mega build github
This Plugin is for the Adafruit Motor Shield v2 which is controlled over the I2C protocol. To connect it to ESP8266 devices (e.g. Wemos D1 R2) you have to set it to 3.3 V, see adafruit documentation for that.
Hardware
This Plugin works with the v2 version of the Adafruit Motor Shield v2: Support the great developer of this board with buying it from them! (you will also find cheaper clones on Aliexpress, which also work with this plugin)
This Picture shows a clone board.
Software
The Plugin is heavily based on Adafruits own Library
ESP Easy
Use the device tab on the ESP Easy webinterface and create a new task by editing one of the available tasks. Select "Adafruit Motor Shield v2" from the dropdown box.
Enter the i2c address of you sensor, default value 0x60
Controlling the Motor Shield via HTTP commands
You can control the Motorshield by remote http commands send from your Home Automation Controller or any other device that can send http get requests.
Command format:
For DC Motors:
http://<ESP IP address>/control?cmd=MotorShieldCMD,DCMotor,<Motornumber>,<Forward/Backward/Release>,<Speed>
For Steppers:
http://<ESP IP address>/control?cmd=MotorShieldCMD,Stepper,<Motornumber>,<Forward/Backward/Release>,<Steps>,<SINGLE/DOUBLE/INTERLEAVE/MICROSTEP>
Examples: Turn on DC Motor, Direction: Forward. Speed is a value from 0-255
http://<ESP IP address>/control?cmd=MotorShieldCMD,DCMotor,1,Forward,255
Stopping the DC Motor:
http://<ESP IP address>/control?cmd=MotorShieldCMD,DCMotor,1,Release
control a Servo Motor
Support for Servo Motors is available via the buildtin functionality of ESPEasy (not part of this plugin) and can be done this way:
http://<ESP IP address>/control?cmd=Servo,<servo nr>,<pin>,<position>
We currently support a maximum of two servo motors so you can build a pan & tilt device if you like.
Example to set servo 1 on gpio-0 to a 90 degree position and servo 2 on gpio-2 to a 45 degree position:
http://<ESP IP address>/control?cmd=Servo,1,0,90 http://<ESP IP address>/control?cmd=Servo,2,2,45
Beware: The Servo Pins on the Motor Shield (next to the reset button) do not work if you put the motor shield directly on the "wemos d1 r2"
Rules Example
On Clock#Time=All,21:22 do // every day at 21.22 hours do ... event,startwater endon on startwater do MotorShieldCMD,DCMotor,1,Forward,215 // open valve timerSet 2,1 // 1 sec timer endon On Rules#Timer=2 do //When Timer2 expires, do MotorShieldCMD,DCMotor,1,Release endon on stopwater do MotorShieldCMD,DCMotor,1,Backward,69 // close valve timerSet 3,1 // 1 sec timer endon On Rules#Timer=3 do //When Timer3 expires, do MotorShieldCMD,DCMotor,1,Release endon