Olá pessoal do LDG!
Estou com uma dificuldade para utilizar este dispositivo:
1- Já montei o circuito;
2- Copiei em um arquivo word o dht.ccp e em um outro arquivo word o dht.h também;
3- Nomeei uma pasta como DHT e enviei os arquivos word para lá;
4- Coloquei a pasta em Library na IDE do arduino;
5- Coloquei o código:
#include <dht.h>
dht DHT;
#define DHT22_PIN 5
void setup()
{
Serial.begin(115200);
Serial.println("DHT TEST PROGRAM ");
Serial.print("LIBRARY VERSION: ");
Serial.println(DHT_LIB_VERSION);
Serial.println();
Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
}
void loop()
{
// READ DATA
Serial.print("DHT22, \t");
int chk = DHT.read22(DHT22_PIN);
switch (chk)
{
case DHTLIB_OK:
Serial.print("OK,\t");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.print("Checksum error,\t");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.print("Time out error,\t");
break;
default:
Serial.print("Unknown error,\t");
break;
}
// DISPLAY DATA
Serial.print(DHT.humidity, 1);
Serial.print(",\t");
Serial.println(DHT.temperature, 1);
delay(1000);
}
No entanto, a biblioteca não está sendo reconhecida, e no trecho
#include <dht.h>
dht DHT;
dht não ficou laranjado e continua na cor preta.
Tente ir no menu scetch na opção importar bibliotecas e quando clico em DHT no código aparece apenas mais um espaço.
E como já era de se esperar, quando faço o upload dá erro:
RHT_oficial:2: error: 'dht' does not name a type
RHT_oficial.cpp: In function 'void setup()':
RHT_oficial:12: error: 'DHT_LIB_VERSION' was not declared in this scope
RHT_oficial.cpp: In function 'void loop()':
RHT_oficial:21: error: 'DHT' was not declared in this scope
RHT_oficial:24: error: 'DHTLIB_OK' was not declared in this scope
RHT_oficial:27: error: 'DHTLIB_ERROR_CHECKSUM' was not declared in this scope
RHT_oficial:30: error: 'DHTLIB_ERROR_TIMEOUT' was not declared in this scope
Será que preciso baixar mais algum complemento? será que existe um formato específico para salvar a dht.ccp e a dht.h?
Desde já agradeço a ajuda!
Tags:
Ao invés desse rolo todo com Word (não entendi o motivo) e tal, tenta baixar as bibliotecas direto:
http://playground.arduino.cc/Main/DHTLib
Não esquece do #define pra escolher o modelo do sensor.
Esquece o Word para editar ou escrever arquivos fonte. Ele é um editor de texto com formatação. Você pode usar o notepad que vem com o Windows, no entanto eu recomendo que você instale o Notepad++ que já é próprio para editar esses arquivos.
Conseguiu alguma resposta?
Estou como mesmo problema aqui. Já baixei as bibliotecas direto e nada.
Baixei as bibliotecas do site que o Jonatas Freitas recomendou e executei o seguinte código:
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
Serial.println("\n\tcoloca algum título na hora da execução");
Serial.println("\tTEMPERATURA \t\tUMIDADE RELATIVA");
dht.begin();
}
void loop() {
float t = dht.readTemperature();
float u = dht.readHumidity();
// verifica se algo deu errado no retorno. se vier algo que não seja número, algo deu errado!
if (isnan(t) || isnan(u)) {
Serial.println("Failed to read from DHT");
}
else {
Serial.print("\t");
Serial.print(t);
Serial.print(" *C\t\t");
Serial.print(u);
Serial.println(" %");
delay (3000);
}
}
Lembrando que o sensor deve estar na porta digital 2... e o interval de coleta foram de 3 em 3 segundos... se quiser variar é só alterar o delay
Consegui neste link.
http://forum.freetronics.com/viewtopic.php?f=15&t=178&sid=5...
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por