Skip to content
Snippets Groups Projects
luftmeter_v1.ino 9.81 KiB

#define HDC2080
#define AVAIL_SCD30
#define BAROSENSOR
//#define RGB_LEDS_AVAILABLE
#define ADS1119_AVAIL
#define SDCARD_AVAIL

#include <Wire.h>
#include <BaroSensor.h>
#include "paulvha_SCD30.h"
#include <FastLED.h>
#include "FS.h"
#include "SD.h"
#include "SPI.h"
#include <ESP32Time.h>

// use first channel of 16 channels (started from zero)
#define LEDC_CHANNEL_0     0

// use 13 bit precission for LEDC timer
#define LEDC_TIMER_13_BIT  13

// use 5000 Hz as a LEDC base frequency
#define LEDC_BASE_FREQ     16000

#define FAN_PIN            17

#define ADS1119_ADDR 0x4c


void writeReg_hdc(uint8_t reg, uint8_t data);
float readHumidity_hdc(void);
float readTemp_hdc(void);


void ads1119_write_reg(uint8_t reg, uint8_t data);
uint8_t ads1119_read_reg(uint8_t reg);
int16_t ads1119_read_data(void);
void ads1119_start_conversion(void);
void ads1119_set_channel(uint8_t chan);
void ads1119_powerdown(void);

void listDir(fs::FS &fs, const char * dirname, uint8_t levels);

ESP32Time rtc;


#ifdef AVAIL_SCD30
SCD30 airSensor;
#endif


#ifdef RGB_LEDS_AVAILABLE
#define DATA_PIN 14
#define NUM_LEDS 8
CRGB leds[NUM_LEDS];
#endif

void setup() {
  // put your setup code here, to run once:

  #ifdef RGB_LEDS_AVAILABLE
  FastLED.addLeds<WS2812, DATA_PIN, GRB>(leds, NUM_LEDS);  // GRB ordering is typical
  leds[0] = CRGB::Blue;
  leds[7] = CRGB::Blue;
  FastLED.show();
  #endif

  Serial.begin(115200);