![](/img/trans.png)
[英]Low-power ESP32 + LoRa with deep sleep mode (TTGO LoRa32 OLED Board V1.0)
[英]Button Push turning on an OLED ESP32
我正在开发一个 DHT22 传感器,当按下按钮时,它会在 OLED 上显示读数。 我正在使用 Arduino IDE。 现在我的传感器工作并显示在屏幕上,但我很难让它只在按下按钮时打开。 GPIO 13 当前正在从传感器获取信号,GPIO 26 与电源和接地一起连接到物理按钮。 所有带有“// added”的代码都是我为了让按钮工作而添加的新代码。 任何帮助是极大的赞赏!
在顶部我添加了:
const int ButtonPin = 26; //added
const int PushButton; //added
我收到错误消息:
退出状态 1
未初始化的 const 'PushButton' [-fpermissive]
在setup
function 中,我添加了:
pinMode(ButtonPin, OUTPUT); //added
pinMode(PushButton, INPUT)://added
在loop
function 我添加:
int Push_button_state = digitalRead(PushButton); //added
if (Push_button_state == HIGH) //added
float h = dht.readHumidity();
// Read temperature as Celsius
float t = dht.readTemperature();
u8g2.firstPage();
do {
draw();
} while ( u8g2.nextPage() );
delay(1000);
}
else { //added
我认为你不清楚你想要实现什么。 首先,您只需要ButtonPin变量即可使用按钮。 由于您的按钮连接到 GPIO 26,因此您必须将此引脚声明为 INPUT。 稍后,您应该使用digitalWrite function 来获取引脚的 state。 根据您连接按钮的方式,按下按钮时您将收到“0”或“1”。 无论如何,我一直在使用一个非常舒适的库来处理 Arduino 上的按钮,请在此处查看。 我希望这会有所帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.