мой первый проэкт, очень нуждаюсь в помощи
- Войдите на сайт для отправки комментариев
Сб, 05/03/2022 - 16:06
приветствую всех форумчан форума. нашёл себе хобби заниматься ардуино ну и делать простые вещи. приобрёл наборчик деталей и плату UNO R3. хочу своему кошаку сделатъ вытяжку. схема простая кот подходит к лотку,PIR его видет включает вентилятор и поворачивает задвижку в трубе. через определенное время вентилятор выключается и задвижка закрывает трубу. вместо вентилятора пока LED схема вроде работает. что я не смог сделать это привязать кнопку , что бы при нажатие задвижка закрывалась, вентилятор выключался и схема вставало опять на ожидание кошки. буду очень благодарен если кто подскажет или поможет отредактировать скечь. всем хороших выходных.
#include <Servo.h>
#define LED 3 // порт для светодиода
#define PIR 2 // порт для датчика движения
Servo zadvizhka;
int angle; // переменная для угла поворота микро серво
void setup() {
pinMode(LED, OUTPUT);
pinMode(PIR, INPUT);
zadvizhka.attach(10); // порт для сервомотора
}
void loop()
{
if (digitalRead(PIR) == HIGH) {// если есть движение включаем светодиод
digitalWrite(LED, HIGH); //светодиод включен
{
for (angle = 0; angle <= 90; angle++) {// цикл для поворота от 0 до 90 градусов
zadvizhka.write(angle); // сообщаем микро серво угол поворота
delay(20); // скорость поворота сервомотора
}
delay(5000); //светодиод годит 5000 милисек= 5 сек
digitalWrite(LED, LOW);//светодиод выключается
}
delay(2000);
for (angle = 90; angle >= 0; angle--) // цикл для поворота от 90 до 0 градусов
{
zadvizhka.write(angle); // сообщаем микро серво угол поворота
delay(20); // скорость поворота сервомотора
}
delay(1000);}
}
Невозможно привязать то, чего нет. В этом скетче нет даже намека на кнопку.
И второе - с такой кучей делеев кнопку привязывать - дохлый номер
как вы считаете, скобка на строке 17 - на месте? если да - обьясните, в чем ее функция
Делэй в таком коде неправильно. Пока в нём висит программа нельзя ничего делать. Ни кнопки нажимать ни программу направить в другое русло. Как заменить делэй написано в теме blink without deley. В остальном надо копать либо в направлении прграммных автоматов, либо использовать флаги состояния.
как вы считаете, скобка на строке 17 - на месте? если да - обьясните, в чем ее функция
скобка не на месте, сдвинул в лево.
скобка не на месте, сдвинул в лево.
ЛОЛ
я правильно понял, требуется замена delay на millis?
я правильно понял, требуется замена delay на millis?
вообще да, но для начала я бы все-таки разобрался с положением скобок. Имхо, на данный момент код не работает именно из-за них.
Да там прям БЯДА со скобками. Кому-то не завезли, а ТС отгрузили лишнего )))
Обещаны котлеты домашние на ужин, так что смотри как это вообще должно выглядеть (в твоём исполнении ТС):
#include <Servo.h> const uint8_t LED = 3; // ПИН для светодиода const uint8_t PIR = 2; // ПИН для датчика движения const uint8_t SERVOPIN = 10; // ПИН для сервомотора Servo zadvizhka; int angle; // переменная для угла поворота микро серво void setup() { pinMode(LED, OUTPUT); pinMode(PIR, INPUT); zadvizhka.attach(SERVOPIN); // Если начал правильно писать код - действуй так до конца. Но понимаешь ли что тут происходит вообще? } void loop() { if (digitalRead(PIR) == HIGH) { // если есть движение включаем светодиод digitalWrite(LED, HIGH); // светодиод включен for (angle = 0; angle <= 90; angle++) { // цикл для поворота от 0 до 90 градусов zadvizhka.write(angle); // сообщаем микро серво угол поворота delay(20); // скорость поворота сервомотора } delay(5000); // светодиод годит 5000 милисек= 5 сек digitalWrite(LED, LOW); // светодиод выключается delay(2000); for (angle = 90; angle >= 0; angle--) { // цикл для поворота от 90 до 0 градусов zadvizhka.write(angle); // сообщаем микро серво угол поворота delay(20); // скорость поворота сервомотора } delay(1000); } }как вы считаете, скобка на строке 17 - на месте? если да - обьясните, в чем ее функция
скобка не на месте, сдвинул в лево.
Не нужно двигать. В Arduino IDE нажать комбинацию Ctrl+T, среда сама отформатирует код. Если там, конечно, со скобками все нормально
Вы что там курите ващще? Скока стоить? Где покупаити?