链接到 arduino 的设置我是 Arduino 之类的初学者。我试图在 2 个 Arduino 之间建立一个 BLE HM10 连接。我将 BLE 模块连接到我的 FTDI 电缆并将它们设置为主机和从机。当我启动它们时,它们会立即连接。我将波特率设置为 9600(默认)并尝试从从属设备发送“传感器值”到应该移动伺服的主板。
我写下了我的代码并以多种方式对其进行了测试。Arduino 引脚 0/1 和 7/8 中的 HM10 Rx/Tx 引脚……对我没有用。我写了一条语句,如果从机的数据到达主机,串行终端不输出任何内容而不是“A”。
我使用 Arduino Uno 作为奴隶,代码如下:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(7, 8); // RX, TX
// Connect HM10 Arduino Uno
// TXD Pin 7
// RXD Pin 8
int reading = A0; // FSR attached to A0
int fsrreading;
int val;
void setup() {
Serial.begin(9600);
mySerial.begin(9600); //bluetooth serial begin
}
void loop() {
int reading = analogRead(A0); //read fsr value
Serial.print("Analog reading = ");
Serial.println(reading);
int val = map(reading, 0, 1023, 0, 180); // convert to servo value
Serial.print("servo value = ");
Serial.println(val);
mySerial.write(val);//send fsr value to bt serial to the master
delay(500); //Tweak this to lower value if communication is working
}
这是 Arduino Leonardo 上大师的代码:
#include <SoftwareSerial.h>
#include <Servo.h>
SoftwareSerial mySerial(7, 8); // RX, TX
// Connect HM10 Arduino Uno
// TXD Pin 7
// RXD Pin 8
int servoPin = 9; //attached to pin 9 (PWM)
Servo myservo;
int val;
int data;
void setup() {
Serial.begin(9600);
mySerial.begin(9600);//bluetooth serial begin
myservo.attach(servoPin);//servo obj is attached to pin9
}
void loop()
{
int avail = mySerial.available();//check is serial is available
if (avail > 0)
{
for (int i = 0; i < avail; i++)
{
int data = mySerial.read();
//no need to map or constrain
// data is already between 0 an 180
myservo.write(data);//move servo to pos
Serial.println(data,DEC);
delay(50);
}
}
}
如果我打开串行终端,我只会得到 A,如果按下“传感器”(FSR),则不会有任何动作……我在串行中得到 FSR 值,但在主设备的串行中没有。 ..我不知道我到底做错了什么。拜托,你们能看穿我的意大利面条代码并告诉我我的错吗?