Оглавление:
- Шаг 1: ингредиенты
- Шаг 2: Построение Arduino
- Шаг 3: Кодирование Arduino
- Шаг 4: Дополнительно: ЖК-экран
- Шаг 5: напечатанные детали
- Шаг 6: Размещение
Видео: Управляемый светом шаговый двигатель + настенный кронштейн / подставка: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Эта подставка используется для установки шагового двигателя, управляемого Arduino, предназначенного для автоматического управления занавеской в соответствии с уровнем освещенности в комнате. Вы также можете добавить ЖК-экран для печати уровня освещенности. Трехмерное снаряжение предназначено только для демонстрации, реальное снаряжение может потребоваться для практического применения, такого как занавеска, а также для любого другого приложения, которое вы можете придумать.
Шаг 1: ингредиенты
Для запуска этого проекта вам потребуется:
- 2 набора микросхем Arduino - Щит двигателя Arduino - ЖК-экран Arduino - 1 макетная плата - 1 биполярный шаговый двигатель - 1 батарея D - 1 светозависимый резистор - 1 резистор 10 кОм - 10 штыревых проводов - 6 штыревых - женские провода - доступ к 3D-принтеру
Шаг 2: Построение Arduino
Сначала выровняйте моторный щит со штырями Arduino, и как только они выровняются, надежно установите его. Затем подключите провода шагового двигателя к контактам 8, 9, 10 и 11 на кожухе двигателя. После этого подключите батарею D в гнездах, как показано на схеме. Затем вам понадобится 6 проводов (вилка-розетка) для ЖК-экран и подключите их к другому блоку Arduino, как показано на принципиальной схеме. Затем настройте LDR, как показано выше, с резистором, подключенным к отрицательной строке. При добавлении LDR на стороне с резистором добавьте подключите A0, а на противоположной стороне добавьте 1 вход 5 В для каждой используемой платы, поэтому, если вы используете 2 платы, вам нужно, чтобы каждая из них имела 5 В и вывод A0, идущие к LDR.
Подключите все провода так, как показано на схеме - 2 входа к LDR - 2 выхода от LDR и резистора, подключаемого к заземлению - 8 проводов к ЖК-дисплею, 1 5 В, 1 заземление и 6 входов - 4 провода, подключаемые к шаговый - 2 подключения к батарее - заземление макета должно быть подключено
Шаг 3: Кодирование Arduino
Вот пример кода для изменения состояния шестерни на основе LDR.
Это код, который позволит проекту автоматически управлять шторкой. Фотография выше объясняет различные пути через вложенные операторы IF с точки зрения подъема, опускания или оставления занавеса на своем месте. (щелкните изображение, чтобы увидеть его полностью, так как есть проблемы с форматированием)
# defineLDRA0 // Определяет переменную "LDR" на вывод A0 # include
constintstepsPerRevolution = 200; // Когда шаговый двигатель активирован, его полный оборот равен 200 шагам
SteppermyStepper (stepsPerRevolution, 8, 9, 10, 11); // Определяет вход для шагового двигателя как контакты 8, 9, 10, 11
voidsetup () {myStepper.setSpeed (60); // Устанавливает, насколько быстро двигатель выполняет вращениеpinMode (LDR, INPUT); // Определяет переменную "LDR" как входную Serial.begin (9600); // Запускает последовательное чтение }
voidloop () {intlightlevel = analogRead (LDR); // Определяет переменную "lightlevel" как действие, которое считывает значение "LDR" Serial.print ("Light Level:"); Serial.println (lightlevel); // Печатает значение "lightlevel" с подписью выше.
/ * Теперь есть цикл, который определяет уровень освещенности в каждой точке пути * Доступно 3 варианта: подниматься, опускаться, оставаться в том же положении * Он разработан таким образом, что если уровень освещенности остается прежним, он будет оставайтесь прежними, в противном случае он изменится * например, если он будет 950, затем перейдет к 952, ничего не произойдет, однако, если он перейдет с 950 на 600, он поднимет занавес и наоборот * Каждый шаг обозначается буквой перед шагом, чтобы отслеживать, где он находится в цикле через последовательный монитор * /
if (lightlevel> = 900) {Serial.println ("A"); // Какой это шаг в loopmyStepper.step (3 * stepsPerRevolution); // Шаговый двигатель делает 3 оборота вперед. Если он отрицательный, он идет назадdelay (30000); // Оставляем на 5 минут intlightlevel = analogRead (LDR); // Определяем переменный «уровень освещенности» как последнее чтение из LDRSerial.print («Уровень освещенности:»); // Печатает текст перед переменной Serial.println (lightlevel) // Печатает значение уровня освещенности
if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (светлый уровень);
if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3 * -stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Уровень освещенности:"); Serial.println (lightlevel);}
else {Serial.println ("D"); myStepper.step (3 * -stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}
else {Serial.println ("E"); myStepper.step (3 * -stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
if (lightlevel> = 900) {Serial.println ("F"); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}
else {Serial.println ("G"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}
}
else {Serial.println ("H"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
if (lightlevel> = 900) {Serial.println ("I"); myStepper.step (3 * stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (уровень освещенности);
if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3 * -stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Уровень освещенности:"); Serial.println (lightlevel);}
else {Serial.println ("K"); myStepper.step (3 * -stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
}}
else {Serial.println ("L"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
if (lightlevel> = 900) {Serial.println ("M"); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}
else {Serial.println ("N"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
}}
}
}
Шаг 4: Дополнительно: ЖК-экран
Это напечатает уровень освещенности, обнаруженный LDR, на ЖК-экране.
#включают
-
// Добавляет жидкокристаллическую библиотеку с дополнительным кодом #define ldr A0 // Определяет переменную "ldr" для вывода A0
ЖК-дисплей LiquidCrystal (8, 9, 4, 5, 6, 7); // инициализируем библиотеку номерами контактов интерфейса
voidsetup () {// код, который запускается один раз при startlcd.begin (16, 2); // устанавливаем количество столбцов и строк на ЖК-дисплее соответственноpinMode (ldr, INPUT); // Определяет ldr как входной pinSerial.begin (9600); // Начинает связь с последовательным монитором
}
voidloop () {// код, который будет повторяться непрерывно Serial.println (analogRead (ldr)); // Печатает показания, полученные ldr (число от 0 до 1023) на серийном мониторе lcd.setCursor (6, 0); // установить курсор в столбец 6, строка 0lcd.print (analogRead (ldr)); // Выводит это значение на ЖК-экранdelay (1000); // Задерживает следующую команду на одну секунду
}
Шаг 5: напечатанные детали
Используйте следующие файлы для печати подставки и шестерни. Вы можете настроить оборудование для своих целей и использовать кронштейн для крепления на стене или в качестве дисплея. Поскольку 3D-передача слабая, настоящая передача может использоваться вместо нее, если она соответствует завесе, которой она будет управлять.
Если будет использоваться шестерня, напечатанная на 3D-принтере, один из зубцов шестерни был удален, чтобы установочный винт мог закрепить его на двигателе.
Передние 2 ножки настенного кронштейна также можно снять, если он будет крепиться к стене. Они были добавлены только для того, чтобы он работал, пока мы с ним тестировали.
Шаг 6: Размещение
Теперь, когда все детали готовы, пора приступить к окончательной укладке.
Сначала поместите шаговый двигатель в предоставленную коробку на подставке и наденьте шестерню на ось, затем переместите провода так, чтобы они проходили за подставкой. Наконец, поместите arduino и батарею за подставку.
Ваша доска должна теперь выглядеть так, как на картинке выше.
Поздравляю!
Механизм можно использовать для автоматических штор или любых других вещей, которые вы хотите контролировать с помощью LDR.
Вы сделали. Наслаждайтесь своим новым творением.
Рекомендуемые:
Настенный планшет для домашней автоматизации Secret: 6 шагов
Секретный настенный планшет для домашней автоматизации: в этой инструкции будет рассказано, как создать крепление для планшета openHAB (https://www.openhab.org/), откуда планшет можно будет снять в любое время, где он будет заряжаться без кабель, и стена будет выглядеть совершенно нормально, когда нет планшета
Настенный светильник DIY RGB: 6 шагов
Настенный светильник DIY RGB: Введение: Если вы хотите попробовать вручную сделать действительно отличную и простую лампу, этот проект будет идеальным для вас! В этом руководстве я покажу вам, как создать простой настенный светильник с изменяющимся цветом и различными эффектами! Вы можете поменять
Настенный светильник Pixel Cloud Ambient: 6 шагов (с изображениями)
Pixel Cloud Ambient Wall Light: еще одна модификация светильника Ikea, добавлены адресуемые светодиоды и контроллер для создания чего-то уникального. Предназначен для использования в детской комнате для мягкого рассеянного света и в качестве ночника. В этом проекте используется 56 адресуемых пикселей APA102, NLE
Настенный светильник с крышкой от бутылки Nuka Cola: 9 шагов
Настенный светильник с крышкой от бутылки Nuka Cola: вы фанат Fallout? Вам понравится эта лампа в вашей спальне. Хорошо, давайте сделаем это
Светодиодный настенный дисплей: 5 шагов
Настенный светодиодный экран: в этом руководстве мы узнаем, как сделать настенный светодиодный экран, подходящий как для повседневной, так и для профессиональной среды. Я хотел сделать это, потому что светодиоды для меня - новое понятие, и их часто упускают из виду, но они могут быть