javascript原生移动云编程13 - 通过蓝牙操控智能硬件

本文介绍如何在码实云平台上使用JavaScript编写原生移动应用,通过蓝牙连接控制配备Arduino的智能小车。智能小车硬件包括Arduino、蓝牙模块ZeroBeacon和L298N电机控制器。Arduino程序接收特定格式的命令,如"go:f120,b80",控制小车行驶。JavaScript代码创建用户界面,并在滑杆停止时发送命令到小车,实现蓝牙通信。" 139238006,9884549,使用FDTD S参数在INTERCONNECT中构建器件,"['Lumerical', '光学仿真', '电磁仿真', '信号处理', '软件工具']
摘要由CSDN通过智能技术生成

用javascript在码实云平台上,可以在云里编写原生的移动应用。而原生的移动应用有能力通过蓝牙与其他蓝牙设备通讯。由于多数智能硬件现在都是用蓝牙(主要是蓝牙4.0BLE)与手机通讯,因此,码实平台开发的移动应用,可以轻松地操控智能硬件。


本应用实例的智能硬件是个智能小车,小车上的主要控制电路是最流行的Arduino,通过串行口连接着一个蓝牙模块(前面白色面包板上竖插的小板)。我们使用的蓝牙模块同时兼备串口透传和iBeacon的功能(码实平台另有教程详细介绍iBeacon应用的开发和配置),叫“ZeroBeacon”,产自国内蓝牙硬件公司“四月兄弟”(淘宝上可以找到)。为了简化教程,我们把硬件做的非常简单,用一个标准的L298N模块控制电机,左电机的I1、I2分别接Arduino的8和9端口,PWM调速EA接11端口。同理,右电机的I3、I4分别接入Arduino的6和7端口,PWM调速EB接10端口。蓝牙模块的VCC接Arduino的5V供电VCC,地线GND自然接Arduino的GND,蓝牙模块通讯口TX接Arduino的1端口RX,蓝牙的RX接Arduino的0端口TX。这就是硬件实例的全部信号接线。硬件部分的Arduino程序也写的非常简单。只用一条串口指令来操作小车的两个马达。下面是Arduino的C程序:

// L298N的电机控制模块
int pinI1=8;//定义I1接口 
int pinI2=9;//定义I2接口  
int speedpin=11;//定义EA(PWM调速)接口 
int pinI3=6;//定义I3接口 
int pinI4=7;//定义I4接口  
int speedpin1=10;//定义EB(PWM调速)接口 

String cmd = "";
#define IO_LIGHT 13

//初始化程序段
void setup()
{
  Serial.begin(9600);    // 启动串口通信,波特率为9600b/s
  
  pinMode(pinI1,OUTPUT);
  pinMode(pinI2,OUTPUT);
  pinMode(speedpin,OUTPUT);
  pinMode(pinI3,OUTPUT);
  pinMode(pinI4,OUTPUT);
  pinMode(speedpin1, OUTPUT);
  
  pinMode(IO_LIGHT, OUTPUT);

  Serial.print("***Ready");
}

//主程序段
void loop()
{
  // 检查是否有串口写入
  while (Serial.available() > 0)  {
    cmd += char(Serial.read());
    
    // 让板子的LED灯闪烁以示串口数据正在传输
    digitalWrite(IO_LIGHT, HIGH);
    delay(5);
    digitalWrite(IO_LIGHT, LOW);
  }
  
  if (cmd.length() > 0) {
    // 从串口读取字符串,解析小车控制命令
    if (cmd.startsWith("go:")) {
      // 命令格式 "go:f120,b80" 左轮向前速度12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值