如何读取伺服位置并将其发送到Android进行文本视图?



我发送一个命令通过Android移动舵机,然后舵机通过蓝牙将位置发送到Android。如何读取伺服位置并将其发送到Android进行文本视图?

这是我使用的代码。值 100 表示打开,值 150 表示关闭 LED,因为 1-90 用于伺服。首次连接安卓时如何发布伺服位置?

#include <SoftwareSerial.h>
#include <Servo.h>
Servo servo;
int bluetoothTx = 10;
int bluetoothRx = 11;
int data ;
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
void setup() 
{
pinMode(13, OUTPUT);
servo.attach(9);
bluetooth.begin(9600); 
delay(100);
}

void loop() 
{
if(bluetooth.available() > 0)  
{ 
data = bluetooth.read();
int servopos;
int servopos1;
servopos = data;
servopos1 = data + 9;
if(data == 100){            
digitalWrite(13, HIGH); 
}else if(data == 150){       
digitalWrite(13, LOW);                               
}else if (data > 100){ 
Serial.println(servopos);
servo.write(' ');
}else if (data < 100){
Serial.println(servopos);
servo.write(servopos1);
}
}
} 

您使用的是哪种伺服器?
如果是模拟舵机,则无法获取舵机位置,但您可以将舵机状态保存到变量中,然后可以提供给您的 android 应用程序。

此外,存储(模拟(伺服位置正确值的最接近方法是将其发送到最小或最大位置(假设它不是连续且自由旋转的舵机(,然后存储对伺服位置所做的任何更改。
这是相当有代表性的,但它应该可以解决问题。

要从arduino获取信息,您是否尝试过SoftwareSerialprint()方法?

最新更新