Показано с 1 по 10 из 34

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #5
    Новичок
    Регистрация
    24.11.2010
    Возраст
    55
    Сообщений
    4
    Вес репутации
    0

    По умолчанию Re: Датчик дождя или датчик препятствий.

    Цитата Сообщение от Chip Посмотреть сообщение
    Перепробовал несколько вариантов датчика из интернет, все работают не правильно, чувствительность низкая срабатывают на разные помехи, например на пульты ДУ или энергосберегающие лампы.
    Решил написать свой код, теперь у меня можно настроить чувствительность датчика от 1 см до нескольких метров и при этом не стабатывает на помехи.
    Чувствительность регулируется резитором в цепи ИК диода, у меня примерно 1к и слабый ИК светодиод от старой мышки , срабатывают на расстоянии 30см от препятствия . Пробовал на оконном стекле (брызгал водой ) срабатывает стабильно. На автомобильном стекле еще не проверял. Carduino с нижеприведеным кодом работать самостоятельно без ПК. Индикатор (L) начинает светиться при срабатывании. Датчик ИК и ИК светодиод должны быть полностью изолированы друг от друга светонепроницаемым материалом.
    ИК приемник использовал из https://duino.ru, работающий в диапазоне 38кГц


    Скетч для Carduino / Arduino
    PHP код:
    byte tsop 11;   //tsop
    byte irLed 10;  //ик-светодиод 
    byte Led 13;   //осветодиод(L) на плате
    byte i;     // счётчик
    byte num=20//число периодов несущей 38кГц в посылаемом пакете
    byte impulse=10;  // длительность полупериода
    byte valold_val;   //переменная для хранения сигнала с ИК приемника

    void setup() 
    {
      
    pinMode (irLedOUTPUT); // разъём 10 на вывод
      
    pinMode(LedOUTPUT);   //разъём 13 на вывод
      
    pinMode(tsopINPUT);   // разъём 11 на ввод
      
    Serial.begin(115200);
    }

    void loop()
    {
      for(
    i=0i<numi++) //цикл несущей
      
    {
        
    digitalWrite(irLedHIGH); //зажигаем ик-диод
        
    delayMicroseconds(impulse); //положительный полупериод
        
    digitalWrite(irLedLOW); //гасим ик-диод
        
    delayMicroseconds(impulse-1); //выравниваем скважность
      
    }
      
     
    val=digitalRead(tsop);//Прочитать показания датчика
     
    if (val==old_val)     //сравнить показания с предидущей посылкой
     
    {
      
    digitalWrite(Led,(val==LOW) ? HIGH:LOW); //если сигнал низкий то зажигаем светодиод
      
    if (val==LOW)   delay(300); //время свечения светодиода (L) при срабатывании
     
    }
    old_val=val;

    delay(30); //пауза между пакетами.  
      // Serial.println(val, DEC);

    Нажмите на изображение для увеличения. 

Название:	NANO_Rain_sens.PNG 
Просмотров:	9421 
Размер:	7.9 Кб 
ID:	6422
    Чип! Подскажи пожалуйста схема есть, а как запитать Carduino и как вывести, чтобы Carduino управлял стеклоочистителями без ПК?
    Последний раз редактировалось Chip; 19.03.2017 в 03:17.

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

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

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

Ваши права

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