天道酬勤,学无止境

arduino

pySerial differences with python 2.7 and 3.4

问题 我正在开发一个项目,该项目需要通过串行端口将一些数字从 Windows 10 中的 python 发送到 arduino uno。 作为一个简单的测试,我只想通过发送“2”来打开 LED,并通过从命令提示符发送“4”来关闭 LED,尽管我希望最终能够将任何数字 0-99 用于不同目的。 这是我的arduino代码: const int ledPin = 13; byte b1, b2; int val; void setup() { Serial.begin(9600); pinMode(ledPin, OUTPUT); } void loop() { if (Serial.available() > 1) { b1 = Serial.read(); b2 = Serial.read(); val = ((b1-48)*10) + (b2-48); if (val == 2) { digitalWrite(ledPin, HIGH); } if (val == 4) { digitalWrite(ledPin, LOW); } } 这感觉像是一种 hack,但之所以有效,是因为 '0' 从 ASCII 表上的 48 开始(所以 2 = 50 等),这是我使用以下 python 代码发送一些数字时 arduino 实际收到的内容: import serial ser =

2022-05-16 15:50:04    分类:技术分享    python-2.7   arduino   python-3.4

Arduino GSM Shield WebClient 302

问题 我将 arduino mega 和 Arduino GSM Shield 与 Fyve(vodafone)- Sim 放在一起。 从长远来看,我想添加一个 GPS 以通过 GSM 模块将位置数据发送到 data.sparkfun.com。 为了让我的代码运行,我从 arduino 的 GsmWebClient 示例开始。 问题是,我经常收到“HTTP/1.1 302 Found - Error”。 所以显然我被重定向了。 感觉必须有一个非常简单的解决方案,但我无法弄清楚。 基本上通读整个互联网。 我真的不知道发生了什么事,现在感觉很愚蠢。 如果我将 APN 更改为 web.vodafone.de GSM 和 GPRS 连接,但客户端没有。 以下是来自串行的代码和响应: // libraries #include <GSM.h> // PIN Number #define PINNUMBER "****" // APN data #define GPRS_APN "event.vodafone.de" // replace your GPRS APN #define GPRS_LOGIN "" // replace with your GPRS login #define GPRS_PASSWORD "" // replace with your GPRS password /

2022-05-16 04:49:07    分类:技术分享    arduino   webclient   gsm   gprs

expected unqualified-id before '.' token arduino library

问题 我收到此错误: 在函数'void loop()'中:headers_stepper_test:12:错误:'。'之前的预期unqualified-id '.' 之前的令牌应为不合格 ID 令牌 在这段代码中: #include "StepperMotor.h" void setup() { // put your setup code here, to run once: StepperMotor(8,9); } void loop() { // put your main code here, to run repeatedly: void StepperMotor.moveDegrees(-180); delay(1000); } cpp 库文件: #include "Arduino.h" StepperMotor::StepperMotor(int pin1, int pin2) { dirPin=pin1; pinMode(dirPin,OUTPUT); stepperPin=pin2; pinMode(stepperPin,OUTPUT); } void StepperMotor::stepDegrees(bool dir, int steps); { digitalWrite(dirPin,dir); delay(50); for(int i=0;i<steps

2022-05-15 08:46:04    分类:技术分享    c++   arduino   header-files

Retrieving data from Arduino UNO via USB COM PORT

问题 我正在与 Arduino UNO 合作一个项目。 我的任务是从 Arduino 接收数据并使用 PHP 将其保存到数据库中(首先,我试图在 php 代码中获取数据,保存到数据库非常容易)。 我正在使用 Windows 操作系统。 使用 WAMP,php 版本:5.5.12 问题是:我无法弄清楚如何通过 COM 端口正确读取数据。 Arduino示例代码: float temp; int tempPin = 0; void setup() { Serial.begin(9600); temp = analogRead(tempPin); temp = temp * 0.48828125; Serial.print(temp); } void loop() { } 后面的 PHP 代码(arduino 使用 COM3): <?php exec("MODE COM3: BAUD=9600 PARITY=N DATA=8 STOP=1"); $portAddress = 'COM3:'; // Open connection on port $port = fopen($portAddress, 'rb+'); stream_set_timeout($port, 0, 100); stream_set_blocking($port,0); // Necessary when the

2022-05-12 23:41:20    分类:技术分享    php   windows   arduino   serial-port

Fast plotting data in python

问题 我正在尝试使用 arduino 绘制来自 mpu6050 imu 的数据。 MPU6050 发送数据的速度比绘图快。 Arduino 代码从串口提供 6 个数据,分别是 yaw、pitch、roll、ax、ay 和 az。 我需要有关快速情节的建议。 蟒蛇代码: import serial import matplotlib.pyplot as plt #import matplotlib library from drawnow import * ser = serial.Serial('COM9', 115200) yaw = 0.0 pitch =0.0 roll =0.0 ax =0.0 ay =0.0 az =0.0 o_yaw= [0] o_pitch= [0] o_roll= [0] o_ax= [0] o_ay= [0] o_az= [0] plt.ion() cnt=0 def makeFig(): plt.ylim(-1000,1000) plt.grid(True) plt.ylabel('Magnitude') plt.plot(olculen_ax, 'ro-', label='ax') plt.plot(olculen_ay, 'bo-', label='ay') plt.plot(olculen_az, 'go-', label='az')

2022-05-11 11:10:08    分类:技术分享    python   matplotlib   plot   arduino   serial-port

How to get numbers from sd card?

问题 我不擅长编码。 我在 SD 卡中有一个名为 Test.cal 的文件,其中包含 6 个数字。 20,21,22,23,24,25 但是我不知道这六个数字如何得到。 有人能帮我吗 ? 以下是我自己对编码的想法。 #include <SD.h> float meterTemp[6]; String theLines[15]; File myFile; void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } Serial.print("Initializing SD card..."); // On the Ethernet Shield, CS is pin 4. It's set as an output by default. // Note that even if it's not used as the CS pin, the hardware SS pin // (10 on most Arduino boards, 53 on the Mega) must be left as

2022-05-06 15:54:03    分类:技术分享    arduino

How to use Arduino with BLE Shield search Apple's iBeacons signal source

问题 我正在玩一个项目,通过 Arduino 使用 BLE Shield 在区域内搜索 iBeacons。 由于 iBeacons Technology 的技术支持泄露,我找不到任何有关如何搜索 iBeacons 信号源的文档。 回答1 iBeacon 基本上是一个 BLE 广播器,此类设备只能由 Central 或 Observer 发现。 许多 BLE 屏蔽使用 Nordic Semiconductor 的 nRF8001 芯片,不幸的是,这是一个纯外围设备,因此无法使用它来发现 iBeacon。 查看这个问题,了解有关 BLE 中角色的更多详细信息。

2022-05-06 14:07:15    分类:技术分享    ios7   arduino   bluetooth-lowenergy   ibeacon

Communication Arduino-C++ do not read Arduino

问题 我有以下代码: QSerialPort arduPort("COM5"); arduPort.setBaudRate(QSerialPort::Baud9600); arduPort.setDataBits(QSerialPort::Data8); arduPort.setParity(QSerialPort::NoParity); arduPort.setStopBits(QSerialPort::OneStop); arduPort.setFlowControl(QSerialPort::NoFlowControl); arduPort.open(QSerialPort::ReadWrite); cout<<arduPort.isReadable()<<endl; cout<<arduPort.isWritable()<<endl; arduPort.write("a"); QByteArray s=arduPort.readAll(); cout<<QString(s).toStdString()<<endl; Arduino中的下一个代码: int inByte = 0; void setup() { Serial.begin(9600); while(!Serial){;} int i=0; } void loop() { if(Serial.read()=='a'

2022-05-06 11:57:23    分类:技术分享    c++   arduino   qtserialport

Attempting to use a Template instead of an Overloaded Function in Arduino: TYPE not declared in this Scope

问题 我正在尝试编写一个可以将数据移出到 74HC595 移位寄存器的函数,该移位寄存器可以移出 8、16 和 32 位值。 使用重载函数,我有这个: /********************************************************************************** * Software SPI Pin Settings *********************************************************************************/ #define SPIPINPORT PORTB //The Port that the Pins are on. #define LatchPin 2 //_RCLK Shift register clock pin #define DataPin 3 //SER DS Serial data input #define ClockPin 5 /********************************************************************************** * Preproccesor PIN to PIN Mask ****************************************

2022-05-06 06:32:03    分类:技术分享    templates   arduino   shift-register

Arduino: struct pointer as function parameter

问题 下面的代码给出了错误: sketch_jul05a:2: error: variable or field 'func' declared void 所以我的问题是:如何将指向结构的指针作为函数参数传递? 代码: typedef struct { int a,b; } Struc; void func(Struc *p) { } void setup() { Struc s; func(&s); } void loop() { } 回答1 问题是,Arduino-IDE 会像这样将其自动翻译成 C: #line 1 "sketch_jul05a.ino" #include "Arduino.h" void func(Struc *p); void setup(); void loop(); #line 1 typedef struct { int a,b; } Struc; void func(Struc *p) { } void setup() { Struc s; func(&s); } void loop() { } 这意味着在 C 编译器知道Struc之前,在func的声明中使用了Struc 。 解决方案:将Struc的定义移动到另一个头文件中并包含它。 主要草图: #include "datastructures.h" void func(Struc *p) { }

2022-05-06 03:58:38    分类:技术分享    arduino   arduino-ide