Índice:

Mais uma estação meteorológica Arduino (ESP-01 e BMP280 e DHT11 e OneWire): 4 etapas
Mais uma estação meteorológica Arduino (ESP-01 e BMP280 e DHT11 e OneWire): 4 etapas

Vídeo: Mais uma estação meteorológica Arduino (ESP-01 e BMP280 e DHT11 e OneWire): 4 etapas

Vídeo: Mais uma estação meteorológica Arduino (ESP-01 e BMP280 e DHT11 e OneWire): 4 etapas
Vídeo: Estação Meteorológica com Arduino: Projeto Prático e Fácil de Montar! 2024, Novembro
Anonim
Mais uma estação meteorológica Arduino (ESP-01 e BMP280 e DHT11 e OneWire)
Mais uma estação meteorológica Arduino (ESP-01 e BMP280 e DHT11 e OneWire)

Aqui você pode encontrar uma iteração do uso de OneWire com os poucos pinos de um ESP-01. O dispositivo criado neste instrutível se conecta à rede Wifi de sua escolha (você deve ter as credenciais …) Coleta dados sensoriais de um BMP280 e um DHT11 e envia os dados coletados para o canal ThingSpeak fornecido. Presumo que você saiba como fazer o upload de um esboço para o ESP-01, então não vou entrar em detalhes. Sem um regulador de tensão, o circuito deve ser alimentado com no máximo 3,3 V DC. Nenhum texto é adicionado, o tutorial deve ser direto a partir deste ponto.

Etapa 1: Etapa 1: BOM

Etapa 1: BOM
Etapa 1: BOM
Etapa 1: BOM
Etapa 1: BOM
Etapa 1: BOM
Etapa 1: BOM
Etapa 1: BOM
Etapa 1: BOM

Hardware:

1 x módulo Wifi: ESP-01 (estou usando a versão de 1024 KB)

1 x sensor de pressão e temperatura: BMP280

1 x sensor de umidade e temperatura: DHT11

1 x regulador de tensão AMS1117 (opcional para alimentação direta, ou você pode usar qualquer outro capaz de regular sua tensão de entrada para um 3,3 V fixo)

Etapa 2: Etapa 2: Fiação

Etapa 2: Fiação
Etapa 2: Fiação

ESP-01 VCC para 3.3VESP-01 GND para GNDESP-01 TX para DHT11 DATAESP-01 GPIO0 para BMP280 SDAESP-01 GPIO2 para BMP280 SCLDHT11 VCC para 3.3VDHT11 GND para GNDBMP280 VCC para 3.3VBMP280 GND para GND

Etapa 3: Etapa 3: Código

#include #include #include // CHECK #define BMP280_ADDRESS mine funciona com (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char * ssid = "asd "; // SEU SSID WIFI const char * password = "asd"; // SEU WIFIPASS const char * host = "api.thingspeak.com"; const char * writeAPIKey = "asd"; // SUA APIKEY // DHT11 stuff float temperature_buiten; float temperature_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // BMP280 Adafruit_BMP280 bmp; void setup () {// I2C stuff Wire.pins (0, 2); Wire.begin (0, 2); // DHT1 dht.begin (); // BMP280 if (! Bmp.begin ()) {// Serial.println ("Não BMP280"); // while (1) {}} // Conectar à rede WiFi WiFi.begin (ssid, senha); while (WiFi.status ()! = WL_CONNECTED) {delay (500); }} void loop () {// DHT11 float umidade = dht.readHumidity (); temperatura flutuante = dht.readTemperature (); if (isnan (umidade) || isnan (temperatura)) {return; } // BMP280 String t = String (bmp.readTemperature ()); String p = String (bmp.readPressure ()); // CONEXÃO TCP cliente WiFiClient; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } String url = "/ update? Key ="; url + = writeAPIKey; url + = "& field1 ="; url + = String (temperatura); // url DHT11 CELSIUS + = "& field2 ="; url + = String (umidade); // UMIDADE RELATIVA DHT11 url + = "& field3 ="; url + = String (bmp.readTemperature ()); // url BMP280 CELSIUS + = "& field4 ="; url + = String (bmp.readPressure () / 100); // BMP280 MILLIBAR url + = "& field5 ="; url + = String (bmp.readAltitude (1013,25)); // BMP280 METER url + = "& field6 ="; url + = String ((temperatura + bmp.readTemperature ()) / 2); // DHT11 + BMP280 CELSIUS MÉDIO url + = "\ r / n"; // Envie a solicitação para o servidor client.print (String ("GET") + url + "HTTP / 1.1 / r / n" + "Host:" + host + "\ r / n" + "Conexão: fechar / r / n / r / n "); atraso (1000); }

Recomendado: