Интернет-магазин «Неглупый Дом»
28BYJ-48 с ULN2003 сматывает или разматывает штору на фиксированное число шагов по нажатию одной из двух кнопок.
Шаговый двигатель 28BYJ-48 вращается не произвольно, а строго дискретными шагами — зная количество шагов на полный оборот (2048 в режиме библиотеки Stepper), можно точно рассчитать, на сколько шагов повернуть вал, чтобы смотать или размотать штору на нужную длину шнура.
Драйвер ULN2003 усиливает управляющие сигналы Arduino до тока, достаточного для обмоток двигателя. Логика проекта простая: двигатель не знает абсолютное положение шторы, он просто крутится заданное число шагов в одну сторону по кнопке «открыть» и столько же в обратную по кнопке «закрыть» — если штора изначально была полностью закрыта, этого достаточно для точного хода между крайними положениями.
Так как реализации модуля бывают разные, если контактов как в примере нет на вашей плате — сориентируйтесь по надписям на своей.
// ВНИМАНИЕ: отладьте через монитор порта — я языковая модель, а не
// специализированный кодер, основу накидал, проверьте под свою схему.
#include <Stepper.h>
const int stepsPerRevolution = 2048; // стандартное значение для 28BYJ-48
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
const int openPin = 2;
const int closePin = 3;
const int travelSteps = 2048 * 3; // подберите под длину карниза
void setup() {
pinMode(openPin, INPUT);
pinMode(closePin, INPUT);
myStepper.setSpeed(12); // медленнее — чтобы штора не дёргалась резко
}
void loop() {
if (digitalRead(openPin) == HIGH) {
myStepper.step(travelSteps);
}
if (digitalRead(closePin) == HIGH) {
myStepper.step(-travelSteps);
}
}
`travelSteps` подбирается под длину карниза и диаметр вала намотки — начните с малого значения и увеличивайте.
Ещё модули для Arduino: Электронные модули.
🎁 Купить весь комплект со скидкой 10%
Все 2 товара сразу: 272 ₽ 245 ₽ (экономия 27 ₽)
Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.
Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.