mirror of
https://github.com/esphome/esphome-docs.git
synced 2024-12-27 17:37:45 +01:00
134 lines
3.1 KiB
ReStructuredText
134 lines
3.1 KiB
ReStructuredText
Grove TB6612FNG Motor Drive
|
|
===========================
|
|
|
|
.. seo::
|
|
:description: Instructions for setting up Grove TB6612FNG Motor Driver in ESPHome.
|
|
:image: grove_tb6612fng.jpg
|
|
|
|
The Grove TBB6612FNG a runs over I²C bus and has the capability to control DC and Stepper motors.
|
|
At the current stage of implementation only DC motor is implemented.
|
|
|
|
.. figure:: images/grove_tb6612fng.jpg
|
|
:align: center
|
|
:width: 50.0%
|
|
|
|
.. code-block:: yaml
|
|
|
|
# Example configuration grove motor
|
|
grove_tb6612fng:
|
|
id: test_motor
|
|
name: motor_outside
|
|
address: 0x14
|
|
|
|
# Example switch trigger
|
|
switch:
|
|
- platform: template
|
|
name: open_vent
|
|
id: open_vent
|
|
optimistic: True
|
|
on_turn_on:
|
|
then:
|
|
- grove_tb6612fng.run:
|
|
channel: 1
|
|
speed: 255
|
|
direction: BACKWARD
|
|
id: test_motor
|
|
- delay: 10s
|
|
- switch.turn_on: stop_motor
|
|
- switch.turn_off: open_vent
|
|
|
|
Configuration variables:
|
|
************************
|
|
|
|
- **id** (**Required**, :ref:`config-id`): The id to use for this TB6612FNG component.
|
|
- **address** (*Optional*, int): The I²C address of the driver.
|
|
Defaults to ``0x14``.
|
|
- **name** (*Required*, boolean): The name of the component
|
|
|
|
.. grove_tb6612fng.run:
|
|
|
|
``grove_tb6612fng.run`` Action
|
|
------------------------------------
|
|
|
|
Set the motor to spin by defining the direction and speed of the rotation, speed is a range from 0 to 255
|
|
|
|
.. code-block:: yaml
|
|
|
|
on_...:
|
|
then:
|
|
- grove_tb6612fng.run:
|
|
channel: 1
|
|
speed: 255
|
|
direction: BACKWARD
|
|
id: test_motor
|
|
|
|
|
|
.. grove_tb6612fng.stop:
|
|
|
|
|
|
``grove_tb6612fng.stop`` Action
|
|
-------------------------------------
|
|
|
|
Set the motor to stop motion but wont stop to spin in case there is a force pulling down, you would want to use break action if this is your case
|
|
|
|
.. code-block:: yaml
|
|
|
|
on_...:
|
|
then:
|
|
- grove_tb6612fng.stop:
|
|
channel: 1
|
|
|
|
|
|
|
|
.. grove_tb6612fng.break:
|
|
|
|
|
|
``grove_tb6612fng.break`` Action
|
|
--------------------------------------
|
|
|
|
Set the motor channel to be on break mode which it ensure the wheel wont spin even if forced or pushed
|
|
|
|
.. code-block:: yaml
|
|
|
|
on_...:
|
|
then:
|
|
- grove_tb6612fng.break:
|
|
channel: 1
|
|
id: test_motor
|
|
|
|
.. grove_tb6612fng.standby:
|
|
|
|
``grove_tb6612fng.standby`` Action
|
|
----------------------------------
|
|
|
|
Set the board to be on standby when is not used for a long time which reduces power consumptions and any jerking motion when stationary
|
|
|
|
.. code-block:: yaml
|
|
|
|
on_...:
|
|
then:
|
|
- grove_tb6612fng.standby
|
|
id: test_motor
|
|
|
|
.. grove_tb6612fng.no_standby:
|
|
|
|
``grove_tb6612fng.no_standby`` Action
|
|
-------------------------------------
|
|
|
|
Set the board to be awake, every esphome is restarted the default mode is set to standby to ensure the motor wont spin accidentally
|
|
|
|
.. code-block:: yaml
|
|
|
|
on_...:
|
|
then:
|
|
- grove_tb6612fng.no_standby
|
|
id: test_motor
|
|
|
|
|
|
See Also
|
|
--------
|
|
|
|
- :ref:`i2c`
|
|
- :doc:`switch/gpio`
|
|
- :ghedit:`Edit`
|