DS18B20: повторим пройденное.

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем ИгорьК, 2 дек 2014.

  1. ИгорьК

    ИгорьК Гуру

  2. Sharkman89

    Sharkman89 Нуб

    Tomasina спасибо огромное!
     
  3. ИгорьК

    ИгорьК Гуру

    А мне спасибо? Я тоже хочу!!!
    Хотя если будете совать в чай пластик, пайку и изоляцию - мне не надо :)
     
  4. SergeiL

    SergeiL Оракул Модератор

    А зачем " - 0.5 " ?
     
  5. tungsten3200

    tungsten3200 Нуб

    Tomasina, ИгорьК
    Спасибо за ответ!
     
  6. Vasil

    Vasil Нуб

    Я только начинаю знакомиться с ардуино, подскажите пожалуйста что можно добавить в мой код, что бы ds18b20 заработал на паразитном питании.
    В сети встретил строку
    Код (C++):
    ds.write(0x44); // начинаем преобразование, используя ds.write(0x44,1) с "паразитным" питанием
    но как ее реализовать не могу понять.
    P.S.: Заранее благодарен, код в спойлере
    Код (C++):
    /********************************************************************/
    #include <OneWire.h>
    #include <DallasTemperature.h>
    /********************************************************************/
    //Провод данных подключен к контакту 2 на Arduino
    #define ONE_WIRE_BUS 2
    /********************************************************************/
    //Настройка экземпляра oneWire для связи с любыми устройствами OneWire
    OneWire oneWire(ONE_WIRE_BUS);
    /********************************************************************/
    // Передаем ссылку oneWire на температуру в Далласе.
    DallasTemperature sensors(&oneWire);
    /********************************************************************/
    void setup(void)
    {
      //запуск последовательного порта
      Serial.begin(9600);
      Serial.println("Dallas Temperature IC Control Library Demo");

    //Запускаем библиотеку
      sensors.begin();
    }
    void loop(void)
    {
    //вызову sensor.requestTemperas () для выдачи глобальной температуры
    //запрос ко всем устройствам на шине
      /********************************************************************/
      Serial.print(" Запрос температуры ...");
      sensors.requestTemperatures(); // Отправить команду для получения показаний температуры
      Serial.println("DONE");
      /********************************************************************/
      Serial.print("Температура  : ");
      Serial.println(sensors.getTempCByIndex(0));  // Почему "byIndex"?
      Serial.print("Температура 2: ");
      Serial.println(sensors.getTempCByIndex(1));
      Serial.println(" ");
      delay(3000);
    }
     
  7. ИгорьК

    ИгорьК Гуру

    С далласовской библиотекой никогда не работал.

    Для работы на паразитном питании в целом ничего менять не надо, но надо обеспечить задержку 750 мс между командой на измерение температуры и командой на чтение данных.

    Думаю, мой ответ вам мало поможет, но ковырять эту библиотеку желания нет.
     
    DetSimen нравится это.
  8. Tosha37

    Tosha37 Нуб

    Всем привет. Пришли два ds18b20 из китая. Оба меряют меряют отрицательную только
    до -2. Подскажите в чем косяк. Проверял скетчами из примеров на ардуине.
     
  9. DetSimen

    DetSimen Guest

    Неть. Мои 2 штуки дома правильно до -38 показывали в эту зиму. По крайней мере с прогнозиком на телефоне совпадало.
    Правда, эта, после 38 у них случалась сингулярность и за окном становилось 85 гра по-ихнему. У обоих сразу.
     
  10. parovoZZ

    parovoZZ Гуру

    CRC сверяешь?
     
  11. parovoZZ

    parovoZZ Гуру

    У меня тоже совпадает. Но это не 0.5 даташитовские, а грубее.
     
  12. DetSimen

    DetSimen Guest

    конечно. Но -39 я ни на одном даччике так и не увидел, хотя ночью в городе до -44 было.
     
  13. 85 градусов это значение по умолчанию при включении датчика. По какой-то причине измерение не происходит.
     
    ИгорьК нравится это.
  14. ИгорьК

    ИгорьК Гуру

    Истина.
     
  15. На даче мыши перегрызли кабель датчика. Хотелось бы починить, и срастить провода не вопрос, но оба провода в перегрызенном кабеле - белые, блин.

    1. Просто попробовать, от переплюсовки ничего страшного с датчиком не будет?
    2. Пробовать с 3-вольтовым аппаратом, Леонардо там или Малинка?
    3. Как-то его прозванивать, чтобы понять, что есть что?
     
  16. znamen

    znamen Guest

    Прозвонкой не получится стопудово. Это не транзистор или диод.
     
  17. parovoZZ

    parovoZZ Гуру

    Только перебором. Датчик не умрет.
     
  18. znamen

    znamen Guest

    Да. Правильно.
     
  19. カオナシ

    カオナシ Нерд

    А прозвонить провода непосильная задача?
    Я бы не стал, ИМХО переполюсовку может и не пережить.
     
  20. parovoZZ

    parovoZZ Гуру

    Из моего датчика торчали провода следующих цветов: черный, красный, желтый. А теперь скажи - какая жила за что отвечает?