I connected the pin of the bmp280 sensor like this:
- VCC-->3,3V
- GND-->GND
- SCL-->12
- SDA-->11
- SDO-->GND
And this is the code:
#include "ThingSpeak.h"
#include <Wire.h>
#include <Adafruit_BMP085.h> // la libreria Adafruit BMP085 funziona anche per il sensore BMP180
#include <SPI.h>
#include <Ethernet.h>
#define USE_ETHERNET_SHIELD
Adafruit_BMP085 bmp;
// Configurazione indirizzo mac della Ethernet shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
EthernetClient client;
// inseriamo i valori del nostro canale Thingspeak
unsigned long myChannelNumber = ******;
const char * myWriteAPIKey = "********";
void setup() {
// inizializziamo le componenti
Ethernet.begin(mac);
ThingSpeak.begin(client);
bmp.begin();
}
void loop() {
//ThingSpeak.setField(1,bmp.readTemperature());
float temperatura = bmp.readTemperature();
Serial.print("Temperatura");
Serial.println(temperatura);
ThingSpeak.setField(1,temperatura);
float pressure_mb = (bmp.readPressure())/100; // diviso 100 per avere la lettura in millibar
ThingSpeak.setField(2,pressure_mb);
// Manda i valori che hai impostato tutti in una sola volta.
ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
delay(20000); // ThingSpeak accetterà solo aggiornamenti ogni 15 secondi.
}
There's something wrong with it?