BME280 Beschreibung
Der BME280 ist ein Sensor welcher Temperatur, Luftdruck und Feuchtigkeit misst.
Sowie per I2C oder SPI ausleßbar ist
Library Dokumentation
#include <stdint.h>
#include <i2cmaster.h>
#include <bme280_i2c.h>
int main (void) {
i2c_init();
uint8_t failed = 0;
failed |= BME280_init();
failed |= BME280_set_filter(BME280_FILTER_16);
failed |= BME280_set_standby(BME280_TSB_10);
failed |= BME280_set_measure(BME280_OVER_16, BME280_HUM);
failed |= BME280_set_measure(BME280_OVER_4, BME280_PRESS);
failed |= BME280_set_measure(BME280_OVER_16, BME280_TEMP);
failed |= BME280_set_measuremode(BME280_MODE_NORM);
if (failed){
}else{
}
int32_t temp;
uint32_t press;
uint32_t hum;
while(1) {
failed = BME280_readout(&temp, &press, &hum);
if (failed){
temp = 0;
press = 0;
hum = 0;
}
printf("\033[2J"); //Clear Screen
printf("\033[H"); //Cursor Home
printf("T: %+3li.%02u C\n", temp
/100, (uint8_t)(temp
%100));
printf("P: %4li.%02u hPa\n", press
/100 , (uint8_t)(press
%100));
printf("H: %2li.%02u %%RH\n", hum
>>10, (uint16_t)((hum
&0x3FF)*1000)/1024);
_delay_ms(100);
}
return 0;
}
BME280 Library Version 1.0
Eine von mir geschriebene Library zum auslesen des BME280 Sensor.
Behinhaltet Prozeduren zum Einstellen der Messfrequenz, des Filters und des Oversamplings.
Die ADC Werte des Sensors werden bereits von der Lib, durch die im Datenblatt enthaltenen Funktionen, kompensiert.
Datenblatt vom BME280
DOWNLOAD
Ansonsten noch viel Spaß beim löten:
WebSVN lädt