Arduino - odczyt temperatury

User avatar
byniom
Posts: 695
Joined: Sat Jan 07, 2017 1:17 pm
Been thanked: 1 time

Post

Nie trzeba czasem rozdzielić ich na oddzielne kanały ?
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

jamsjamsen wrote: Sat Jan 28, 2017 11:18 am Witam;)

i jak poszło z kilkoma czujnikami DS18B20 na Arduino??

ja po dodaniu w kodzie:

// CHANNEL6 - Thermometer DS18B20
SuplaDevice.addDS18B20Thermometer();
SuplaDevice.addDS18B20Thermometer();

mam na smartfonie zdublowaną temperature z jednego czujnika?

jak rozdzielić odczyt z poszczególnych czyjników ??

może tu trzeba coś zmienić?? :

double get_temperature(int channelNumber, double last_val) {

double t = -275;

if ( sensors.getDeviceCount() > 0 )
{
sensors.requestTemperatures();
t = sensors.getTempCByIndex(0); // odczyt przez index a może lepiej przez adres urządzenia?
};

return t;
}
W zależności od
channelNumber

ustalasz odpowiedni index dla sensors.getTempCByIndex(0)
SUPLA.... Nareszcie w domu.
User avatar
jamsjamsen
Posts: 72
Joined: Sat Jan 28, 2017 11:08 am
Location: 0xE952

Post

pzygmunt wrote: Sat Jan 28, 2017 4:37 pm
jamsjamsen wrote: Sat Jan 28, 2017 11:18 am Witam;)

i jak poszło z kilkoma czujnikami DS18B20 na Arduino??

ja po dodaniu w kodzie:

// CHANNEL6 - Thermometer DS18B20
SuplaDevice.addDS18B20Thermometer();
SuplaDevice.addDS18B20Thermometer();

mam na smartfonie zdublowaną temperature z jednego czujnika?

jak rozdzielić odczyt z poszczególnych czyjników ??

może tu trzeba coś zmienić?? :

double get_temperature(int channelNumber, double last_val) {

double t = -275;

if ( sensors.getDeviceCount() > 0 )
{
sensors.requestTemperatures();
t = sensors.getTempCByIndex(0); // odczyt przez index a może lepiej przez adres urządzenia?
};

return t;
}
W zależności od
channelNumber

ustalasz odpowiedni index dla sensors.getTempCByIndex(0)
Dzięki za szybką odpowiedź.
ale mi to dużo nie mówi,gdyż jestem początkującym użytkownikiem Arduino itp.
przydałby się kawałek przykładowego kodu.

z góry dzięki i sorry za problem.

Jams
Byłem na Supla Offline Party 2023 & 2024 ;
User avatar
jamsjamsen
Posts: 72
Joined: Sat Jan 28, 2017 11:08 am
Location: 0xE952

Post

Witam.
metodą prób i błędów chyba się udało:

double get_temperature(int channelNumber, double last_val) {

double t = -275;

if ( sensors.getDeviceCount() > 0 )
{
sensors.requestTemperatures();
t = sensors.getTempCByIndex(channelNumber); // zamiast Index(0) , dałem (channelNumber)
};

return t;
}

jak narazie wydaje się ,że działa jako same termometry, nie wiem jak będzie przy dodaniu większej ilości Channel:

np z :

SuplaDevice.addRelay(45, true);

SuplaDevice.addRollerShutterRelays(46,
47, true);

SuplaDevice.addDS18B20Thermometer();
SuplaDevice.addDS18B20Thermometer();



pozdro Jams
Byłem na Supla Offline Party 2023 & 2024 ;
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Aby to działało to kanały z termometrami muszą być na początku.
SUPLA.... Nareszcie w domu.

Return to “Nowości”