Ниже приведен пример простого термометра на датчике DS18B20 под управлением Arduino Uno.
Как видно на фото, схема подключения предельно проста. Разместите на макетной плате группу из трех проводов, создав таким образом сегмент 3-проводной шины GND — DQ — VCC. Используйте эти провода для подключения платы Arduino к макетной плате, как показано в таблице. Затем на эту шину устанавливите подтягивающий резистор 4,7кОм, соединяющий DQ и VCC и затем устанавливите датчик DS18B20 в корпусе ТО92.
Цветные провода | Arduino Uno | DS18B20 |
---|---|---|
Черный | GND | GND |
Белый | IO4* | DQ |
Красный | +5V | VCC |
*можно использовать другой цифровой вход-выход
Пример программы показан ниже. Справа результат работы программы в окне Serial Monitor.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
//Требуемые библиотеки #include <OneWire.h> #include <DallasTemperature.h> OneWire oneWire(4); //Создаем объект oneWire, 4 - номер контакта, к которому подключены датчики DallasTemperature sensors(&oneWire);//Создаем объект sensors int numer = 1; //Номер измерения void setup() { Serial.begin(9600); sensors.begin(); //Инициализация датчиков. По умолчанию устанавливается максимальное разрешение - 12бит } void loop(void) { sensors.requestTemperatures();//Запрос температуры от всех датчиков на шине Serial.print("Измерение "); Serial.print(numer); Serial.print(" : "); Serial.println(sensors.getTempCByIndex(0));//Посылаем температуру датчика с индексом 0 в Serial Monitor delay(3000); numer++; } |