本系列教程讲解零知小车套件以零知迷你板为主控,使用零知开源平台进行智能小车开发。
使用的硬件:零知智能小车套件-零知智能小车高级版(零知mini主控)
实现的功能:红外循迹、超声波避障、直线运行、手机蓝牙控制、灭火等基本功能。
扩展:可以在小车上加入其它传感器模块进行扩展,比如加入摄像头模块进行监控、加入更多超声波模块实现自动跟随...
高级版系列教程将使用多文件编程的方式来编写程序,教程主要包含以下几个部分:
零知两轮小车高级版(零知mini主控)系列教程-小车组装(点击跳转)
零知两轮小车高级版(零知mini主控)系列教程-程序控制电机开跑(点击跳转)
零知两轮小车高级版(零知mini主控)系列教程-加入蓝牙实现手机控制(点击跳转)
零知两轮小车高级版(零知mini主控)系列教程-红外循迹走S弯(点击跳转)
零知两轮小车高级版(零知mini主控)系列教程-超声波自动避障(点击跳转)
零知两轮小车高级版(零知mini主控)系列教程-灭火小车(点击跳转)
零知两轮小车高级版(零知mini主控)系列教程-使用PID走直线(点击跳转)
零知两轮小车高级版(零知mini主控)系列教程-魔术手(点击跳转)
零知两轮小车高级版(零知mini主控)系列教程-贴边行驶(点击跳转)
一、工具原料
(1)组装好的智能小车
二、程序代码
高级版教程将使用多文件编程的方式来编写代码,完整工程可在下面下载,主程序如下所示:
/**********************************************************
* 文件: lzsmartcar_ble.ino by 零知实验室([url=http://www.lingzhilab.com]www.lingzhilab.com[/url])
* -^^- 零知开源,让电子制作变得更简单! -^^-
* 时间: 2019/12/11 13:44
* 说明:
************************************************************/
#include "pinsdefine.h"
#include "motor.h"
LZSmartCarMotor myMotor;
char cmd;
// 复位或上电后运行一次:
void setup() {
//在这里加入初始化相关代码,只运行一次:
Serial.begin(9600);
Serial.println("开车啦...");
myMotor.stop();
//蓝牙
BTSerial.begin(9600);
BTSerial.println("AT+NAMElzSmartCar");
}
//一直循环执行:
void loop() {
// 在这里加入主要程序代码,重复执行:
if(BTSerial.available()){
cmd = BTSerial.read();
while(BTSerial.available())
BTSerial.read();
}
Serial.print("cmd:");Serial.write(cmd);Serial.println();
if(cmd == '1'){
myMotor.goWithDirec(carForward);
}
else if(cmd == '2'){
myMotor.goWithDirec(carForLeft);
}
else if(cmd == '3'){
myMotor.goWithDirec(carForRight);
}
else if(cmd == '4'){
myMotor.goWithDirec(carBack);
}
else if(cmd == '9'){
myMotor.goWithDirec(carStop);
}
else{
myMotor.goWithDirec(carStop);
}
}
完整工程: lzsmartcar_v5.zip
将以上完整工程代码上传至智能小车上的零知mini板上,就可以打开手机用零知星球APP来控制小车了
打开零知星球APP,打开工具页面-智能小车,然后填写好命令,这里命令和程序里面一致(可以根据程序自己修改):
在右上角选择BLE4模式,因为我们这里使用的蓝牙4.0模块:
然后扫描蓝牙设备,选择我们的小车的蓝牙:
然后在主界面点击-开始,即可控制我们的小车啦:
除了按键控制,还可以通过安卓手机上零知星球的重力感应、摇杆模式控制,另外还可以通过JoyStick摇杆模块控制,详细完整程序代码请下载附件查看