Страница 1 из 4 1234 ПоследняяПоследняя
Показано с 1 по 10 из 34
  1. #1
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,376
    Вес репутации
    10

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

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


    Скетч для 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 
Просмотров:	8547 
Размер:	7.9 Кб 
ID:	6422
    Последний раз редактировалось Chip; 22.03.2017 в 10:50.

  2. #2
    Пользователь Аватар для poraboloid
    Регистрация
    30.11.2009
    Возраст
    42
    Сообщений
    39
    Вес репутации
    184

    Стрелка Re: Датчик дождя или датчик препятствий.

    И как успехи ?
    Сам к лету буду заморачиваться, изобретать датчики освещенности и дождя.

  3. #3
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,376
    Вес репутации
    10

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

    Все отлично работает,
    Также отлично работает как датчик движения и препятствий , чувствительность регулируется огромных пределах

  4. #4
    Местный
    Регистрация
    31.08.2009
    Возраст
    40
    Сообщений
    109
    Вес репутации
    201

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

    а когда в продажу?

  5. #5
    Новичок
    Регистрация
    24.11.2010
    Возраст
    54
    Сообщений
    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 
Просмотров:	8547 
Размер:	7.9 Кб 
ID:	6422
    Чип! Подскажи пожалуйста схема есть, а как запитать Carduino и как вывести, чтобы Carduino управлял стеклоочистителями без ПК?
    Последний раз редактировалось Chip; 19.03.2017 в 03:17.

  6. #6
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,376
    Вес репутации
    10

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

    Нужно добавить MOSFET или Реле с ключем,
    После этого в перемнную led прописываем выход на котором будет реле или ключь. Должно все заработать

  7. #7
    Местный Аватар для zhserg
    Регистрация
    12.11.2010
    Сообщений
    135
    Вес репутации
    192

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

    Цитата Сообщение от Anatolyj Посмотреть сообщение
    а как запитать Carduino
    Подать 12В на вывод "VIN", ну и "землю" на "GND".

  8. #8
    Новичок
    Регистрация
    24.11.2010
    Возраст
    54
    Сообщений
    4
    Вес репутации
    0

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

    Цитата Сообщение от zhserg Посмотреть сообщение
    Подать 12В на вывод "VIN", ну и "землю" на "GND".
    стабилизированный +12 или можно с проводки авто?

  9. #9
    Пользователь
    Регистрация
    19.06.2009
    Сообщений
    32
    Вес репутации
    189

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

    от бортсети в ардуино есть свой стабилизатор

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

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

    В проводке авто не 12v. Бывает и 13-13.4v.... ??

Страница 1 из 4 1234 ПоследняяПоследняя

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

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

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

Ваши права

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