Подскажите программный код для датчиков? Их подключение к Arduino?

Тема в разделе "Arduino & Shields", создана пользователем Димач, 22 фев 2013.

  1. Димач

    Димач Нерд

    Нужно для Инфракрасный датчик движения и Ультразвуковой дальномер ???
     
  2. Sergey991

    Sergey991 Нерд

    Вот для датчика движения... Если в поле зрения датчика появляется движущийся объект - загорается светодиод на 13 порту.
    Код (Text):
    int ledPin = 13; // Светодиод на 13 порту
    int inPin = 3; // ИК Датчик движения
    void setup()
    {
    pinMode (ledPin, OUTPUT);
    pinMode (inPin, INPUT);
    }
    void loop()
    {
    if (digitalRead(inPin) ==HIGH)
    {
    digitalWrite(ledPin, HIGH);
    delay(250);
    digitalWrite (ledPin, LOW);
    }
    }

    И ультразвуковой дальномер...
    Программа подключает дальномер, и тправляет снимаемые показания через сериал (можете открыть сериал монитор и наблюдать=). И когда расстояние больше 50см - загорается светодиод на 13 порту..
    Код (Text):
    int inputPin=4; // Echo
    int outputPin=5; // Trig
    int ledpin=13;
    void setup()
    {
    Serial.begin(9600);
    pinMode(ledpin,OUTPUT);
    pinMode(inputPin, INPUT);
    pinMode(outputPin, OUTPUT);
    }
    void loop()
    {
    digitalWrite(outputPin, LOW);
    delayMicroseconds(2);
    digitalWrite(outputPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(outputPin, LOW);
    int distance = pulseIn(inputPin, HIGH);
    distance= distance/58;
    Serial.print(distance);
    Serial.print(" ");
    Serial.print("cm");
    Serial.print(" ");
    delay(1000);
    if (distance >=50)
    {
    digitalWrite(ledpin,HIGH);
    }
    else digitalWrite(ledpin,LOW);
    }

    Жду спасибки=)
     
  3. HighDigital

    HighDigital Гик

    Только в первом примере: паузу забыли между:
    Код (Text):
    digitalWrite(ledPin, HIGH);
    digitalWrite (ledPin, LOW);
    Не успеете заметить. :)
     
  4. Sergey991

    Sergey991 Нерд

    да! спасибо за замечание.. исправил.. думаю задержки в 250 хватит..:rolleyes:
     
  5. HighDigital

    HighDigital Гик

  6. Димач

    Димач Нерд

    Спасибо обязательно опробую надеюсь получится))
     
  7. Димач

    Димач Нерд

    почему то 2 сервы на 360 без ограничения не хочет работать с ультразвуковым?
     
  8. gall789

    gall789 Нуб

    ультразвуковой дальномер...
    Вроде работает нормально.
    Только периодически появляются отрицательные значения на serial и диод гаснет.
    При этом датчик не двигаю, смотрит на стену. Расстояние примерно 2,5м.
     
  9. Sergey991

    Sergey991 Нерд

    расстояние в 2.5м почти за пределом его возможности
     
  10. gall789

    gall789 Нуб

    Если верить, производителем заявлен диапазон 2см. - 450см.
    Что почти в 2раза превышает 2,5м.