Hello!
I have an Arduino project that was on a Mega, and I’m moving onto an MKR1000. The sensor I’m using (an SHT31-D Relative Humidity and Temperature Sensor on an Adafruit breakout board, link here) has a simple example sketch, shown below:
#include <Arduino.h>
#include <Wire.h>
#include "Adafruit_SHT31.h"
Adafruit_SHT31 sht31 = Adafruit_SHT31();
#if defined(ARDUINO_ARCH_SAMD)
// for Zero, output on USB Serial console, remove line below if using programming port to program the Zero!
#define Serial SerialUSB
#endif
void setup() {
#ifndef ESP8266
while (!Serial); // will pause Zero, Leonardo, etc until serial console opens
#endif
Serial.begin(9600);
Serial.println("SHT31 test");
if (! sht31.begin(0x44)) { // Set to 0x45 for alternate i2c addr
Serial.println("Couldn't find SHT31");
while (1) delay(1);
}
}
void loop() {
float t = sht31.readTemperature();
float h = sht31.readHumidity();
if (! isnan(t)) { // check if 'is not a number'
Serial.print("Temp *C = "); Serial.println(t);
} else {
Serial.println("Failed to read temperature");
}
if (! isnan(h)) { // check if 'is not a number'
Serial.print("Hum. % = "); Serial.println(h);
} else {
Serial.println("Failed to read humidity");
}
Serial.println();
delay(1000);
}
I want to add separate displays for both T and RH. I’ve seen in the forum that I2C communication works, but I’m not sure how to isolate 2 streams of data from the same device. And how much of this code must be included alongside Blynk.run()? I’m not sure how much code is written by the app and how much groundwork needs to be done in the IDE (for example, if I need to define t and h as in the above sketch before connecting to Blynk)