Arduino: 可以在ino中导入库,但在C++中不能。
我正在尝试在Arduino中使用UTFT库.如果我使用一个.ino文件并在其中包含库,那么一切都很好,例如: 示例.ino #include UTFT myGLCD(QD220A,A2,A1,A5,A4,A3); ... 但是,如果我创建.cpp和a .h文件,则是这样: 示例.h #include 示例.cpp #include "example.h" UTFT myGLCD(QD220A,A2,A1,A5,A4,A3); ... 我有一个错误:utft并不意味着类型 如果我将整个TFT库将整个TFT库复制到项目目录,然后在example.h中使用#include "UTFT.h",则将删除错误. 为什么会发生这种情况以及我该如何修复? 解决方案 这是Arduino Ide的魔术. 您使用的是1.0.6还是beta 1.5.X? 在Google组上讨论了这些问题,应在不久的
0 2024-04-09
编程技术问答社区
将Sparkfun ESP8266设备连接到Azure物联网中心
我目前正在尝试将我的SparkFun ESP8266东西连接到我的Azure IoT中心.我已经成功设置了我的枢纽,并遵循有关如何将事物连接到我的Azure IoT中心的教程:不幸的是,我一直遇到错误: 'staticjsonbuffer'在此范围中没有声明 arduino:1.8.5(Windows 10),董事会:" Sparkfun ESP8266 Thing,80 MHz,512K(无spiffs),V2较低的内存,禁用,无,无,只有Sketch,115200" 构建选项更改,重建所有 c:\ users \ l.full \ documents \ arduino \ iot-hub-sparkfun-thingdev-client-app \ app \ message.ino:在函数'bool redmessage(int,char*)中: 消息:46:错误:在此范围中未声明'staticjsonbuffer' StaticJsonBuffer
2 2024-03-25
编程技术问答社区
AT命令在程序中无法执行
该程序如下所示: 在上面程序中的命令中,并未一次执行错误: 串行监视器上的结果如下: 这些命令单独执行,就像魅力一样工作. 解决方案 这里的主要问题是,当您致电delay而不是读取和解析时,没有什么可以可靠地起作用的.您必须阅读并解析给出的响应. 试图使用delay>与踢狗以使它们移动的狗一样有用.是的,它实际上可能有时起作用,但是在某个时候,您会为采用这种方法感到遗憾... 有关如何正确执行此操作的一些准则,请参阅这个答案.我怀疑您可能正在中止一些命令,请参阅旁注:您应始终尽可能短的时间中断,因此您绝对应该将所有这些Serial.print移至attachInterrupt之后. .
0 2024-03-18
编程技术问答社区
使用以太网盾牌在多个Arduino板之间发送和接收数据的最佳方式是什么?
我是Arduino的新手. 我有4个Arduino板,长距离分开.我想在所有这些之间建立连接,因此,例如,如果触发了一个连接到Arduino板1(例如)的传感器,它将发送给所有其他3个董事会,以便在其他板上采取行动.我打算使用以太网盾牌,但想知道在配置Arduino的以太网屏蔽时,最佳使用方式是什么,以及如何将它们配置为这样做.我希望你明白.预先感谢您. 解决方案 在Arduino上使用网络盾牌您可以启动以太网或Wifiserver.请参阅以太网库的聊天服务器示例. 在其他带有网络屏蔽层的Arduino上,您可以创建一个以太网(或定位器),然后将其连接到服务器的IP地址.然后,您打印到客户端客户端的所有内容都将发送到服务器的客户端. 您可以使用telnet客户端测试服务器.
2 2024-03-03
编程技术问答社区
没有SD卡的Arduino音频播放不工作?
我想创建一个主要播放2个音频的电路,一个在获得电源时,通过按下按钮来创建一个电路.我想在没有SD卡的情况下创建它.使用的库是PCM. 这是代码样本. #include const unsigned char sample[] PROGMEM = { 0,6,14,22,30,38,46,54,60,68,74,82,90,98,106,114,112, }; void setup() { startPlayback(sample, sizeof(sample)); } void loop() { } 如果有人知道如何使用按钮在Arduino中播放音频(没有SD卡) 帮我... 解决:通过添加input_pullup 解决方案 const unsigned char sample2[] PROGMEM = { 100,96,84,72,60,58,46,34,20,18,4,12,20,38,46,54,62, };
2 2024-03-03
编程技术问答社区
为什么Arduino IDE能与NodeMCU一起工作?
我知道当我们购买nodemcu时,我们会在其中安装了nodemcu固件.但是,我们怎么能够使用此开发套件使用Arduino IDE(用于C ++编程)? 我们如何使用C ++ IDE与基于LUA的固件配合使用?我在这里的概念怎么了? 解决方案 "基于LUA的固件"有点误导,因为核心固件本身是用C编写的(Lua解释器也是如此). 结帐它的源代码 nodemcu固件被您的arduino草图删除并取代.您像其他任何Arduino一样对其进行编码. 如果要再次在上面运行lua脚本,则必须刷新nodemcu固件. 这只是支持相同微控制器的两种不同的软件.
0 2024-03-03
编程技术问答社区
Arduino wifi盾牌无法找到IP地址
嗨,我正在尝试在浏览器上访问我的WiFi Shield的IP地址,但我一直在浏览! Google Chrome无法连接到" IP地址". 我已经完成的事情: 1.)使用此链接在WiFi Shield上更新固件 http://ohmyfarads.com/2013/11/11/updating-firmware-on-arduino-wifi-nield-shield-for-dummies/ 2.)从Arduino站点上传了WiFi WPA草图.我的连接是WPA2 3.)我在Arduino IDE 1.02和1.05之间切换 4.)我使用的是连接到WiFi Shield的Arduino Uno板 帮助吗?谢谢! 解决方案 这可能是由不正确的路由器设置引起的.您应该看的东西: 1.您可能必须首先将设备MAC地址添加到路由器列表中,然后将其分配给您想要的特定IP地址. 2.第二种选择是路由器可以通过DHCP提供自己的地址. 请记住,您
6 2024-03-03
编程技术问答社区
类实例化只在全局范围内起作用,但在设置中不起作用
我有一个问题,即对象实例化的顺序影响我的系统功能.以下所有代码编译,但只有一个使步进器加强.我还想指出,arduino 我自己的研究使我认为恰恰相反.我的理解是,在调用Arduino运行时环境INIT()之前,调用设置()之前实例化的对象.这将导致诸如Pinmode()之类的方法尚未可用.再次反思默认的arduino步进库,构造函数调用pinmode()似乎是错误的. 为什么必须按此顺序? 工作代码在设置之前实例化tmc26xstepper类: #include #include TMC26XStepper tmc26xStepper = TMC26XStepper(200, 2, 6, 7, 800); void setup() { Serial.begin(9600); tmc26xStepper.setSpreadCycleChopper(0, 24, 8, 6, 0); tmc26xStepper.
0 2024-03-03
编程技术问答社区
Arduino GSM GPS盾牌不做GSM_READY检查
在将这个问题标记为重复之前,请注意,我已经尝试了此,/a>& this 我最近购买了Arduino Uno R3和SIM808 GSM/GPS盾牌.盾牌的RX连接到TX Arduino的引脚11,彼此连接的GND都连接到Pin 10.我已经将Arduino与USB连接到我的计算机,盾牌连接到带有12V适配器的外部电源.此外,我将Arduino的3.3V连接到了盾牌的VCC. 以下是我使用的草图: // Include the GSM library #include #define PINNUMBER "" // initialize the library instance GSM gsmAccess; GSM_SMS sms; void setup() { // initialize serial communications and wait for port to open: Serial.begin(9600); while
2 2024-03-03
编程技术问答社区
cylon.js和arduino uno:在没有电缆连接到PC的情况下执行程序
我是这个领域的新手,所以这可能是一个奇怪的问题. 我们可以在Aduino IDE中编写代码(例如闪烁的灯光)并将其上传到Arduino,我们可以与PC断开连接,并且程序将运行. (眨眼会发生). 现在,当我们使用cylon.js并编写程序并执行Say 时 $ node blinking.js ,只要Arduino连接到PC(或笔记本电脑),闪烁就会发生,当我杀死节点JS或从PC上断开Arduino时,闪烁的停止. (这就是它应该发生的方式,对吗?) 所以我的问题是, 如果我有一个带有温度传感器的arduino,则有些室外和cylon.js程序可以使用这些传感器数据并执行一些操作(例如打印它们),那么我该如何实现?我是否必须有两个通过无线或GSM盾牌连接的Arduinos(一个Outdor,一个连接到Cylon.js正在运行的PC)? 还是有一种简单的方法?对此的任何见解都非常感谢. 谢谢 解决方案 ,只要Arduino连接到PC(或笔记本电脑), 眨
2 2024-03-03
编程技术问答社区
找不到Arduino IDE与代码
我正在使用Windows,然后从Microsoft Store安装了Arduino IDE,但我想在VS代码中编写所有内容.当我想运行程序或选择板时,它只是说: Cannot find Arduino IDE. Please specify the "arduino.path" in the user settings. Requires a restart after change. 我该如何解决此问题,在哪里可以找到arduino.path? 解决方案 安装VS代码的平台扩展名.它具有Arduino框架,可与所有可能的董事会合作,然后使用一些. 其他解决方案 对我来说,没有什么可以使Arduino Ide.App(2.0 beta)工作.切换到1.8.6(arduino.App),将其放入我的应用程序文件夹中(因此路径为/Applications/Arduino.app),并将VSCODE设置设置为: "arduino.path": "/Applica
14 2024-03-03
编程技术问答社区
如何在Arduino中把一个char变量作为数字打印到串行端口?
我正在使用Arduino Uno.我正在从EEPROM读取字节值,并将值存储在类型char的变量(1个字节)中. . 我想将变量的值打印为串行监视器的数字(不是相应的ASCII代码).例如考虑char val = 5. 我想查看串行显示5而不是ASCII值. 我同时尝试了Serial.print(val)和Serial.write(val),但结果是相同的:它始终打印ASCII代码. 如何将值打印到串行显示器? 预先感谢. 解决方案 将char变量施放到unsigned char类型: Serial.print( (uint8_t) c ); 这调用了不同的print方法.它们"超负荷". 其他解决方案 将变量存储为类型字节. byte val = 5; 然后Serial.print(val)将给出5 其他解决方案 其他两个答案建议使用byte或uint8_t(它们是相等的),但是这两种数据类型都是 unsigned ,范
6 2024-03-03
编程技术问答社区
常数ARDUINO是什么意思? 以前是22,现在是100
我正在使用热电偶并下载了Max6675库.我想知道以下几行中arduino常数的值是多少. #if ARDUINO >= 100 lcd.write((byte)0); #else lcd.print(0, BYTE); #endif lcd.print("C "); lcd.print(thermocouple.readFahrenheit()); #if ARDUINO >= 100 lcd.write((byte)0); #else lcd.print(0, BYTE); #endif lcd.print('F'); 我已经搜索了答案,但很少有信息. 我可以用以下行打印出值,但我仍然找不到它的含义. serial.println(arduino); 解决方案 ARDUINO常数给出了使用的arduino环境的版本. 例如,22适用于旧的Arduino 22 IDE,100适用于Arduino环境的1.0版.最新的Arduin
0 2024-03-03
编程技术问答社区
Arduino无法编译名为SP的变量:"期望在'('令牌之前有')'"
我正在为项目的前向运动和逆运动模型,似乎无法解决此错误. 我是C ++课程的新手,过去仅在Python中使用过它们,所以很抱歉,如果这是一个愚蠢的问题. 下面是我的代码的摘录,这是似乎给出错误的所有内容.显示错误的行被标记了,我不知道发生了什么,我似乎无法修复它. #include class Leg{ public: //The class's variables that all functions for this class can use int PositionX; int PositionY; Servo Shoulder(); Servo Elbow(); Leg(int SP, int EP){ //-----------This line has the error! // This is the constructor function const
0 2024-03-03
编程技术问答社区
Adafruit NeoPixel库在寻址7个以上的LED灯条时不工作
从我的最后一个问题开始,因此我正在处理一个由Arduino Mega控制的交互式14x14 LED表(有关设置和代码的更多信息,请查看 为了使用Adafruit的Neopixel库在LED表上控制每个像素的颜色,我以INT形式的数组读取[14] [14] [3].现在可以正常工作,但是当我尝试将超过7个LED条带的RGB值设置为相应的数据时,什么都不会发生.我也有几个Serial.println()调用来检查读取哪些数据,如果我运行的7个LED条0 0都会为每个可能的值打印. 控制LED的基本功能可以完美地工作 - 我还可以正确处理和输出上述数据,只要我不使用超过7个条带,我也可以将上述数据正确处理到LED条.问题在于,如果我在一个数组中宣布这7个条或将它们拆分的这7个条的声明都没有关系.同样,将它们分开初始化不如创建条带的一个实例,并每次使用其他条带重新分配销钉. 我的代码当前看起来像这样,我从字面上毫无疑问是什么原因或我如何解决的原因. #include
2 2024-03-03
编程技术问答社区
Xbee节点发现响应
我正在尝试从我的网络中发现设备. 因此,我向协调员发送了一个nd命令,我正确地收到了其他XBEE的响应. 下一步将是存储我在Web应用程序中收到的信息,以发送命令和数据. 但是,我仍然缺少的是框架中的某些零件.到目前为止,我已经绘制了这样的框架: 1 7E start frame ===== =================== MESSAGE LENGHT 2-3 0x00 0x19 -> 25 ===== =================== PACKET TYPE 4 88 -> response to a remote AT command 5 02 frame ID ===== =================== AT COMMAND 6-7 0x4E 0x44 "ND"
4 2024-03-03
编程技术问答社区
集成Arduino和Processing-按钮计数器
我希望整合Arduino控件和处理接口. 在我的Arduino代码中,有三个按钮附加了针A1,A0和D0(所有DigitalRead). int x;// assigned to A0 input int y;// assigned to A1 input int z; //assigned to D0 input int votes[3]={0,0,0}; void setup() { // initialize the serial communication Serial.begin(9600); while(!Serial); } void loop() { // first we need to read the values from the BUTTONS x = digitalRead(A0); y = digitalRead(A1); z = digitalRead(0); if(digitalRead(A0) ==
0 2024-03-03
编程技术问答社区
如何解决ESP8266的这个错误:"警告:espcomm_sync失败 错误:espcomm_open失败 错误:espcomm_upload_mem失败"?
我正在使用ESP8266-01进行项目.这就是我将其连接到PL2303的方式: PL2303 ---> ESP8266 3.3V ---> VCC,CH_PD txd ---> rx RXD ---> TX gnd ---> gpio0,gnd 接下来,我打开了Arduino IDE(版本1.8.19),并将此代码添加到我的草图中(我正在使用ESP8266库版本2.1.0): #include const char *ssid = "ESP AP"; const char *password = "12345"; void setup() { Serial.begin(115200); WiFi.softAP(ssid, password); Serial.print("Access Point: "); Serial.print(ssid); Seri
0 2024-03-03
编程技术问答社区
为什么我的OLED显示器不适用于ESP32?
你好,也许有人可以帮助我.我尝试使用ESP32在OLED显示器上显示文本.我使用本指南.我下载了所有的诽谤并将其连接起来,但我的OLED仍然显示:显示显示Randome Pixels .在我的显示的底部是这条黑线.在指南中,第一个视频显示了一个示例.在此示例的结尾,有这颗星星在de展示上下雨.黑线向我展示了那个星星,但它们从从顶部到底部的从左到右进行.也许我必须将显示器翻转90°,但我不知道该如何使用代码进行此操作. 解决方案 您可以检查外交部的决议. 以下代码段显示了块在哪里声明的大小并执行了OLED Display的命令 #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels #define OLED_RESET -1 // Reset pin # (or -1 if sharing Ardu
16 2024-03-03
编程技术问答社区
任务看门狗被触发。/abort()在核心0的PC 0x400de07b被调用。
我正在一个自主GPS机器人项目中.一段时间后,当我运行以下代码时,ESP32(Devkit V1)重新启动,然后重复. Pause for Startup... 3 Pause for Startup... 2 Pause for Startup... 1 Searching for Satellites Searching for Satellites GPS Waypoint 1 Set Waypoint #1: 0.000000 , 0.000000 Waypoint #2: 0.000000 , 0.000000 5 Satellites Acquired10.190620 76.424872 25.190620 47.424872 YOYYYYO Go to Waypoint E (98333) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog i
16 2024-03-03
编程技术问答社区