Ciao a tutti,
sono abbastanza inesperto in arduino ma devo programmarne uno per fare delle readings di pressure, temperature and humidity con un BME280.
Ho trovato un code su internet che utilizza una library, che ho già' caricato.
Tuttavia ottengo delle letture chiaramente sbagliate (0 di temperatura e pressione e 40000 m di altitudine)e non riesco a capire il problema.
Posto qui il codice sperando che qualcuno riesca a capire il problema.
Per quanto riguarda l'hardware sto utilizzando una connessione SPI e il sistema e' collegato nel seguente modo:
Vin to 3.3V.
Connect GND to ground
SCK pin to Digital #13
SDO pin to Digital #12
SDI pin to Digital #11
CS pin Digital #10
Buongiorno,
essendo il tuo primo post nella sezione Italiana del forum, nel rispetto del regolamento di detta sezione (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiQUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.
Uso molto spesso quei sensori, sia su MCU Atmel (Arduino) che su PIC32 e non ho mai avuto questi problemi ...
Su arduino, dall'IDE, library manager, installati le librerie di Adafruit : 1. Adafruit_Sensor.h e 2. Adafruit_BME280.h ...
... dopo di che basta una bme280.begin() e nel loop() le varie bme280.readTemperature(), bme280.readHumidity() e bme280.readPressure() ...
Arduino: 1.8.3 (Mac OS X), Board: "Arduino/Genuino Uno"
/Users/edocchipi97/Documents/Arduino/bme280/bme280.ino: In function 'void setup()':
bme280:46: error: 'bme280' was not declared in this scope
bme280.begin();
^
/Users/edocchipi97/Documents/Arduino/bme280/bme280.ino: In function 'void loop()':
bme280:73: error: 'bme280' was not declared in this scope
Serial.print(bme280.readTemperature(), 2);
^
exit status 1
'bme280' was not declared in this scope
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Ma ... hai istanziato la classe chiamandola bme280 ? ? ? :o :o :o Altrimenti devi sostituirlo con il nome che hai usato tu per istanziare la classe ...
Per istanziarla con il nome che ho usato io, metti, prima del setup() : Adafruit_BME280 bme280;
Guglielmo
P.S.: Ma perché NON vi STUDIATE mai gli esempi FUNZIONANTI che le librerie installano nell' IDE ... :
Allora ...
... a te mancano le basi della programmazione su Arduno ... per cui, intanto, ti consiglio di studiare QUESTO proseguire con QUESTO e/o acquistare qualche buon libro (es. QUESTO) ... dopo di che ... se la porta seriale NON la inizializzi come vuoi che possa funzionare ?
Nel setup() devi fare la Serial.begin() ... e ripeto ... GUARDA gli esempi che sono inclusi nell'IDE ... c'è tutto e sono tutti funzionanti !