Created
July 14, 2023 15:14
-
-
Save rubin110/ba3f5ac71144b8aeeb52b60da8435fcc to your computer and use it in GitHub Desktop.
ESPHome config to drive a simple stepper as part of a cat / pet feeder, original design by n9jcv
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ESPHome config to drive a simple stepper as part of a cat / pet feeder. | |
# The 3D project I printed is: | |
# Pet Feeder Treat Dispenser Web App Enabled by n9jcv | |
# https://www.printables.com/model/142993-pet-feeder-treat-dispenser-web-app-enabled | |
# device_base includes your standard esp config, logger, api, ota, web_server, wifi, | |
# and a few sensors to provide HA with more info. | |
substitutions: | |
device_name: "cat-feeder-1" | |
friendly_name: "Cat Feeder 1" | |
project_name: "cat-feeder-1" | |
device_description: "cat-feeder-1" | |
project_version: "1.0" | |
relay_restore_mode: RESTORE_DEFAULT_OFF | |
platform_name: esp8285 | |
board_name: esp01_1m | |
esp8266: | |
early_pin_init: false | |
packages: | |
device_base: !include common/device_base.yaml | |
stepper: | |
- platform: uln2003 | |
id: stepper_motor | |
pin_a: 5 | |
pin_b: 4 | |
pin_c: 14 | |
pin_d: 12 | |
max_speed: 250 steps/s | |
# Optional: | |
acceleration: inf | |
deceleration: inf | |
sleep_when_done: true | |
button: | |
- platform: template | |
name: "${friendly_name} Rotate Right" | |
id: rotate_right | |
on_press: | |
# Move 150 steps forward | |
- stepper.report_position: | |
id: stepper_motor | |
position: 0 | |
- stepper.set_target: | |
id: stepper_motor | |
target: -256 | |
- platform: template | |
name: "${friendly_name} Rotate Left" | |
id: rotate_left | |
on_press: | |
# Move 150 steps forward | |
- stepper.report_position: | |
id: stepper_motor | |
position: 0 | |
- stepper.set_target: | |
id: stepper_motor | |
target: 256 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment