问题标签 [arduino-c++]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 使用 Serial.Read 输入在 Arduino 上设置液晶光标
我意识到您可以在 lcd.setCursor 中使用变量,但是当我尝试使用从串行端口读取的整数时,它对我不起作用。有可能的?
这是我的代码的相关部分的样子,目前没有打印:
arduino - 如何`Serial.print()`“完整”十六进制字节?
我正在对Arduino进行编程,我正在尝试以Serial.print()
“我的方式”以十六进制格式读取字节(继续阅读以获取更多信息)。
也就是说,通过使用以下代码
我在串行监视器中得到以下输出:
但是我想输出以下内容:
换句话说,我想打印“完整”的十六进制值,包括0
s (05
而不是0
和00
而不是0
)。
我怎样才能做到这一点?
c++ - AVR CTC 模式下的 16 位定时器
我正在尝试使用 Arduino Uno 板(ATmega328,16 MHz)来实现这一点。所以我在网上搜索了一下,想到了这样的东西:
我正在尝试达到 1 kHz 的频率,因此我将能够创建几毫秒长的间隔。
这就是为什么我选择比较值是 15999(所以 16000-1)和预分频器等于 1,所以我得到(至少我认为是正确的计算):
现在的问题是,即使Serial.println(TCNT1)
向我展示的数字计数到 16000,回到零,最高到 16000,回到零,......,Serial.println(Time)
只计数到 8,它只是停止计数,尽管 TCNT1 仍在计数。
我在某处想过某种溢出,但我想不出在哪里;我想出的唯一一件事是比较值可能太大了——我认为——显然不是这样2^16 -1=65.535>15999
。
例如,如果我制作预分频器,假设为 64,并保留比较值,Time
则按预期计数。所以我想知道:为什么ISR()
停止在值为 8 时被调用,但在调出预分频器时有效?
c++ - 如何正确接收和发送来自 Arduino 的原始 IR 数据
以下是我从 Arduino 读取原始 IR 数据的代码:
使用它我可以从遥控器上得到这个:
因此,在发送此数据时,我可以使用以下指令:
问题是我无法从我需要控制的设备获得任何响应。我已经检查了我的红外发射器,我的读数与上面相同。
我错过了什么吗?
arduino - 基础虚函数和派生虚函数都没有被正确调用
我有这个基类:
而这个派生类:
然后我在这样的数组中实例化 WakeUp 类:
然后我尝试像这样访问这个成员:
它应该显示0
。但是它正在显示-64
。即使我在课堂上重写了该f_focus()
方法。如果我从中WakeUp
删除说明符可以正常工作,正在显示,但我将无法访问此方法的派生类实现。我想了解导致这种奇怪行为的原因以及我能做些什么来避免它。virtual
f_focus()
0
编辑:
如果我从Gadget
构造函数调用它,该函数运行良好。
arduino - 如何将双精度数转换为十六进制/字节
我需要向物联网发送数据,数据需要以字节为单位
要通过物联网来回发送数据,您需要使用字节
一些函数返回带有 2 个小数的浮点数
23.56 或 4.32
我很难转换我的浮点数并将其保存到我的数据的可变 uint8_t 中。我必须找到如何转换我的浮点变量
我有一个这样的循环:
我对这种转换很陌生。真正的问题在这里:
printData 打印:
04 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 2C 18 FF FF FF FF FF FF FF FF FF FF FF FF FF 2C CB FF FF FF FF FF FF FF FF FF FF FF FF FF FF 2C A8 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 2C
但它至少应该打印这个:
34 2E 33 32 FF FF FF FF FF FF FF FF FF FF FF 2C 18 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 2C CB FF FF FF FF FF FF FF FF FF FF FF FF FF FF 2C A8 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 2C
因为34 2e 33 32
等于 4.32。
我不明白也不知道如何“合并”和转换浮点值。然后你能帮我按照浮动的大小移动指针吗?
我真的坚持这个话题,我非常感谢你的帮助。
arduino - DHT11 传感器的值错误,想要将值添加到来自传感器的读数
我需要帮助,我是 Arduino 新手,我在 NodeMCU 1.0 板上运行 DHT11 传感器,我发现许多趋势表明该传感器主要在湿度读数上不准确,这让我想到了我的问题,我想补充/从显示在 HTML 页面上的传感器的读数中减去一个百分比。有人可以帮忙吗?
PS我附上了我正在使用的代码。
wifi - Arduino-Uno 中的 GET 请求失败
我正在尝试使用 ESP8266 和 Arduino 访问在我的 Rpi 服务器中运行的简单网页。
我已经参考了这个类似的 SO question,但这不是我的问题的解决方案。
这是我当前的 Arduino 代码:
输出:
我的simple.html
样子是这样的。
我从网络浏览器访问了这个页面,它正确地显示了内容。这里缺少什么?
提前致谢。
loops - 我的循环需要适当的 while 条件
在这里,我有一个 while 循环,当我收到来自 My Arduino 的整个消息时,它需要满足一个条件。问题是:我不知道如何改变这种情况
但我已经更改了主要功能和我的 arduino 文件。这是我的主要功能:
这是我的arduino文件:
arduino - 如何将延迟转换为毫秒
我有一个简单的延迟代码。我想知道如何将此代码转换为毫秒?有这样做的功能吗?