arduino的传感器数据怎么传给手机蓝牙,求程序

arduino的传感器数据怎么传给手机蓝牙,求程序,第1张

以下是程序:

/* 本例程演示从手机蓝牙串口接收指令,点亮或熄灭11脚的LED,或者调整亮度。

 * 接收指令格式:“101X”点亮,“102X"熄灭,”000X"调整亮度。(000为0-100的整数,表示亮度值,X是结束符。)

 * 串口是异步接收的,用parseInt()查找第一个有效整数,检测到结束符后开始处理。

 * 接收数据显示在1602LCD屏上。

 * 点亮或熄灭LED后,将收到数据回传给手机。用pringln()函数,数据后面加了"\r"和"\n"两个字符,可以用作结束符。

 * 串口传送的是ASCII字符,数据格式可以自动转换。

 */

  

#include <Wire.h>                  // 包含LCD库。

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2)  // 初始化LCD对象,地址为0x27,每行16个字符,共两行。

int p                             // 定义整数型全局变量,保存接收的数据。

 

void setup() {

  lcd.init()                      // 初始化LCD。 

  lcd.backlight()                 // 打开LCD背光。

  Serial.begin(9600)              // 打开串口(蓝牙)

  pinMode(11,OUTPUT)              // 定义11脚为输出。(数字或PWM)

}

 

void loop() {

  while (Serial.available() > 0) {   // 串口收到字符数大于零。

    p = Serial.parseInt()           // 在串口数据流中查找一个有效整数。

    if (Serial.read() == 'X') {      // 收到结束符后开始处理数据。

      lcd.clear()                   // LCD清屏。

      lcd.print(p)                  // LCD显示收到的数据(整数)。

      switch (p) {                   // 判断数据内容。

      case 101:

        digitalWrite(11,HIGH)       // 点亮LED。

        Serial.println(p)           // 回传数据。

        break

      case 102:

        digitalWrite(11,LOW)        // 熄灭LED。

        Serial.println(p)           // 回传数据。

        break

      default:

        p = map(p,0,100,0,255)      // 转换数据范围到PWM输出值。

        analogWrite(11,p)           // 调整LED亮度。(PWM)

      }

    }

  }

}

原文在这里:ht防tp:/止/ww误w.ardu删ino.c防n/thr吞ead-16网311-1-1.h址tml(请去掉中文)

肯定可以啊,蓝牙透传数据再通过SPI接口写入到Flash,道理上没问题。肯定需要额外一个芯片来处理,通过板子上那块ATmega16应该也可以实现。

不过考虑到328本身的性能,是否值得费事这么做就要考虑一下了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11891945.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存