Skocz do zawartości

2x Niezależne sondy DS18B20 Szukaj w tym temacie


zkz-zg

Pomocna odpowiedź

Witam.
Mam problem z podłączeniem 2 niezależnych sond DS18B20.
Całość jest na wtyczkach i wyświetlaczu LCD.
Jak są dwie to jest ok, jak wypinam jedną to na LCD pozostaje ta górna, jak wypinam drugą i wpinam pierwszą to też zostaje na LCD górna.
Czyli w taki sposób mogę zamienić czujniki i na LCD będzie mi pokazywać odwrotnie.
Czy jest opcja podpiąć to osobno, każdy w inny port i jak to zdefiniować w kodzie ?
 

#define D1 5
#define D2 4
#define D3 0
OneWire oneWire(0);
DallasTemperature sensors(&oneWire);
void loop() {

sensors.requestTemperatures();
float TEMP1 = sensors.getTempCByIndex(0);
float TEMP2 = sensors.getTempCByIndex(1);



Dziękuję za pomoc

Edytowano przez Gieneq
Zachęcam do korzystania z bloku kodu programu
Link do komentarza
Share on other sites

Dnia 26.03.2022 o 21:42, zkz-zg napisał:


Mam problem z podłączeniem 2 niezależnych sond DS18B20.
 


#define D1 5
#define D2 4
#define D3 0
OneWire oneWire(0);
DallasTemperature sensors(&oneWire);
void loop() {

sensors.requestTemperatures();
float TEMP1 = sensors.getTempCByIndex(0);
float TEMP2 = sensors.getTempCByIndex(1);

 

Ds18b20 chodzi na onewire i mozesz kilka takich czujnikow podpiac pod ten sam kabel bo kazdy czujnik ma swoj adres (cos jak i2c) wklej caly kod, bo nie widac co Ty tam robisz w setup() itp

Link do komentarza
Share on other sites

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <ESP8266WiFi.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <BlynkSimpleEsp8266.h>
#include <Timers.h>

#define BLYNK_PRINT Serial
#define D1 5
#define D2 4
#define D3 0
#define D4 2
#define treconnect 30

float tempC = 0;
int liczreconnect = 10;

char auth[] = "xxx"; //Blynk
char ssid[] = "xxx"; //Sieć
char pass[] = "xxx"; //Hasło


LiquidCrystal_I2C lcd(0x27, 20, 2);
OneWire oneWire(0);
DallasTemperature sensors(&oneWire);
Timers <3> akcja;

BlynkTimer timer;

int stanLED_ok=0;
int LED;


void setup()
{

//akcja.attach(0, 1000, testconnect); //timer 1 sek
WiFi.begin(ssid, pass);
Blynk.config(auth, "blynk-cloud.com", 8442);

Blynk.connect();
if (Blynk.connected()) Blynk.run(); else Blynk.connect();

 
Serial.begin(9600);
lcd.backlight();
sensors.begin();
lcd.init();
lcd.clear();
Serial.println(LED);
timer.setInterval(1000L, temp);

}

void temp()
{
stanLED_ok = !stanLED_ok;
if (stanLED_ok == 0) {
Blynk.virtualWrite(10,255);Blynk.setProperty(V10,"color","#D3435C");
}
else {
Blynk.virtualWrite(10,255);Blynk.setProperty(V10,"color","#04C0F8");
}
//Blynk.syncAll();
}

void loop() {

sensors.requestTemperatures();
float TEMP1 = sensors.getTempCByIndex(0);
float TEMP2 = sensors.getTempCByIndex(1);

lcd.setCursor(0, 0);
lcd.print("Pokoj 1");
lcd.setCursor (10, 0);
lcd.print(sensors.getTempCByIndex(0));
lcd.print((char)223);
lcd.print("C");
 
lcd.setCursor(0,1);
lcd.print("Lazienka");
lcd.setCursor (10, 1);
lcd.print(sensors.getTempCByIndex(1));
lcd.print((char)223);
lcd.print("C");


Blynk.run();
Blynk.virtualWrite(V1, TEMP1);
Blynk.virtualWrite(V2, TEMP2);


delay(30);

akcja.process(); //timer Timers.h
if (Blynk.connected()) {
Blynk.run();
}
timer.run();
}
void testconnect()
{
if (Blynk.connected()) {
liczreconnect = treconnect;
} else {
liczreconnect--;
if (liczreconnect==0) {
Blynk.connect();
liczreconnect = treconnect;

 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.