Управление сервоприводом

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем Peresh, 5 авг 2018.

  1. Peresh

    Peresh Нуб

    Подскажите как правильно написать программу.
    Мне необходимо когда загорается лампочка чтоб сервопривод сработал один раз туда обратно, а он работает постоянно.
    if (tooDark3)
    {
    // ...включаем освещение
    digitalWrite(LED_PIN3, HIGH);
    tone(BUZZER_PIN, 4500, 500);
    myservo.write(0);
    delay(800);
    myservo.write(180);
    delay(800);
    }
    else
    {
    // ...иначе свет не нужен — выключаем его
    digitalWrite(LED_PIN3, LOW);
    }
    спасибо всем
     
  2. b707

    b707 Гуру

    добавьте переменную, что серва уже сработала.
     
  3. Peresh

    Peresh Нуб

    Попробовал не получилось (тямы не хватает)
    Переменная постоянно обявляется int, как то надо цикл наверное сделать чтоб программа гонялась после инт.
     

    Вложения:

  4. parovoZZ

    parovoZZ Гуру

    на бумаге нарисуй алгоритм и выложи сюда. Я тебе скажу, где ошибка. Без четкого алгоритма программу не напишешь НИКОГДА.
     
  5. Peresh

    Peresh Нуб

    Три фоторезистора 123
    Три потенциометра 123
    три светодиода 123
    одна пьезопищалка
    один сервопривод
    Каждый светодиод включается в зависимости от освещенности (все могут настроены на разную освещенность)
    по принципу темно-горит, светло-не горит.
    пишалка срабатывает на горит и работает пока горит.
    сервопривод подключен к 3 светодиоду и срабатывает не горит- стоит, горит-сработал т.е. светодиод загорелась сервопривод сделал два действия и стоит, светодиод продолжает гореть сервопривод стоит и сработает только когда светодиод погаснет и сново загорится.
     
  6. parovoZZ

    parovoZZ Гуру

  7. Peresh

    Peresh Нуб

    Спасибо за за наглядный материал.
     
  8. Peresh

    Peresh Нуб

    сделал короче