You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Arduino Uno红外传感器数据导入Android应用

如何将Arduino红外传感器数据传输到Android应用?

看起来你已经把Arduino端的红外传感器调试得很到位了——串口输出正常,检测逻辑也没问题(检测到物体输出0,未检测到输出1)。接下来要把数据传到Android应用,这里给你几个实用的方案,都是实际开发中常用的:

方案1:蓝牙模块(低成本、无线首选方案)

这是最适合近距离传输的方案,推荐用HC-05或HC-06蓝牙模块,成本低还容易上手。

硬件连接步骤

  • VCC引脚接Arduino的5V,GND接Arduino的GND
  • 蓝牙模块的TX接Arduino的RX(引脚0),RX接Arduino的TX(引脚1)
    注意:烧录Arduino代码的时候,必须拔掉这两根TX/RX连接线,否则串口被蓝牙占用,会导致烧录失败!
  • 如果不想占用硬件串口,也可以用SoftwareSerial库把蓝牙模块接在其他数字引脚(比如2和3)

修改后的Arduino代码

在你原有代码基础上,添加蓝牙数据发送逻辑:

#include <SoftwareSerial.h>
// 定义蓝牙模块的软串口引脚(RX=2, TX=3)
SoftwareSerial bluetooth(2, 3);

int sensorPin = A0;
int sensorValue = 0;
int LED_H = 5;

void setup() {
  pinMode(LED_H, OUTPUT);
  Serial.begin(9600); // 保留硬件串口用于调试
  bluetooth.begin(9600); // 蓝牙模块默认波特率一般为9600,可根据模块参数调整
}

void loop() {
  sensorValue = digitalRead(sensorPin); // 读取传感器电平(0=检测到物体,1=未检测到)
  
  // 控制LED逻辑保持不变
  if (sensorValue == 0) {
    digitalWrite(LED_H, HIGH);
  } else {
    digitalWrite(LED_H, LOW);
  }
  
  // 发送数据到蓝牙模块,添加换行符方便Android端解析
  bluetooth.println(sensorValue);
  Serial.println(sensorValue); // 保留串口调试输出
  delay(100); // 控制发送频率,避免数据过载
}

Android端实现要点

  1. 打开手机蓝牙,搜索并配对蓝牙模块(默认配对密码一般是1234或0000)
  2. 用Android的BluetoothSocket建立连接,获取输入流读取蓝牙发送的数据
  3. 解析读取到的字符串(每次读取一行),转换成整数后即可在APP中使用

方案2:USB OTG连接(有线稳定方案)

如果你的Android设备支持OTG功能,可以直接用USB线将Arduino和手机连接,把Arduino当作串口设备读取数据。

Arduino端代码

不需要做太多修改,保持你原有代码中的Serial.println(sensorValue)输出即可,OTG连接后手机会识别Arduino为串口设备。

Android端实现要点

  • 在AndroidManifest.xml中添加USB权限声明
  • 使用USB Host API或者第三方库(比如usb-serial-for-android)来识别并读取串口数据
  • 注意处理设备连接/断开的状态变化

方案3:WiFi模块(远程传输方案)

如果需要远程传输数据,或者不想用蓝牙/有线连接,可以给Arduino Uno搭配ESP8266 WiFi模块(比如ESP-01),或者直接换成ESP32开发板(自带WiFi和蓝牙)。

实现思路

  1. Arduino端通过WiFi连接到局域网,将传感器数据通过TCP/UDP发送到Android设备的IP地址,或者上传到MQTT服务器
  2. Android端作为TCP/UDP客户端接收数据,或者从MQTT服务器订阅数据

这个方案适合需要远程监控的场景,但配置相对复杂一些。


内容的提问来源于stack exchange,提问作者EKJUN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:19:10