Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Envio de Dados do Sensor DHT11 para o ThingSpeak com Arduino MKR1000

Componentes e Materiais

Sobre este Projeto

Já havia desenvolvido código para o ESP8266 12-E enviar dados de sensores ambientais, coletados pelo DHT11, via Wi-Fi para o site ThingSpeak e gerar gráficos. Apenas precisei fazer pequenas alterações para funcionar com o novo Arduino MKR1000.

Envio de Dados do Sensor DHT11 para o ThingSpeak com Arduino MKR1000
Conexão do pino de dados do DHT ao pino 1 do MKR1000

Passo 1: Conexão do Hardware

Conecte a linha de dados do DHT ao pino 1 do MKR1000 (identificado como "1" na parte traseira da placa).

Passo 2: Bibliotecas Necessárias

Baixe as seguintes bibliotecas:

Passo 3: Configuração do Board Manager

No Arduino IDE:

  1. Vá em Ferramentas → Placa → Gerenciador de Placas
  2. Pesquise por "Arduino SAMD Boards (32-bits ARM Cortex M0+)"
  3. Instale a versão 1.6.3 (a versão 1.6.4 apresentou problemas com a instalação da placa MKR1000)
Envio de Dados do Sensor DHT11 para o ThingSpeak com Arduino MKR1000

Passo 4: Configuração do ThingSpeak

  1. Crie uma conta gratuita no ThingSpeak.com
  2. Configure os campos (fields) para graficar umidade e temperatura
  3. Copie sua "Write API Key" do ThingSpeak
  4. Insira a API Key, SSID e senha do Wi-Fi no sketch fornecido

Passo 5: Upload e Execução

  1. Selecione a porta COM correta (procurando por MKR1000)
  2. Compile e carregue o código
  3. Observe as atualizações sendo enviadas ao ThingSpeak na janela Serial

Divirta-se!

Envio de Dados do Sensor DHT11 para o ThingSpeak com Arduino MKR1000

Código

Sketch combinado: Adafruit DHT, WiFi101 WebClient e templates Arduino ThingSpeak. Modificado por Stephen Borsay para MKR1000.

/* Este sketch combina o sketch DHT da Adafruit, WiFi101 WebClient e o exemplo Arduino do ThingSpeak
   Modificado por Stephen Borsay para o MKR1000, fique à vontade para usar */
#include <SPI.h> // não necessário pois não usamos shield, apenas chip
#include <WiFi101.h>
#include "DHT.h"

#define DHTPIN 1       // pino conectado, pino 1 é o 5º a partir da extremidade
#define DHTTYPE DHT11  // DHT 11
//#define DHTTYPE DHT21 // DHT 21
//#define DHTTYPE DHT22 // DHT 22

DHT dht(DHTPIN, DHTTYPE);

String apiKey = "YourApiKeyHere";    // API Key do ThingSpeak
char ssid[] = "YourSSIDHERE";        // SSID da rede (nome)
char pass[] = "YourPasswordHere";    // senha da rede
int keyIndex = 0;                    // índice da chave de rede (apenas para WEP)

char server[] = "api.thingspeak.com"; // endereço do servidor (usando DNS)
WiFiClient client;

void setup() {
  Serial.begin(9600);
  while (!Serial) { ; } // aguarda porta serial (necessário para USB nativo)

  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("Shield WiFi não presente");
    while (true); // não continua
  }

  // tenta conectar à rede WiFi
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print("Tentando conectar ao SSID: ");
    Serial.println(ssid);
    WiFi.begin(ssid, pass); // WPA/WPA2
    delay(10000); // aguarda 10 segundos
  }
  Serial.println("Conectado ao WiFi");
  printWifiStatus();
}

void loop() {
  delay(2000); // intervalo entre medições

  // leitura dos sensores (usando int por limitações de conversão float)
  int h = dht.readHumidity();
  int t = dht.readTemperature();     // Celsius
  int f = dht.readTemperature(true); // Fahrenheit

  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Falha na leitura do sensor DHT!");
    return;
  }

  // cálculo do índice de calor
  int hif = dht.computeHeatIndex(f, h);
  int hic = dht.computeHeatIndex(t, h, false);

  // saída serial
  Serial.print("Umidade: "); Serial.print(h); Serial.print(" %\t");
  Serial.print("Temperatura: "); Serial.print(t); Serial.print(" *C ");
  Serial.print(f); Serial.print(" *F\t");
  Serial.print("Índice calor: "); Serial.print(hic); Serial.print(" *C ");
  Serial.print(hif); Serial.println(" *F\n");

  Serial.println("\nIniciando conexão ao servidor...");
  if (client.connect(server, 80)) {
    Serial.println("Conectado ao servidor");

    String tsData = "field1=" + String(h) + "&field2=" + String(t) + 
                    "&field3=" + String(f) + "&field4=" + String(hic) + 
                    "&field5=" + String(hif);

    client.print("POST /update HTTP/1.1\n");
    client.print("Host: api.thingspeak.com\n");
    client.print("Connection: close\n");
    client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n");
    client.print("Content-Type: application/x-www-form-urlencoded\n");
    client.print("Content-Length: ");
    client.print(tsData.length());
    client.print("\n\n");
    client.print(tsData);
    client.stop();
    delay(1000);
  }
}

void printWifiStatus() {
  Serial.print("SSID: "); Serial.println(WiFi.SSID());
  IPAddress ip = WiFi.localIP();
  Serial.print("Endereço IP: "); Serial.println(ip);
  long rssi = WiFi.RSSI();
  Serial.print("Força do sinal (RSSI): "); Serial.print(rssi); Serial.println(" dBm");
}

Código no GitHub: Mesmo código no GitHub para MKR1000

Esquemático

Conecte a linha de dados do DHT ao pino 1 do MKR1000 (5º pino a partir da extremidade). Conecte 5V e GND ao sensor DHT, ambos fornecidos pelo MKR1000.

Envio de Dados do Sensor DHT11 para o ThingSpeak com Arduino MKR1000

Processo de manufatura

  1. PicoCoreMX8MM: Módulo ARM Ultra‑Compacto Alimentado por NXP i.MX 8M Mini
  2. Kontron Revela COM HPC: Novo Padrão de Computação Embarcada de Alto Desempenho
  3. Breakout Compacto DHT de Temperatura e Umidade para Raspberry Pi – ATtiny85 & DHT22/DHT11
  4. Construa um Monitor de Temperatura ThingSpeak com Raspberry Pi e BrickPi
  5. Crie Seu Primeiro Projeto IoT com Raspberry Pi, DHT11 e ThingSpeak
  6. MKR1000 Pinout: A Placa Ideal para Desenvolvimento IoT
  7. Como o Parts.Cat.Com Simplifica a Aquisição de Peças e Economiza Tempo e Dinheiro
  8. Shop.Cat.Com: Seu Recurso Completo para Equipamentos, Implementos e Ferramentas
  9. Otimize Máquinas Cat®: O Guia Definitivo do My.Cat.com
  10. ASTM A551 Classe DHT Tratada Termicamente: Propriedades e Desempenho do Aço