Показано с 1 по 1 из 1
  1. #1
    Новичок
    Регистрация
    04.06.2019
    Сообщений
    1
    Вес репутации
    0

    По умолчанию Дополнить имеющуюся программу

    Нужно добавить в программу еще один ультразвуковой датчик и сервопривод,чтобы использовались два датчика и два сервопривода.Программа должна при приближении препятствия поворачивать сервопривод.Заранее спасибо.Очень надо сделать для диплома.датчики используются hc-sr04, серво sg90
    Имеется вот такой код:
    PHP код:
    #include <Servo.h>

    #define coef 10 //(коэффициент соответствия 10 градусов на 1см)
    #define dead_zone 4
    #define max_value 22
    #define servoPin1 7

    #define Trig 2
    #define Echo 3
    #define ledPin 13

    Servo myservo;

    void setup()
    {
    pinMode(TrigOUTPUT); //инициируем как выход
    pinMode(Echo, INPUT); //инициируем как вход
    pinMode(ledPinOUTPUT);
    myservo.attach(servoPin1);
    myservo.write(0);
    }

    unsigned int impulseTime=0;
    unsigned int distance_sm=0;

    void loop()
    {
    digitalWrite(TrigHIGH); /* Подаем импульс на вход trig дальномера */
    delayMicroseconds(10); // равный 10 микросекундам
    digitalWrite(TrigLOW); // Отключаем
    impulseTime pulseIn(Echo, HIGH); // Замеряем длину импульса
    distance_sm impulseTime/58// Пересчитываем в сантиметры

    if (distance_sm >= dead_zone && distance_sm <= max_value)
    {
    myservo.write(coef * (distance_sm dead_zone));
    }
    else if (
    distance_sm dead_zone)// если дистанция менее 4 см, серва в положении ноль градусов
    {
    myservo.write(0);
    }
    else
    {
    myservo.write(180);
    }
    delay(100); /* ждем 0.1 секунды, Следующий импульс может быть излучён, только после исчезновения эха от предыдущего. Это время называется периодом цикла (cycle period). Рекомендованный период между импульсами должен быть не менее 50 мс. */

    Последний раз редактировалось Chip; 05.06.2019 в 03:20.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •