蓝牙控制arduino的安卓软件(基于app inventor2 )(之二:arduino程序设计篇)

蓝牙控制arduino的安卓软件(基于app inventor )

上一篇讲了蓝牙控制arduino的安卓软件(基于app inventor )(之一:andriod软件设计篇)

这节讲arduino端的程序设计篇。

现在开始:

1、蓝牙的连接:



2、连接好之后是程序设计:

首先设计的是串口通信的设计

void setup()
{
 Serial.begin(9600);
 pinMode(ledpin,OUTPUT);
}

3、然后是接收缓冲区字符,并进行判断,进行对应的操作:

void loop()
{
  while(Serial.available())
   {
     char c=Serial.read();
      if(c=='A')
        {
          Serial.println("Hello I am amarino");
          digitalWrite(ledpin,HIGH);
        }
        else
        {
          Serial.println("Stop using......");
          digitalWrite(ledpin,LOW);
        }
   }
}

在这之前,要进行下面的代码:

int val;
int ledpin=13;


4、进行下载操作:

全部代码:

int val;
int ledpin=13;

void setup()
{
 Serial.begin(9600);
 pinMode(ledpin,OUTPUT);
}
 
void loop()
{
  while(Serial.available())
   {
     char c=Serial.read();
      if(c=='A')
        {
          Serial.println("Hello I am amarino");
          digitalWrite(ledpin,HIGH);
        }
        else
        {
          Serial.println("Stop using......");
          digitalWrite(ledpin,LOW);
        }
   }
}



注意啊,下载的时候要将蓝牙的线先断开,不然会错误提示,下载失败。



5、adruino端这样就设计完了。下面就可以进行操作了。



谢谢大家。

-----------------------------------------------------------------------------------------------------------------------------------------------------------

大家可以参考:


http://tieba.baidu.com/p/2365821805

http://www.cnblogs.com/rayray/p/3157601.html

http://blog.sina.com.cn/s/blog_8a49cc8f0101b03j.html

下面是一个可能的Arduino代码,发送五路ADC采样的数据,此数据可以使用蓝牙传输给App Inventor。 ``` #include <SoftwareSerial.h> SoftwareSerial BTserial(10, 11); void setup() { // 将串口波特率设置为9600 Serial.begin(9600); // 设置蓝牙串口波特率为9600 BTserial.begin(9600); // 初始化A0到A4输入 for (int i = A0; i <= A4; i++) { pinMode(i, INPUT); } } void loop() { // 采样A0到A4的电压 int samples[5]; for (int i = A0; i <= A4; i++) { samples[i - A0] = analogRead(i); delay(5); // 等待转换完成 } // 将采样的电压发送给蓝牙模块 for (int i = 0; i < 5; i++) { BTserial.println(samples[i]); Serial.print(samples[i]); Serial.print("\t"); } Serial.println(); delay(1000); // 每隔1秒发送一次采样 } ``` 在App Inventor中,您可以设置一个“BluetoothClient”组件来接收来自Arduino的数据。例如,将“BluetoothClient1”的“Receive”事件块设置为: ``` // 读取蓝牙数据 while (BluetoothClient1.BytesAvailable()) { // 读取并处理接收到的LiveData数据 processLiveData(BluetoothClient1.ReadSigned16bitValue()); } // 处理LiveData数据 procedure processLiveData(newValue: number) begin // 这里展示如何在应用程序中使用LiveData,你应该基于这个来实现你的逻辑 // 读取A1的采样值,并在“值显示器”中显示 if (newValue > 0 && newValue < 1024) { if (newValue >= 200 && newValue < 800) { // 在这个范围内,显示绿色表示良好 ValueDisplay1.TextColor(COLOR_GREEN); } else if (newValue >= 800) { // 在这个范围内,显示红色表示太高 ValueDisplay1.TextColor(COLOR_RED); } else { // 在此范围内,显示黄色表示最佳 ValueDisplay1.TextColor(COLOR_YELLOW); } ValueDisplay1.Text(String(newValue)); } end ``` 这只是一个基本的示例,你可以根据你的需求修改它。注意,这个示例假定你希望在应用程序中监视并显示来自A1的电压,因此它调用了一个名为“processLiveData”的处理器,该处理器接受来自Arduino的值并根据其值在应用程序中更新一个“值显示器”。在实际使用中,你需要修改代码来适应你的需要和项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值