А именно, с версией 1.0.1
Простой код, который опрашивает датчик DS18B20 (библиотека DallasTemperature) не работает, при компиляции пишет ошибку
Код:
C:\arduino-1.0.1\libraries\DallasTemperature\BSeries.cpp:32:24: error: WConstants.h: No such file or directory
C:\arduino-1.0.1\libraries\DallasTemperature\BSeries.cpp: In member function 'virtual float BSeries::getTemperature(NewOneWire*)':
C:\arduino-1.0.1\libraries\DallasTemperature\BSeries.cpp:43: error: 'byte' was not declared in this scope
C:\arduino-1.0.1\libraries\DallasTemperature\BSeries.cpp:43: error: expected `;' before 'lowByte'
C:\arduino-1.0.1\libraries\DallasTemperature\BSeries.cpp:44: error: expected `;' before 'highByte'
C:\arduino-1.0.1\libraries\DallasTemperature\BSeries.cpp:48: error: 'highByte' was not declared in this scope
C:\arduino-1.0.1\libraries\DallasTemperature\BSeries.cpp:48: error: 'lowByte' was not declared in this scope
В версии 0018 - компилирует легко... Писал бы скетч на 0018, но на этой версии новые библиотеки не копилируются :-D
Скетч Chip' а, в 0018 компилируется, в 1.0.1 нет
#include <DallasTemperature.h>
DallasTemperature tempSensor;
Код:
void setup(void)
{
pinMode(5, OUTPUT);
digitalWrite(5, HIGH); //блокируем АСС на время инициализации датчика
// Serial.begin(115200);
tempSensor.begin(4); //Вешаем Датчик на 4 порт
}
void loop(void)
{
if(tempSensor.isValid()==1 | tempSensor.isValid()==2)
{
tempSensor.reset();
digitalWrite(5, LOW); // если датчик не исправен , то разблокируем АСС
return;
}
float tmpr=tempSensor.getTemperature(); //прочтать температуру от датчика
if(int(tmpr) < 0) digitalWrite(5, HIGH);//если температура ниже ноля, включить подогрев
if(int(tmpr) > 0) digitalWrite(5, LOW);//если температура выше ноля, выключить подогрев
// Serial.print(int(tmpr)); //округлить до целой и отправить температуру
// Serial.println(); //перенос строки
}