Arduino Polska Forum
DS18B20 odczyt w rozdzielczości 9bit - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Czujniki (https://forum.arduinopolska.pl/dzial-czujniki)
+--- Wątek: DS18B20 odczyt w rozdzielczości 9bit (/watek-ds18b20-odczyt-w-rozdzielczo%C5%9Bci-9bit)



DS18B20 odczyt w rozdzielczości 9bit - Arpl - 24-12-2022

Witam

Mam kłopot żeby ustawić odczyt temperatury w rozdzielczości 9bit - upraszczając powód to wartość temp przechowuję w zmiennej INT więc większa rozdzielczość nie jest mi potrzebna. Próbowałem na różne sposoby to zrobić ale w tej bibliotece mi to nie wychodzi. Proszę o sugestie gdzie mogę ustawić rozdzielczość odczytu na 9 bit?
Kod:
#include <OneWire.h>
#include <DallasTemperature.h>
#include "U8glib.h"


U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);  // Dev 0, Fast I2C / TWI


OneWire oneWire(2); //Podłączenie do pin2
DallasTemperature sensors(&oneWire); //Przekazania informacji do biblioteki

DeviceAddress tempBojler = { 0x28, 0xE1, 0x3A, 0x81, 0xE3, 0x63, 0x3C, 0x5E };
DeviceAddress tempPompka = { 0x28, 0x3A, 0xAB, 0x11, 0x00, 0x00, 0x00, 0xC8 };


const int pompka = 4;
int tempB = 0;
int tempP = 0;
bool wlPompke = LOW;
unsigned long aktualnyCzas = 0;
unsigned long czasPracy = 0;
unsigned long czasPrzerwy = 0;


void setup(void) {
  pinMode(pompka, OUTPUT);
  digitalWrite(pompka, LOW);
  Serial.begin(9600);
  sensors.begin(); //Inicjalizacja czujnikow
 
}

void loop(void) {

  sensors.requestTemperatures();                              //Pobranie temperatury czujnika
  int tempB = (sensors.getTempC(tempBojler));
  int tempP = (sensors.getTempC(tempPompka));
 



RE: DS18B20 odczyt w rozdzielczości 9bit - kaczakat - 24-12-2022

Przykład jest w szkicu biblioteki "Multiple". Skoro masz adres czujnika to wystarczy tu wstawić:
// set the resolution to 9 bit per device
sensors.setResolution(tempBojler, 9);
sensors.setResolution(tempPompka, 9);
Wystarczy podmienić nazwę czujnika, a rozdzielczość możesz wstawić jako liczbę lub zmienną.