BMP280 + BME280 společně na I2C sběrnici
BMP280 + BME280 společně na I2C sběrnici
Ahoj, nemáte někdo zkušenosti se zapojením senzorů BMP280 a BME280 společně na I2C sběrnici? Zkoušel jsem hledal jestli to už někdo neřešil, ale nic jsem nenašel. Jenom na jednom zahraničním fóru jsem našel návod jak připojit 2x BME280, ale to mně nepomůže.
Díky
Díky
Re: BMP280 + BME280 společně na I2C sběrnici
Připojením pinu SDO na Vcc, nebo na GND můžeš měnit adresu. Takže u každýho čidla nastavíš jinou adresu.
Connecting SDO to GND results in slave address 1110110 (0x76); connection it to VDDIO results in slave address 1110111 (0x77), which is the same as BMP180’s I²C address. The SDO pin cannot be left floating; if left floating, the I²C address will be undefined.
Connecting SDO to GND results in slave address 1110110 (0x76); connection it to VDDIO results in slave address 1110111 (0x77), which is the same as BMP180’s I²C address. The SDO pin cannot be left floating; if left floating, the I²C address will be undefined.
Re: BMP280 + BME280 společně na I2C sběrnici
Jasně, to jsem právě taky našel, ale to bylo pro dva stejný senzory např. BME280 a ne pro kombinaci BME280 + BMP280.
-
- Příspěvky: 579
- Registrován: 01 srp 2017, 19:29
- Reputation: 0
- Bydliště: Poprad
- Kontaktovat uživatele:
Re: BMP280 + BME280 společně na I2C sběrnici
Skús si najprv I2C scanner, aké adresy ti na tej zbernici nájde. Pripoj si teda oba na A4 a A5 pin (ak máš UNO)
Ak ti vypisuje rovnaké, tak skús pri jednom čidle prepojiť tie piny, ako ti písal petan. Uvidíš, či sa adresa zmenila a na akých adresách to máš. Následne vieš z týchto adries čítať.
Kód: Vybrat vše
#include <Wire.h>
void setup()
{
Wire.begin();
Serial.begin(9600);
while (!Serial); // Leonardo: wait for serial monitor
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4)
{
Serial.print("Unknown error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000); // wait 5 seconds for next scan
}
Re: BMP280 + BME280 společně na I2C sběrnici
Tak mně to nedalo a zkusil jsem to ještě pro sichr projet tím I2C scannerem a to mě potvrdilo, že to mám zapojený správně. Tak jsem se ještě jednou vrhnul na kód a asi po půl hodině jsem našel jednu chybu (špatně jsem přepsal řádek s parametrem - nechal jsem tam nakonci bmp místo bme). No a to samý jsem pak našel taky v setupu kde jsem přepsal taky jenom část kódu. Takže skoro jako vždy byl problém mezi židlí a PC. Každopádně už všechno funguje, díky všem za reakce...
Tady ještě pro zájemce můj poslední kód se senzory: BME280, BMP280, DS18B20, DHT22 a posílání hodnot na Exosite:
Kód: Vybrat vše
Adafruit_BME280 bme; // I2C
Tady ještě pro zájemce můj poslední kód se senzory: BME280, BMP280, DS18B20, DHT22 a posílání hodnot na Exosite:
Kód: Vybrat vše
// NodeMCU - mereni teplot, vlhkosti, tlaku a nadm. vysky
// author. Johnyhol
// v 10.12.2017
// changelog
// v 10.12.2017
// uprava kodu pro kombinaci BMP280 vs. BME280
// uprava zasilani na Exosite - vsechno funkcni
// v 13.4.2017
// pridana knihovna BME280
// doplneni parametru pro exosite (DHT22+BMP280) - vsechno funkcni!!!
// pridany senzory 2x DHT22 a 1x BMP280
// funkcní mereni z vice mist a posilani na Exosite - senzory funguji!!!
#include <OneWire.h>
#include <ESP8266WiFi.h>
#include <DallasTemperature.h>
#include <DHT.h>;
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
#include <Adafruit_BME280.h>
#include <Exosite.h>
#define BMP280_ADRESS (0x76) // teplota + tlak
#define BME280_ADRESS (0x77) // teplota + tlak + vhkost
Adafruit_BMP280 bmp; // I2C
Adafruit_BME280 bme; // I2C
#define DHTPIN D3 // pin pro senzor 1
#define DHTPIN2 D4 // pin pro senzor 2
#define DHTTYPE DHT22 // DHT 22 (AM2302)
#define DHTTYPE2 DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE); //// Initialize DHT sensor for normal 16mhz Arduino
DHT dht2(DHTPIN2, DHTTYPE2); //// Initialize DHT sensor for normal 16mhz Arduino
#define ONE_WIRE_BUS D5
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
String cikData = "--------"; // <-- FILL IN YOUR CIK HERE! (https://portals.exosite.com -> Add Device)
const char* ssid = "ssid";
const char* pass = "pass";
WiFiClient client;
Exosite exosite(cikData, &client);
String readString;
String writeString;
String returnString;
String readParam ;
String writeParam ;
char buffer[7];
//+++++++//
// DHT22 //
//+++++++//
//int chk;
//+++++++++++++++++++++++++++++//
// Teplota skutecna - namerena //
//+++++++++++++++++++++++++++++//
//float TskutA; //{0x28, 0x79, 0xD4, 0x29, 0x07, 0x00, 0x00, 0xC8} //Testovací
float TskutA; //{0x28, 0x4D, 0xF8, 0x28, 0x07, 0x00, 0x00, 0xAF} //Bojler
float TskutB; //{0x28, 0xDC, 0x6F, 0x2A, 0x07, 0x00, 0x00, 0xC8} //Topeni vratka
float TskutC; //{0x28, 0x0D, 0x72, 0x29, 0x07, 0x00, 0x00, 0x23} //Topeni vstup
float TskutD; //{0x28, 0x3C, 0xB2, 0x29, 0x07, 0x00, 0x00, 0xDB} //Kotel vystup
float TskutE; //Teplota obyvak
float HskutE; //Vlhkost obyvak
float TskutF; //Teplota slunce
long TlskutF; //Tlak slunce Pa
float TlskuthF; //Tlak slunce hPa
float NskutF; //Nadmorska vyska
float VlskutF; //Vlhkost slunce
float TskutG; //{0x28, 0x23, 0x5F, 0x29, 0x07, 0x00, 0x00, 0x92} //Rozvody vzduchu
float TskutH; //{0x28, 0xE6, 0x34, 0xC4, 0x04, 0x00, 0x00, 0xB7} //Loznice
float TskutI; //{0x28, 0x5F, 0x9F, 0x85, 0x04, 0x00, 0x00, 0x0A} //Chodba
float TskutJ; //{0x28, 0xFF, 0x14, 0x95, 0xB3, 0x16, 0x03, 0xB7} //Zluty pokoj
float TskutK; //Teplota koupelna
float HskutK; //Vlhkost koupelna
float TskutL; //{0x28, 0xFF, 0x23, 0xA6, 0xB3, 0x00, 0x00, 0x7A} //Zachod
float TskutM; //{0x28, 0x90, 0x10, 0xC4, 0x04, 0x16, 0x03, 0xA2} //Predsin
float TskutN; //{0x28, 0x90, 0x10, 0xC4, 0x04, 0x00, 0x00, 0x7A} //Zeleny pokoj
float TskutO; //{0x28, 0xA6, 0xEA, 0x28, 0x07, 0x00, 0x00, 0x81} //Stin
float TskutP; //Teplota puda
long TlskutP; //Tlak puda Pa
float TlskuthP; //Tlak puda hPa
/*byte TstavA;//ALIAS na exosite
byte TvipA;//ALIAS na exosite
byte ReleA=22;
*/
//++++++++++++++++++++++++++++++//
// ADRESY CIDEL DALAS - Ds18b20 //
//++++++++++++++++++++++++++++++//
//DeviceAddress A = { 0x28,0x79,0xD4,0x29,0x07,0x00,0x00,0xC8 };//Testovací
DeviceAddress A = { 0x28,0x4D,0xF8,0x28,0x07,0x00,0x00,0xAF };//Bojler
DeviceAddress B = { 0x28,0xDC,0x6F,0x2A,0x07,0x00,0x00,0xC8 };//Topeni vratka
DeviceAddress C = { 0x28,0x0D,0x72,0x29,0x07,0x00,0x00,0x23 };//Topeni vstup
DeviceAddress D = { 0x28,0x3C,0xB2,0x29,0x07,0x00,0x00,0xDB };//Kotel vystup
DeviceAddress G = { 0x28,0x23,0x5F,0x29,0x07,0x00,0x00,0x92 };//Rozvody vzduchu
DeviceAddress H = { 0x28,0xE6,0x34,0xC4,0x04,0x00,0x00,0xB7 };//Loznice
DeviceAddress I = { 0x28,0x5F,0x9F,0x85,0x04,0x00,0x00,0x0A };//Chodba
DeviceAddress J = { 0x28,0xFF,0x14,0x95,0xB3,0x16,0x03,0xB7 };//Zluty pokoj
DeviceAddress L = { 0x28,0xFF,0x23,0xA6,0xB3,0x16,0x03,0xA2 };//Zachod
DeviceAddress M = { 0x28,0x90,0x10,0xC4,0x04,0x00,0x00,0x7A };//Predsin
DeviceAddress N = { 0x28,0x90,0x10,0xC4,0x04,0x00,0x00,0x7A };//Zeleny pokoj
DeviceAddress O = { 0x28,0xA6,0xEA,0x28,0x07,0x00,0x00,0x81 };//Stin
void setup(void){
Serial.begin(9600);
Serial.println("");
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
DS18B20.begin();
dht.begin();
dht2.begin();
/*
pinMode(ReleA,OUTPUT);
digitalWrite (ReleA,HIGH);
*/
Serial.println(F("BMP280 test"));
if (!bmp.begin(BMP280_ADRESS)) {
Serial.println(F("Nemohu najit zadny BMP280 senzor, zkontroluj zapojeni!"));
while (1);
}
Serial.println(F("BME280 test"));
if (!bme.begin(BME280_ADRESS)) {
Serial.println(F("Nemohu najit zadny BME280 senzor, zkontroluj zapojeni!"));
while (1);
}
}
void loop() {
//++++++++++++++++++++++++++++++++++++++//
// Nacitani hodnot z teplotnich senzoru //
//++++++++++++++++++++++++++++++++++++++//
Serial.println("Nacitani hodnot z teplotnih senzoru...");
DS18B20.requestTemperatures(); // nacitani teplot ze snimacu ds18b20
TskutA = DS18B20.getTempC(A);
TskutB = DS18B20.getTempC(B);
TskutC = DS18B20.getTempC(C);
TskutD = DS18B20.getTempC(D);
TskutE = dht.readTemperature();
HskutE = dht.readHumidity();
TskutF = bme.readTemperature();
TlskutF = bme.readPressure();
NskutF = bme.readAltitude(990); // u nas je 434m
VlskutF = bme.readHumidity();
TskutG = DS18B20.getTempC(G);
TskutH = DS18B20.getTempC(H);
TskutI = DS18B20.getTempC(I);
TskutJ = DS18B20.getTempC(J);
TskutK = dht2.readTemperature();
HskutK = dht2.readHumidity();
TskutL = DS18B20.getTempC(L);
TskutM = DS18B20.getTempC(M);
TskutN = DS18B20.getTempC(N);
TskutO = DS18B20.getTempC(O);
TskutP = bmp.readTemperature();
TlskutP = bmp.readPressure();
TlskuthF = TlskutF / 100; //převod Pa na hPa
TlskuthP = TlskutP / 100; //převod Pa na hPa
Serial.print("Teplota - Bojler :");
Serial.print(TskutA);
Serial.println(" *C");
Serial.print("Teplota - Topeni vratka :");
Serial.print(TskutB);
Serial.println(" *C");
Serial.print("Teplota - Topeni vstup :");
Serial.print(TskutC);
Serial.println(" *C");
Serial.print("Teplota - Kotel vystup :");
Serial.print(TskutD);
Serial.println(" *C");
Serial.print("Teplota - Obyvak :");
Serial.print(TskutE);
Serial.println(" *C");
Serial.print("Vlhkost - Obyvak :");
Serial.print(HskutE);
Serial.println(" %");
Serial.print(F("Teplota - slunce :"));
Serial.print(TskutF);
Serial.println(" *C");
Serial.print(F("Tlak - slunce :"));
Serial.print(TlskutF / 100.0F);
Serial.println(" hPa");
Serial.print(F("Nadmorska vyska - Slunce :"));
Serial.print(NskutF); // this should be adjusted to your local forcase
Serial.println(" m");
Serial.print("Vlhkost - slunce :");
Serial.print(VlskutF);
Serial.println(" %");
Serial.print("Teplota - Rozvody vzduchu :");
Serial.print(TskutG);
Serial.println(" *C");
Serial.print("Teplota - Loznice :");
Serial.print(TskutH);
Serial.println(" *C");
Serial.print("Teplota - Chodba :");
Serial.print(TskutI);
Serial.println(" *C");
Serial.print("Teplota - Zluty pokoj :");
Serial.print(TskutJ);
Serial.println(" *C");
Serial.print("Teplota - Koupelna :");
Serial.print(TskutK);
Serial.println(" *C");
Serial.print("Vlhkost - Koupelna :");
Serial.print(HskutK);
Serial.println(" %");
Serial.print("Teplota - Zachod :");
Serial.print(TskutL);
Serial.println(" *C");
Serial.print("Teplota - Predsin :");
Serial.print(TskutM);
Serial.println(" *C");
Serial.print("Teplota - Zeleny pokoj :");
Serial.print(TskutN);
Serial.println(" *C");
Serial.print("Teplota - Stin :");
Serial.print(TskutO);
Serial.println(" *C");
Serial.print(F("Teplota - puda :"));
Serial.print(TskutP);
Serial.println(" *C");
Serial.print(F("Tlak - puda :"));
Serial.print(TlskutP / 100.0F);
Serial.println(" hPa");
//+++++++++++++++++++//
// TeplotaA - Bojler //
//+++++++++++++++++++//
Serial.println("Posilam teplotu A na Exosite portal...");
readParam = "";
writeParam = "TskutA=";
String TskutAvalue = dtostrf(TskutA, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutAvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota A odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota A neodeslana");
}
delay(1000);
/*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxx//
// cteni stavu vypinace bojler //
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxx//
Serial.println("Ctu stav vypinace A");
readString = "TvipA";
if(exosite.writeRead(writeString, readString, returnString)){
Serial.println("OK");
Serial.print("Stav vypinace A je: ");
Serial.println(returnString);
}
else{
Serial.println("Error");
}
if (returnString == "TvipA=1"){
TvipA=1;
}
else{
TvipA=0;
}
returnString ="";
delay(1000);
//xxxxxxxxxxxxxxxxxxxxxxxxx//
// logika zapinani bojleru //
//xxxxxxxxxxxxxxxxxxxxxxxxx//
if(TvipA==1){
//RelA.setSwitchState(PIO_A,true);
digitalWrite(ReleA, LOW);
Serial.println("Nahrivani bojleru ZAPNUTO");
TstavA=1;
}
else if(TvipA==0){
//RelA.setSwitchState(PIO_A,false);//zapni PIO A na Ds2423
digitalWrite(ReleA, HIGH);
Serial.println("Nahrivani bojleru VYPNUTO");
TstavA=0;
}
//xxxxxxxxxxxxxxxxxxxxxxxxxx//
// odeslani stavu nahrivani //
//xxxxxxxxxxxxxxxxxxxxxxxxxx//
readParam = "";
writeParam = "TstavA=";
writeParam += TstavA;
if(exosite.writeRead(writeParam, readParam, returnString)) {
Serial.println("Exosite OK"); if (returnString != "") {
Serial.println("Stav nahrivani odeslany");
}
}
else {
Serial.println("Exosite chyba stav neodeslany");
}
*/
//++++++++++++++++++++++++++//
// TeplotaB - Topeni vratka //
//++++++++++++++++++++++++++//
Serial.println("Posilam teplotu B na Exosite portal...");
readParam = "";
writeParam = "TskutB=";
String TskutBvalue = dtostrf(TskutB, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutBvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota B odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota B neodeslana");
}
delay(1000);
//+++++++++++++++++++++++++//
// TeplotaC - Topeni vstup //
//+++++++++++++++++++++++++//
Serial.println("Posilam teplotu C na Exosite portal...");
readParam = "";
writeParam = "TskutC=";
String TskutCvalue = dtostrf(TskutC, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutCvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota C odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota C neodeslana");
}
delay(1000);
//+++++++++++++++++++++++++//
// TeplotaD - Kotel vystup //
//+++++++++++++++++++++++++//
Serial.println("Posilam teplotu D na Exosite portal...");
readParam = "";
writeParam = "TskutD=";
String TskutDvalue = dtostrf(TskutD, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutDvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota D odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota D neodeslana");
}
delay(1000);
//+++++++++++++++++++//
// TeplotaE - Obývák //
//+++++++++++++++++++//
Serial.println("Posilam teplotu E na Exosite portal...");
readParam = "";
writeParam = "TskutE=";
String TskutEvalue = dtostrf(TskutE, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutEvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota E odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota E neodeslana");
}
delay(1000);
//+++++++++++++++++++//
// VlhkostE - Obývák //
//+++++++++++++++++++//
Serial.println("Posilam vlhkost E na Exosite portal...");
readParam = "";
writeParam = "HskutE=";
String HskutEvalue = dtostrf(HskutE, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += HskutEvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Vlhkost E odeslana");
}
}
else {
Serial.println("Exosite chyba Vlhkost E neodeslana");
}
delay(1000);
//+++++++++++++++++++//
// TeplotaF - Slunce //
//+++++++++++++++++++//
Serial.println("Posilam teplotu F na Exosite portal...");
readParam = "";
writeParam = "TskutF=";
String TskutFvalue = dtostrf(TskutF, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutFvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota F odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota F neodeslana");
}
delay(1000);
//++++++++++++++++//
// TlakF - Slunce //
//++++++++++++++++//
Serial.println("Posilam tlak F na Exosite portal...");
readParam = "";
writeParam = "TlskutF=";
String TlskutFvalue = dtostrf(TlskuthF, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TlskutFvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Tlak F odeslana");
}
}
else {
Serial.println("Exosite chyba Tlak F neodeslana");
}
delay(1000);
//+++++++++++++++++++++++++++//
// Nadmorska vyskaF - Slunce //
//+++++++++++++++++++++++++++//
Serial.println("Posilam nadmorskou vysku F na Exosite portal...");
readParam = "";
writeParam = "NskutF=";
String NskutFvalue = dtostrf(NskutF, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += NskutFvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Nadmorska vyska F odeslana");
}
}
else {
Serial.println("Exosite chyba Nadmorska vyska F neodeslana");
}
delay(1000);
//++++++++++++++++++++++++++++//
// TeplotaG - Rozvody vzduchu //
//++++++++++++++++++++++++++++//
Serial.println("Posilam teplotu G na Exosite portal...");
readParam = "";
writeParam = "TskutG=";
String TskutGvalue = dtostrf(TskutG, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutGvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota G odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota G neodeslana");
}
delay(1000);
//+++++++++++++++++++++//
// TeplotaH - Loznice //
//++++++++++++++++++++//
Serial.println("Posilam teplotu H na Exosite portal...");
readParam = "";
writeParam = "TskutH=";
String TskutHvalue = dtostrf(TskutH, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutHvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota H odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota H neodeslana");
}
delay(1000);
//+++++++++++++++++++//
// TeplotaI - Chodba //
//+++++++++++++++++++//
Serial.println("Posilam teplotu I na Exosite portal...");
readParam = "";
writeParam = "TskutI=";
String TskutIvalue = dtostrf(TskutI, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutIvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota I odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota I neodeslana");
}
delay(1000);
//++++++++++++++++++++++++//
// TeplotaJ - Zluty pokoj //
//++++++++++++++++++++++++//
Serial.println("Posilam teplotu J na Exosite portal...");
readParam = "";
writeParam = "TskutJ=";
String TskutJvalue = dtostrf(TskutJ, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutJvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota J odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota J neodeslana");
}
delay(1000);
//++++++++++++++++++++//
// Koupelna - teplota //
//++++++++++++++++++++//
Serial.println("Posilam teplotu K na Exosite portal...");
readParam = "";
writeParam = "TskutK=";
String TskutKvalue = dtostrf(TskutK, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutKvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota K odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota K neodeslana");
}
delay(1000);
//++++++++++++++++++++//
// Koupelna - vlhkost //
//++++++++++++++++++++//
Serial.println("Posilam vlhkost K na Exosite portal...");
readParam = "";
writeParam = "HskutK=";
String HskutKvalue = dtostrf(HskutK, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += HskutKvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Vlhkost K odeslana");
}
}
else {
Serial.println("Exosite chyba Vlhkost K neodeslana");
}
delay(1000);
//+++++++++++++++++++//
// TeplotaL - Zachod //
//+++++++++++++++++++//
Serial.println("Posilam teplotu L na Exosite portal...");
readParam = "";
writeParam = "TskutL=";
String TskutLvalue = dtostrf(TskutL, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutLvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota L odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota L neodeslana");
}
delay(1000);
//++++++++++++++++++++//
// TeplotaM - Predsin //
//++++++++++++++++++++//
Serial.println("Posilam teplotu M na Exosite portal...");
readParam = "";
writeParam = "TskutM=";
String TskutMvalue = dtostrf(TskutM, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutMvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota M odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota M neodeslana");
}
delay(1000);
//+++++++++++++++++++++++++//
// TeplotaN - Zeleny pokoj //
//+++++++++++++++++++++++++//
Serial.println("Posilam teplotu N na Exosite portal...");
readParam = "";
writeParam = "TskutN=";
String TskutNvalue = dtostrf(TskutN, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutNvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota N odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota N neodeslana");
}
delay(1000);
//+++++++++++++++++//
// TeplotaO - Stin //
//+++++++++++++++++//
Serial.println("Posilam teplotu O na Exosite portal...");
readParam = "";
writeParam = "TskutO=";
String TskutOvalue = dtostrf(TskutO, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutOvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota O odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota O neodeslana");
}
delay(1000);
//+++++++++++++++++++//
// TeplotaP - puda //
//+++++++++++++++++++//
Serial.println("Posilam teplotu P na Exosite portal...");
readParam = "";
writeParam = "TskutP=";
String TskutPvalue = dtostrf(TskutP, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TskutPvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Teplota P odeslana");
}
}
else {
Serial.println("Exosite chyba Teplota P neodeslana");
}
delay(1000);
//++++++++++++++++//
// TlakP - puda //
//++++++++++++++++//
Serial.println("Posilam tlak P na Exosite portal...");
readParam = "";
writeParam = "TlskutP=";
String TlskutPvalue = dtostrf(TlskuthP, 1, 2, buffer); // convert float to String, minimum size = 1, decimal places = 2
writeParam += TlskutPvalue; //pridani skonvertovane teploty do retezce
if ( exosite.writeRead(writeParam, readParam, returnString)) {//odeslani namerene teploty na exosite
Serial.println("Exosite OK");
if (returnString != "") {
Serial.println("Tlak P odeslana");
}
}
else {
Serial.println("Exosite chyba Tlak P neodeslana");
}
delay(1000);
}
-
- Příspěvky: 1030
- Registrován: 06 zář 2017, 20:04
- Reputation: 0
- Bydliště: Brno
- Kontaktovat uživatele:
Re: BMP280 + BME280 společně na I2C sběrnici
Nebylo by efektivní použít funkci na ty neustále se opakující úseky programu? Kdysi se tomu říkalo také podprogramy nebo subrutiny. Program by se zkrátil asi tak na desetinu své délky.
Re: BMP280 + BME280 společně na I2C sběrnici
To by možná bylo, ale jsem začátečník tak nějak nevím jak to vytvořit. Pokud by se tedy někomu do toho chtělo tak bych se samozřejmě rád přiučil.
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 11 hostů