首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arduino 2:1错误DHT +函数

Arduino 2:1错误DHT +函数
EN

Stack Overflow用户
提问于 2021-07-20 18:31:16
回答 1查看 147关注 0票数 0

我一直在研究一个智能蜂箱的代码,只想测量温度,这不是我的代码,但我正在修改它,以适应我需要的传感器。不幸的是,我收到了一些错误消息(我对arduino还不熟悉,也学到了一点),..so很抱歉,如果很明显的话。

编辑:解决了(在DHT ()中添加了括号,试图从论坛中找到它,我看到一些DHT线程建议将dht替换为DHT,但这只会产生另一条错误消息。

有关我的错误消息,请参阅下面

ArduinoRaspberryPiHive.ino:9:1: error:‘dht’没有命名ArduinoRaspberryPiHive.ino: In函数‘void()’:ArduinoRaspberryPiHive.ino:44:16: error:预期的主表达式在‘.’之前。令牌ArduinoRaspberryPiHive.ino:在函数‘void()’中: ArduinoRaspberryPiHive.ino:64:15: error:预期的主表达式在‘.’之前令牌ArduinoRaspberryPiHive.ino:69:20:错误:“.”之前的预期主表达式令牌ArduinoRaspberryPiHive.ino:71:20:错误:“.”之前的预期主表达式令牌

代码语言:javascript
复制
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>    


#define DHT21_PIN 10

dht DHT; 

int buttonState1 = 0;
const int But2 = 11; 
 
int buttonState = 0; 
const int But1 = 12; 

byte termometru[8] = {B00100, B01010, B01010, B01110, B01110, B11111, B11111, B01110}; //chart for temperatura

byte picatura[8] = {B00100, B00100, B01010, B01010, B10001, B10001, B10001, B01110,}; //char for humidity

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //lcd address
 
void setup()
{
                        // this value is obtained by calibrating the scale with known weights;
                        // reset the scale to 0
    lcd.begin(20,2);
    lcd.backlight();
    lcd.clear(); 
    lcd.createChar(1,termometru);
    lcd.createChar(2,picatura);
    pinMode(But1, INPUT);
    pinMode(But2, INPUT);
    Serial.begin(19200); 
 }

void display()
{

  lcd.setCursor(0, 1);
  lcd.write(1); 
  lcd.setCursor(2,1); 
  lcd.print(DHT.temperature, 1); 
  lcd.setCursor(6, 1);
  lcd.setCursor(7, 1);
  lcd.print((char)223); 
  lcd.print("C"); 
   
  lcd.setCursor(10, 1);
  lcd.write(2); 
  lcd.setCursor(12, 1);
  lcd.print(DHT.humidity, 1); 
  lcd.setCursor(14, 1);
  lcd.print(" "); 
  lcd.setCursor(15,1);
  lcd.print("%"); 
 } 
 
void buton()
{
buttonState = digitalRead(But1);
     delay(10); 
    if (buttonState == HIGH) 
        { lcd.backlight(); }
        else {
        lcd.noBacklight(); 
        }}


void loop() 
{
    int chk = DHT.read21(DHT21_PIN);
    display(); 
    buton();
    
    Serial.print("T: ");
    Serial.println(DHT.temperature));
    Serial.print("H: ");
    Serial.println(DHT.humidity);
    Serial.print("W: ");
  
}

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2021-07-21 07:13:00

以下代码适用于给定的传感器,您可能需要根据硬件更改参数。还请注意您的Arduino (或其他)微控制器的特定库,并不是所有库都支持所有的板:

代码语言:javascript
复制
#include <DHT.h>
#define DHTPIN 17       // what pin we're connected to
#define DHTTYPE DHT22   // DHT 22  (AM2302)
DHT dht(DHTPIN, DHTTYPE);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68459771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档