Czujniki temperatury ds18b20
-
Duch__
- Posts: 2199
- Joined: Wed Aug 24, 2016 7:26 pm
- Location: Opole
- Been thanked: 6 times
Jak najbardziej może mieć to wpływ, ale bardziej termiczny niż zakłócenia.Jakby były zakłócenia to pomiar byłby nieczytelny lub bardzo mocno przekłamany. Pamiętaj że miedź zawarta w przewodzie bardzo dobrze przewodzi ciepło i temperatura przechodzi poprzez miedź bezpośrednio do czujnika, nagrzewając go od środka.
-
alankedzior
- Posts: 114
- Joined: Mon Jun 18, 2018 5:38 pm
Czujniki niekiedy działają niekiedy nie. Ostatnio czujnik na ostatnim kanale od dwóch dni nie zmienia wartości wisi w powietrzu, nie potrafię zmienić rozdzielczości w arduino może to by pomogło? Jak to zrobić?
-
slawek
- Posts: 2685
- Joined: Mon Mar 14, 2016 11:48 pm
- Location: Biała Podlaska
Nie odpowiedziałeś jaki masz soft - @Wojtas567? @Duch__? a jeśli własny to pokaż kod, bo te kilka termometrów na softach wymienionych kolegów działa bez problemu, ale nikt tu nie jest jasnowidzem... też miałem ten problem, ale ci koledzy go już rozwiązali...alankedzior wrote: Sun Dec 30, 2018 10:04 pm Czujniki niekiedy działają niekiedy nie. Ostatnio czujnik na ostatnim kanale od dwóch dni nie zmienia wartości wisi w powietrzu, nie potrafię zmienić rozdzielczości w arduino może to by pomogło? Jak to zrobić?
TEORIA jest wtedy gdy wszystko wiemy i nic nie działa
PRAKTYKA jest wtedy gdy wszystko działa a my nie wiemy dlaczego
My łączymy teorię z praktyką czyli nic nie działa i nikt nie wie dlaczego
PRAKTYKA jest wtedy gdy wszystko działa a my nie wiemy dlaczego
My łączymy teorię z praktyką czyli nic nie działa i nikt nie wie dlaczego
-
slawek
- Posts: 2685
- Joined: Mon Mar 14, 2016 11:48 pm
- Location: Biała Podlaska
A ja SUPLI...
Zauważasz różnice w obsłudze termometrów w prezentowanych na forum kodach?
Zauważasz różnice w obsłudze termometrów w prezentowanych na forum kodach?
TEORIA jest wtedy gdy wszystko wiemy i nic nie działa
PRAKTYKA jest wtedy gdy wszystko działa a my nie wiemy dlaczego
My łączymy teorię z praktyką czyli nic nie działa i nikt nie wie dlaczego
PRAKTYKA jest wtedy gdy wszystko działa a my nie wiemy dlaczego
My łączymy teorię z praktyką czyli nic nie działa i nikt nie wie dlaczego
-
alankedzior
- Posts: 114
- Joined: Mon Jun 18, 2018 5:38 pm
@slawek o to mój kod, nie wiem jak zmienić rozdzielczość temperature precision nie pomaga, problemem może być też zastosowany przeze mnie kabel omy 3 x 0,5mm i myślę jeszcze nad zmiana na skrętkę dopóki nie przykręciłem jeszcze płyt kg, najdłuższe odcinki to około 25m
Code: Select all
#include <SPI.h>
#include <Ethernet.h>
#include <SuplaDevice.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define BTN_COUNT 20
#define TEMPERATURE_PRECISION 10
OneWire oneWire(41);
DallasTemperature sensors(&oneWire);
DeviceAddress DS18B20_1 = { 0x28, 0x2, 0x0, 0x7, 0x5E, 0x6B, 0x1, 0x5E }; // termometr szafa
DeviceAddress DS18B20_2 = { 0x28, 0xAA, 0x52, 0x8, 0x12, 0x13, 0x2, 0x87 }; // termometr kotłownia
DeviceAddress DS18B20_3 = { 0x28, 0xF9, 0x4B, 0x55, 0x1A, 0x13, 0x1, 0xFD }; // termometr front
DeviceAddress DS18B20_4 = { 0x28, 0xFF, 0xF5, 0x35, 0xB4, 0x16, 0x5, 0xAE }; // termometr SALON
DeviceAddress DS18B20_5 = { 0x28, 0xFF, 0xB3, 0x27, 0xB4, 0x16, 0x5, 0xE4 }; // termometr KORYTARZ
DeviceAddress DS18B20_6 = { 0x28, 0xFF, 0xEB, 0xA8, 0xB4, 0x16, 0x3, 0xD1 }; // termometr TARAS
DeviceAddress DS18B20_7 = { 0x28, 0xFF, 0xE6, 0x45, 0x60, 0x17, 0x4, 0x29 }; // termometr garaz
// DS18B20 Sensor read implementation
double get_temperature(int channelNumber, double last_val) {
double t = -275;
if ( sensors.getDeviceCount() > 0 )
{
sensors.requestTemperatures();
switch(channelNumber)
{
case 0:
t = sensors.getTempC(DS18B20_1);
break;
case 1:
t = sensors.getTempC(DS18B20_2);
break;
case 2:
t = sensors.getTempC(DS18B20_3);
break;
case 3:
t = sensors.getTempC(DS18B20_4);
break;
case 4:
t = sensors.getTempC(DS18B20_5);
break;
case 5:
t = sensors.getTempC(DS18B20_6);
break;
case 6:
t = sensors.getTempC(DS18B20_7);
break;
};
};
return t;
}
typedef struct {
int pin;
int relay_pin;
int channel;
char last_val;
unsigned long last_time;
} _btn_t;
_btn_t btn[BTN_COUNT];
void supla_timer() {
char v;
unsigned long now = millis();
for(int a=0;a<BTN_COUNT;a++)
if (btn[a].pin > 0) {
v = digitalRead(btn[a].pin);
if (v != btn[a].last_val && now - btn[a].last_time ) {
btn[a].last_val = v;
btn[a].last_time = now;
if (v==0)
{
if ( digitalRead(btn[a].relay_pin) > 0 ) {
SuplaDevice.relayOff(btn[a].channel);
} else {
SuplaDevice.relayOn(btn[a].channel, 0);
}
}
}
}
}
void supla_btn_init() {
for(int a=0;a<BTN_COUNT;a++)
if (btn[a].pin > 0) {
pinMode(btn[a].pin, INPUT_PULLUP);
btn[a].last_val = digitalRead(btn[a].pin);
btn[a].last_time = millis();
}
}
void setup() {
Serial.begin(9600);
// Init DS18B20 library
sensors.begin();
// Set temperature callback
SuplaDevice.setTemperatureCallback(&get_temperature);
// Replace the falowing GUID
char GUID[SUPLA_GUID_SIZE] = {};
// with GUID that you can retrieve from https://www.supla.org/arduino/get-guid
// Ethernet MAC address
uint8_t mac[6] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05};
SuplaDevice.addDS18B20Thermometer(); // kanał 0 termometr
SuplaDevice.addDS18B20Thermometer(); // kanał 1 termometr
SuplaDevice.addDS18B20Thermometer(); // kanał 2 termometr
SuplaDevice.addDS18B20Thermometer(); // kanał 3 termometr
SuplaDevice.addDS18B20Thermometer(); // kanał 4 termometr
SuplaDevice.addDS18B20Thermometer(); // kanał 5 termometr
SuplaDevice.addDS18B20Thermometer(); // kanał 6 termometr
SuplaDevice.addRollerShutterRelays(0, 1, true); // kanal 7 testowy 2
SuplaDevice.addRelay(2); // kanal 8 lampa front k12
SuplaDevice.addRelay(3); // kanal 9 lampa taras k11
SuplaDevice.addRelay(4); // kanal 10 lampa kotłownia k14
SuplaDevice.addRelay(5); // kanal 11 kinkiety salon k15
SuplaDevice.addRelay(6); // kanal 12 lampa piwnica k16
SuplaDevice.addRelay(7,true); // kanal 13 lampa płot k01
SuplaDevice.addRelay(8); // kanal 14 kuchnia Led k17
SuplaDevice.addRelay(21); // kanal 15 salon led k21
SuplaDevice.addRelay(11,true); // kanal 16 girlanda k02
SuplaDevice.addRelay(12); // kanal 17 brama wjazd otworz kdc11
SuplaDevice.addRelay(13); // kanal 18 brama wjazd zamknij kdc12
SuplaDevice.addRelay(14); // kanal 19 akwarium k22
SuplaDevice.addRelay(15); // kanal 20 brama wjazd 2 otworz
SuplaDevice.addRelay(16); // kanal 21 brama wjazd 2 zamknij kdc14
SuplaDevice.addRelay(17); // kanal 22 gniazdo salon 1 (lampa)
SuplaDevice.addRelay(18); // kanal 23 gniazdo salon 2 (choinka ) k24
SuplaDevice.addRelay(42); // kanal 24 taras led k25
SuplaDevice.addRelay(28); // kanal 25 brama garaz kdc22
SuplaDevice.addRelay(39); // kanal 26 furtka kdc21
SuplaDevice.addRelay(40,true); // kanal 27 lampy zewnetrzne k03
SuplaDevice.begin(GUID, // Global Unique Identifier
mac, // Ethernet MAC address
", // SUPLA server address
, // Location ID
""); // Location Password
memset(btn, 19, sizeof(btn));
btn[0].pin = 20; // przycisk front s2
btn[0].relay_pin = 2; // przekaznik front k12
btn[0].channel = 7; // numer kanału
btn[1].pin = 19; // przycisk lampa taras s1
btn[1].relay_pin = 3; // przekaznik lampa taras k11
btn[1].channel = 8; // numer kanału
btn[2].pin = 43 ; // przycisk lampa kotłownia s18
btn[2].relay_pin = 4; // przekaznik lampa kotłownia k14
btn[2].channel = 9; // numer kanału
btn[3].pin = 22 ; // przycisk kinkiety salon s7
btn[3].relay_pin = 5; // przekaznik kinkiety salon k15
btn[3].channel = 10; // numer kanału
btn[4].pin = 44 ; // przycisk piwnica s17
btn[4].relay_pin = 6; // przekaznik lampa piwnica k16
btn[4].channel = 11; // numer kanału
btn[5].pin =9 ; // przycisk lampa płot s4
btn[5].relay_pin = 7; // przekaznik lampa plot k01
btn[5].channel = 12; // numer kanału
btn[6].pin =23 ; // przycisk kuchnia led s8
btn[6].relay_pin = 8; // przekaznik kuchnia led k17
btn[6].channel = 13; // numer kanału
btn[7].pin =24 ; // przycisk salon led s9
btn[7].relay_pin = 21; // przekaznik salon led k21
btn[7].channel = 14; // numer kanału
btn[8].pin =46 ; // przycisk girlanda s6
btn[8].relay_pin = 11; // przekaznik girlanda k02
btn[8].channel = 15; // numer kanału
btn[9].pin =0 ; // przycisk brama
btn[9].relay_pin = 0; // przekaznik brama wirtualny
btn[9].channel =16 ; // numer kanału
btn[10].pin =0 ; // przycisk brama
btn[10].relay_pin = 0; // przekaznik brama wirtualny
btn[10].channel = 17; // numer kanału
btn[11].pin =29 ; // przycisk akwarium s11
btn[11].relay_pin =14 ; // przekaznik akwarium k22
btn[11].channel = 18; // numer kanału
btn[12].pin =0 ; // przycisk brama
btn[12].relay_pin = 0; // przekaznik brama wirtualny
btn[12].channel =19 ; // numer kanału
btn[13].pin =0 ; // przycisk brama
btn[13].relay_pin = 0; // przekaznik brama wirtualny
btn[13].channel = 20; // numer kanału
btn[14].pin =48 ; // przycisk gniazdo salon 1 (lampa)s12
btn[14].relay_pin = 17; // przekaznik gniazdo salon 1(lampa) k23
btn[14].channel = 21; // numer kanału
btn[15].pin =47 ; // przycisk gniazdo salon 2 (choinka )s13
btn[15].relay_pin = 18; // przekaznik gniazdo salon 2( choinka) k24
btn[15].channel = 22; // numer kanału
btn[16].pin =49 ; // przycisk taras led s14
btn[16].relay_pin = 42; // przekaznik taras led k25
btn[16].channel = 23; // numer kanału
btn[17].pin =0 ; // przycisk brama garaz wirtualny
btn[17].relay_pin = 0; // przekaznik brama garaz wirtualny
btn[17].channel = 24; // numer kanału
btn[18].pin =45 ; // przycisk furtki
btn[18].relay_pin = 39; // przekaznik furtka kdc21
btn[18].channel = 25; // numer kanału
btn[19].pin =25 ; // przycisk lampy zewnatrz s10
btn[19].relay_pin = 40; // przekaznik lampy zewnetrzne k03
btn[19].channel = 26; // numer kanału
supla_btn_init();
SuplaDevice.setTimerFuncImpl(&supla_timer);
}
void loop() {
SuplaDevice.iterate();
}
-
pawbuj
- Posts: 34
- Joined: Mon Apr 27, 2020 8:39 am
witam, kupiłem taki czujnik z modułem sonoff gate p5 i niestety cały czas pokazuje mi - 275 C . co jest nie tak ?
-
gbcolin
- Posts: 121
- Joined: Wed Jun 12, 2019 4:13 pm
Ale pokazuje w cloudzie -275 czy w aplikacji? Aaa i jak kupiłeś to nie rób z przewodu żadnych pętli rozprostuj go i wtedy powinno być ok jak w cloudzie to brak połączenia z czujnikiem zaraz pewnie sie pojawią dokładne wyjaśnienia od kolegów. Jak w aplikacji - 275 to coś z pull upem nie styka ja taki przypadek miałem.
Nie atakuję projektu Supli 
