#ifndef __LED_H_
#define __LED_H_
#include <Arduino.h>
class LED {
public:
void begin(uint8_t ledName);
void flashLED(uint8_t ledNum);
};
#endif
#include "led.h"
void LED::begin(uint8_t ledNum) {
pinMode(ledNum, OUTPUT);
}
void LED::flashLED(uint8_t ledNum) {
static uint8_t ledState;
if (ledState == 0) {
digitalWrite(ledNum, HIGH);
ledState = 1;
} else {
digitalWrite(ledNum, LOW);
ledState = 0;
}
}
#include <Arduino.h>
#include <Wire.h>
#include "Adafruit_BME280.h"
#include "Adafruit_Sensor.h"
#include "led.h"
#define ledNum 2
LED led;
Adafruit_BME280 bme; // use I2C interface
Adafruit_Sensor* bme_temp = bme.getTemperatureSensor();
Adafruit_Sensor* bme_pressure = bme.getPressureSensor();
Adafruit_Sensor* bme_humidity = bme.getHumiditySensor();
void setup() {
// put your setup code here, to run once:
led.begin(ledNum);
Serial.begin(115200);
Wire.begin(4, 5);
Serial.println(F("BME280 Sensor event test"));
if (!bme.begin(0x76, &Wire)) {
Serial.println(F("Could not find a valid BME280 sensor, check wiring!"));
while (1)
delay(10);
}
bme_temp->printSensorDetails();
bme_pressure->printSensorDetails();
bme_humidity->printSensorDetails();
}
void loop() {
// put your main code here, to run repeatedly:
sensors_event_t temp_event, pressure_event, humidity_event;
bme_temp->getEvent(&temp_event);
bme_pressure->getEvent(&pressure_event);
bme_humidity->getEvent(&humidity_event);
Serial.print(F("Temperature = "));
Serial.print(temp_event.temperature);
Serial.println(" *C");
Serial.print(F("Humidity = "));
Serial.print(humidity_event.relative_humidity);
Serial.println(" %");
Serial.print(F("Pressure = "));
Serial.print(pressure_event.pressure);
Serial.println(" hPa");
Serial.println();
led.flashLED(ledNum);
delay(1000);
}
├─.pio
│ ├─build
│ │ └─nodemcuv2
│ └─libdeps
│ └─nodemcuv2
│ ├─Adafruit BusIO
│ │ ├─.github
│ │ │ └─workflows
│ │ └─examples
│ │ ├─i2corspi_register
│ │ ├─i2c_address_detect
│ │ ├─i2c_readwrite
│ │ ├─i2c_registers
│ │ ├─spi_modetest
│ │ ├─spi_readwrite
│ │ ├─spi_registers
│ │ └─spi_register_bits
│ └─Adafruit SHT31 Library
│ ├─.github
│ │ └─workflows
│ └─examples
│ └─SHT31test
├─.vscode
├─include
├─lib
│ ├─BMP280
│ │ └─examples
│ │ ├─advancedsettings
│ │ ├─bme280test
│ │ └─bme280_unified
│ ├─LED
│ └─sensor
│ └─examples
│ └─sensortest
├─src
└─test
/dev/ttyUSB0 - Serial port (Unix-based OS)
COM3 - Serial port (Windows OS)
192.168.0.13 - IP address when using OTA
/media/disk - physical path to media disk/flash drive (Mbed enabled boards)
D: - physical path to media disk/flash drive (Windows OS).
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:genericSTM32F411RE]
platform = ststm32
board = genericSTM32F411RE
framework = arduino
build_flags =
-D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC
-D USBCON
;-D USBD_VID=0x0483
;-D USBD_PID=0x5740
;-D USB_MANUFACTURER="GOSIP"
;-D USB_PRODUCT="\"PyDuino 411RE\""
;-D HAL_PCD_MODULE_ENABLED
;lib_deps = LEDLIB
monitor_port = /dev/tty.wchusbserial1420
monitor_speed = 115200
upload_protocol = stlink
;upload_protocol=serial
;upload_port=/dev/tty.wchusbserial1420
;upload_protocol = dfu
;upload_port = anything