问题标签 [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.

0 投票
2 回答
186 浏览

c++ - 使用 Serial.Read 输入在 Arduino 上设置液晶光标

我意识到您可以在 lcd.setCursor 中使用变量,但是当我尝试使用从串行端口读取的整数时,它对我不起作用。有可能的?

这是我的代码的相关部分的样子,目前没有打印:

0 投票
6 回答
35208 浏览

arduino - 如何`Serial.print()`“完整”十六进制字节?

我正在对Arduino进行编程,我正在尝试以Serial.print()“我的方式”以十六进制格式读取字节(继续阅读以获取更多信息)。

也就是说,通过使用以下代码

我在串行监视器中得到以下输出:

但是我想输出以下内容:

换句话说,我想打印“完整”的十六进制值,包括0s (05而不是000而不是0)。

我怎样才能做到这一点?

0 投票
2 回答
2621 浏览

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 时被调用,但在调出预分频器时有效?

0 投票
3 回答
32041 浏览

c++ - 如何正确接收和发送来自 Arduino 的原始 IR 数据

以下是我从 Arduino 读取原始 IR 数据的代码:

使用它我可以从遥控器上得到这个:

因此,在发送此数据时,我可以使用以下指令:

问题是我无法从我需要控制的设备获得任何响应。我已经检查了我的红外发射器,我的读数与上面相同。

我错过了什么吗?

0 投票
1 回答
70 浏览

arduino - 基础虚函数和派生虚函数都没有被正确调用

我有这个基类:

而这个派生类:

然后我在这样的数组中实例化 WakeUp 类:

然后我尝试像这样访问这个成员:

它应该显示0。但是它正在显示-64。即使我在课堂上重写了该f_focus()方法。如果我从中WakeUp删除说明符可以正常工作,正在显示,但我将无法访问此方法的派生类实现。我想了解导致这种奇怪行为的原因以及我能做些什么来避免它。virtualf_focus()0

编辑:

如果我从Gadget构造函数调用它,该函数运行良好。

0 投票
2 回答
1283 浏览

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。

我不明白也不知道如何“合并”和转换浮点值。然后你能帮我按照浮动的大小移动指针吗?

我真的坚持这个话题,我非常感谢你的帮助。

0 投票
1 回答
1821 浏览

arduino - DHT11 传感器的值错误,想要将值添加到来自传感器的读数

我需要帮助,我是 Arduino 新手,我在 NodeMCU 1.0 板上运行 DHT11 传感器,我发现许多趋势表明该传感器主要在湿度读数上不准确,这让我想到了我的问题,我想补充/从显示在 HTML 页面上的传感器的读数中减去一个百分比。有人可以帮忙吗?

PS我附上了我正在使用的代码。

0 投票
1 回答
671 浏览

wifi - Arduino-Uno 中的 GET 请求失败

我正在尝试使用 ESP8266 和 Arduino 访问在我的 Rpi 服务器中运行的简单网页。

我已经参考了这个类似的 SO question,但这不是我的问题的解决方案。

这是我当前的 Arduino 代码:

输出:

我的simple.html样子是这样的。

我从网络浏览器访问了这个页面,它正确地显示了内容。这里缺少什么?

提前致谢。

0 投票
0 回答
36 浏览

loops - 我的循环需要适当的 while 条件

在这里,我有一个 while 循环,当我收到来自 My Arduino 的整个消息时,它需要满足一个条件。问题是:我不知道如何改变这种情况

我从这里启发了我所有的项目

但我已经更改了主要功能和我的 arduino 文件。这是我的主要功能:

这是我的arduino文件:

0 投票
1 回答
819 浏览

arduino - 如何将延迟转换为毫秒

我有一个简单的延迟代码。我想知道如何将此代码转换为毫秒?有这样做的功能吗?