c++ - 关于 Arduino Uno 的程序帮助

标签 c++ arduino arduino-uno

所以我正在构建这个:http://www.instructables.com/id/Automatically-water-your-small-indoor-plant-using-/?ALLSTEPS

问题:我把放水时间设置为5分钟,等待时间设置为1小时,5分钟后水还在不停地流。

还有其他方法可以写这个程序吗?

他提供的程序是

int motorPin = A0;
int blinkPin = 13;

int watertime = 300000; // how long to water in miliseconds
int waittime = 3600000; // how long to wait between watering

void setup()
{
    pinMode(motorPin, OUTPUT);
    pinMode(blinkPin, OUTPUT);
}

void loop()
{
    digitalWrite(motorPin, HIGH);
    digitalWrite(blinkPin, HIGH);
    delay(watertime);
    digitalWrite(motorPin, LOW);
    digitalWrite(blinkPin, LOW);
    delay(waittime);
}

最佳答案

Arduino UNO 最大整数值为 32767(16 位有符号整数)。因此 watertime 和 waittime 都太大而无法存储在 int 变量中。尝试通过使用 delay(1000) 来控制每秒运行一次的循环来减慢时基,然后使用秒而不是毫秒来表示水时间和等待时间。

顺便说一句,有一个专门研究 Arduino 的 stackoverflow 站点:https://arduino.stackexchange.com/

关于c++ - 关于 Arduino Uno 的程序帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30203507/

相关文章:

c - 在Arduino IDE中将浮点值转换为科学记数法的语法?

c - 如何在ATMEL studio C程序中读取和写入同一端口

node.js - 如何在node js中使用serialport正确读取?

java - Flexiforce 到 Uno 到键盘。工作正常,但未达到预期效果

http - 服务器在来自 SIM908 的几次 GET 请求后禁用页面

c++ - 我将如何准确地获取打开的文件和文件中的名称并将它们放入我的字符串 vector 中?

c++ - 为什么参数推导在这个模板模板参数中不起作用

用于 ADC 的 Arduino 3.3v 引用

c++ - 如何使用 boost 二分法?

python - Socket收不到数据?客户端是使用 Boost.asyio 库编写的。服务器是用python写的