跑跑啦航模

  用手机APP蓝牙遥控小车是最适合入门的功能扩展。本文教你用MIT App Inventor零代码搭建遥控APP,以及单片机端如何接收控制指令。

一、硬件准备

  Arduino UNO 或 STM32(作为小车主控)

  HC-05/HC-06 蓝牙串口模块 × 1

  L298N电机驱动 + 小车底盘(沿用之前的配置)

  HC-05(主从一体)推荐用于双向通信,HC-06(从机)适合单向遥控。

二、蓝牙模块配置

  HC-05/HC-06默认波特率9600,配对密码1234。如果需要修改:

  1. 将蓝牙模块通过USB转TTL模块接电脑(TX接RX,RX接TX,注意分压)。

  2. 打开串口助手,发送AT指令:

  AT(测试连接,返回OK)

  AT+NAME=SmartCar(改名)

  AT+UART=115200,0,0(改波特率)

  AT+ROLE=0(设为从机模式)

  3. 配置完成后,蓝牙模块的TX接Arduino的RX(引脚0),RX接TX(引脚1),VCC接5V,GND共地。

三、单片机接收代码

// Arduino蓝牙串口控制代码

const int IN1 = 8, IN2 = 9, IN3 = 10, IN4 = 11;
char cmd;

void setup() {
  for(int p=8; p<=11; p++) pinMode(p, OUTPUT);
  Serial.begin(9600);
}

void forward() {
  digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW);
  digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW);
}

void backward() {
  digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH);
  digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH);
}

void turnLeft() {
  digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH);
  digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW);
}

void turnRight() {
  digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW);
  digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH);
}

void stop() {
  for(int p=8; p<=11; p++) digitalWrite(p,LOW);
}

void loop() {
  if(Serial.available()) {
    cmd = Serial.read();
    switch(cmd) {
      case 'F': forward(); break;
      case 'B': backward(); break;
      case 'L': turnLeft(); break;
      case 'R': turnRight(); break;
      case 'S': stop(); break;
    }
  }
}

四、制作APP(MIT App Inventor)

  打开 ai2.appinventor.mit.edu,登录后新建项目:

  界面设计:

  1. 从布局面板拖入垂直布局,设为居中。

  2. 添加 ListPicker 组件,标题设为"选择蓝牙设备"。

  3. 添加一个布局网格(TableArrangement),放置5个按钮:

    前进按钮(文本"▲",大号字体)

    左转、停止、右转按钮(放在第二行)

    后退按钮(文本"▼",放在第三行)

  4. 添加 BluetoothClient 组件(在连接类中)。

  逻辑设计:

  1. ListPicker 的 BeforePicking 事件中调用 BluetoothClient 的 GetAddressesAndNames。

  2. ListPicker 的 AfterPicking 事件中,用 BluetoothClient 连接选中的设备地址。

  3. 前进按钮的 TouchDown 事件发字符 'F',TouchUp 事件发字符 'S'(停止)。

  4. 其他按钮同理,对应字符 'B','L','R'。

  5. 编译为APK安装到手机即可。

五、进阶:双向通信

  如果使用HC-05(支持双向),可以让小车回传状态数据,如电池电压、当前速度、障碍物距离等。在手机端添加一个文本显示框,单片机定期通过串口发送状态字符串,手机端读取并显示。

六、常见问题

  Q:手机搜不到蓝牙模块?

  A:确保蓝牙模块通电(指示灯闪烁),确认模块没有进入AT模式(有些模块需要先断开AT模式引脚)。

  Q:连接后控制无反应?

  A:检查Arduino的RX/TX是否被蓝牙占用(烧录时需要拔掉蓝牙的TX线)。确认波特率一致。

跑跑啦航模详情

联系手机15058675618 qq售后群号241350086 微信号paopaola_com
长距离FPV无人机,高清传感器模块,终身保修和升级服务。