问题标签 [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 投票
0 回答
365 浏览

arduino - 为什么 switch 语句返回“重复大小写值”,我该如何解决这个问题?

我正在尝试设置一个 arduino 红外传感器,当我尝试使用 switch 语句时,它返回“重复大小写值”。关于这个问题的任何建议或解释?顺便提一句。我是一个初学者,所以如果我犯了一些愚蠢的错误,请不要感到惊讶。

我尝试将 int 用于 val 变量,但它说有溢出,所以我使用 double 代替。我尝试查看与我的类似的其他一些问题,但它们都不适用于这里。

我希望得到任何结果;即使错了;但它返回“重复的案例值”

0 投票
1 回答
306 浏览

json - 从串口读取 JSON 缺少部分起始数据

当从 ESP8266 的串口读取 JSON 字符串时,它会切断数据的开头。

我尝试从串行端口读取数据并打印每个字符,但是它切断了部分数据的请求。

使用的 JSON 数据(和预期的输出)

实际输出的示例

0 投票
1 回答
659 浏览

arduino - 无法实例化我自己的类:没有用于调用“DHT::DHT()”的匹配函数

我正在编写一个Arduino项目并尝试将我自己的类包装在 DHT(传感器)库(https://github.com/adafruit/DHT-sensor-library/blob/master/examples/DHT_Unified_Sensor/DHT_Unified_Sensor.ino或那个https://github.com/adafruit/DHT-sensor-library/blob/master/examples/DHTtester/DHTtester.ino)。

我想用函数抽象我自己的库,并用它来学习 C++。

但是当我尝试实例化自己的类时遇到问题:

有人可以告诉我如何在我自己的类中声明、实例化和调用 DHT 类吗? 当我实施 DHT

主文件

海思

海思.cpp

0 投票
2 回答
400 浏览

bluetooth - 使用arduino和蓝牙的伺服机械臂

我正在尝试通过蓝牙模块 hc05 控制伺服机械臂。所有东西都正确连接。我很困惑将使用哪个控制应用程序。而且蓝牙也不会向arduino发送任何数据,但灯在闪烁。谁有机械臂代码,请分享

我已经尝试了来自不同网站的几乎所有代码。

只需要任何用于从蓝牙控制伺服的应用程序,也尝试从蓝牙发送数据但没有任何反应。

0 投票
1 回答
269 浏览

c++ - 伺服电机一直试图达到 134° 以下,这是怎么回事?

我正在尝试让 Arduino Uno 板控制由伺服电机驱动的夹具。伺服器试图低于 134°,这在机械上是不可能的。我能做些什么来解决这个问题?

我试图将电机限制在 180°,当它不是所需按钮的读数时,它会保持主要位置(关闭,180)

0 投票
1 回答
105 浏览

arduino - 如何通过串口 C++ 读取开关?

我有一个 arduino nano。我想连接 MX Cherry 开关并通过串行端口检测按下。我应该在 arduino 上使用哪些引脚以及应该将哪些代码上传到盘子?

我知道我必须为开关供电,所以必须有 5v 引脚和输入引脚。但我对电子产品很陌生,所以我没能弄明白。

基本上,如果按钮被按下,我需要一种发送“1”的方法,如果不是,我需要发送“0”。

0 投票
0 回答
567 浏览

c - 十六进制转换后如何将位移到左

我正在将输入的十进制值转换为十六进制,然后我想将该值转换如下:

因此,如果 51200 转换为十六进制:0000 c800

现在我想将此值移动 2 个十六进制数字(8 位): 00c8 00 00

这都是因为我试图将转换和移位的值传递到需要的微控制器寄存器中;

32 位 = 24+8(24 位整数部分,8 位小数位)

这是我的代码,我得到的输出为0x0000C800 但正如我所说,我现在想将此值移动 8 位以获得 0x00C800 00

编辑:根据大卫的评论试用两个; 所以我尝试在转换之前转换它,但没有运气!输出:0x00000000

当我精疲力竭时,任何帮助都将不胜感激!

0 投票
1 回答
142 浏览

c++ - 如何在arduino中传递函数参数?

我试图通过在微控制器中写入寄存器值来控制电机的速度。

最后我需要在十六进制转换后发送数据格式sendData(0xA4, 0x00c80000)

但目前,我得到了我的打印输出:

嗯,我在哪里犯了错误?任何人都可以请给我一点头!谢谢大佬!!

PS:如果有人需要知道,senddata 方法也采用以下参数!

编辑: 我想我能理解要问的正确问题吗?

如果您可以看到我使用uint16_t LSBuint16_t MSB将我的输入 data2 转换为十六进制。如何将这两个值保存为一个unsigned long val。然后我可以返回那个变量。我认为使用 sprintf 方法是错误的,因为它只显示字符表示?如果我错了,请纠正我?

0 投票
0 回答
37 浏览

arduino - 我正在尝试做一个if,但无济于事

在 if (user == "A") 代码部分 {- 它可以工作,但是如果我把 - if (user == ' ') <- 这里是不可见的,但它是一个星号 {- 它不会,它会通过这个如果,并按照代码,我在arduino中使用矩阵键盘......我已经给了一个serial.print来查看,“ ”,在键盘上响应但它不会。

0 投票
2 回答
6860 浏览

c++ - Arduino Nano 33 IoT 的软件序列号

我计划从旧的 5V Arduino Nano 迁移到新的 Arduino Nano 33 IoT。我使用软件串行 (SoftwareSerial.h) 为旧的 5V Arduino Nano 编写了一个功能代码,以与 Sim800L 模块进行通信。但是,当我将开发板更改为新的 Arduino Nano 33 IoT 时,找不到软件串行库。

我曾尝试在“草图”下的“包含库”菜单中找到它,但该库根本不存在。鉴于该产品是如此新,我还没有找到任何有用的研究来帮助我解决这个问题。我对 EEPROM 库有同样的问题。

有谁知道如何为新的 Nano 33 IoT 板包含 SoftwareSerial.h 和 EEPROM.h 库,或许知道用于新板的新库?

以下是我在编译时收到的错误消息:

任何帮助将不胜感激谢谢