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

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

  1. Tomasina

    Tomasina Иномирянин

    Можно.
     
  2. ИгорьК

    ИгорьК Давно здесь

  3. Sharkman89

    Sharkman89 Нуб

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

    ИгорьК Давно здесь

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

    SergeiL Гуру

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

    tungsten3200 Нуб

    Tomasina, ИгорьК
    Спасибо за ответ!
     
  7. 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);
    }
     
  8. ИгорьК

    ИгорьК Давно здесь

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

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

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