• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Nie odczytuje temp. z kilku Ds18b20
#1
Witajcie,
Potrzebuje pomocy w dopisaniu kilku linijek kodu. 
Mam Plytkę NodeMcu v3 z esp8266. Tworzę termometr na 3DS z wyświetlaniem na LCD oraz wysyłaniem do Blynk. 
Mam już ogarnięte praktycznie wyszystko, tylko kod odczytuje mi 1 czujnik, na pozostalych jest -127. Spowodowane jest to że pewnie nie wyszukuje reszty czujników. 
Prosiłbym o pomoc w dopisaniu tego kawałka kodu aby odczytywać temp. z 3 czujników. 
poniżej kod który mam do tej pory
Kod:
#define BLYNK_PRINT Serial
#include <DallasTemperature.h>
#include <OneWire.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Wire.h>
#include <TimeLib.h>
#include <WidgetRTC.h>

WidgetRTC rtc;

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);


#define ONE_WIRE_BUS 2 // D4
#define TEMPERATURE_PRECISION 12
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

BlynkTimer timer;


float temp1=0;
float temp2=0;
float temp3=0;




char auth[] = "";// kod blynk
char ssid[] = "";// nazwa sieci
char pass[] = "";// hasło


BLYNK_CONNECTED()
{
Blynk.syncAll();
}
//*********************************************************

void temp()
{


temp1 = sensors.getTempCByIndex(1);
temp2 = sensors.getTempCByIndex(2);
temp3 = sensors.getTempCByIndex(3);
sensors.requestTemperatures();

Blynk.virtualWrite(1,temp1);
Blynk.virtualWrite(2,temp2);
Blynk.virtualWrite(3,temp3);

lcd.setCursor(0, 0);
lcd.print("temp1 ");
lcd.print(temp1);
lcd.setCursor(0, 1);
lcd.print("temp2 ");
lcd.print(temp2);
lcd.setCursor(0, 2);
lcd.print("temp3 ");
lcd.print(temp3);
lcd.setCursor(0, 3);

}
void setup()
{
Serial.begin(9600);
//Blynk.begin(auth, ssid, pass);
// You can also specify server:
Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
//Blynk.begin(auth, ssid, pass, IPAddress(192,148,1,147), 8080);


timer.setInterval(1000L, temp);
}
void loop()
{
Blynk.run();
timer.run();

}
 
Odpowiedź
  


Wiadomości w tym wątku
Nie odczytuje temp. z kilku Ds18b20 - przez george1255 - 23-01-2020, 13:50

Skocz do:


Przeglądający: 1 gości