零知两轮小车高级版(零知mini主控)教程-灭火小车

本系列教程讲解零知小车套件以零知迷你板为主控,使用零知开源平台进行智能小车开发。
使用的硬件:零知智能小车套件-零知智能小车高级版(零知mini主控)

实现的功能:红外循迹、超声波避障、直线运行、手机蓝牙控制、灭火等基本功能。

扩展:可以在小车上加入其它传感器模块进行扩展,比如加入摄像头模块进行监控、加入更多超声波模块实现自动跟随...

高级版系列教程将使用多文件编程的方式来编写程序,教程主要包含以下几个部分:

零知两轮小车高级版(零知mini主控)系列教程-小车组装(点击跳转)

零知两轮小车高级版(零知mini主控)系列教程-程序控制电机开跑(点击跳转)

零知两轮小车高级版(零知mini主控)系列教程-加入蓝牙实现手机控制(点击跳转)

零知两轮小车高级版(零知mini主控)系列教程-红外循迹走S弯(点击跳转)

零知两轮小车高级版(零知mini主控)系列教程-超声波自动避障(点击跳转)

零知两轮小车高级版(零知mini主控)系列教程-灭火小车(点击跳转)

零知两轮小车高级版(零知mini主控)系列教程-使用PID走直线(点击跳转)

零知两轮小车高级版(零知mini主控)系列教程-魔术手(点击跳转)

零知两轮小车高级版(零知mini主控)系列教程-贴边行驶(点击跳转)

一、工具原料
(1)组装好的智能小车高级版


二、程序代码

高级版教程将使用多文件编程的方式来编写代码,完整工程可在下面下载,主程序代码如下所示:


				
/**********************************************************
*    文件: lzsmartcar_firecar.ino      by 零知实验室([url=http://www.lingzhilab.com]www.lingzhilab.com[/url])
*    -^^- 零知开源,让电子制作变得更简单! -^^-
*    时间: 2019/12/13 11:29
*    说明: 
************************************************************/
 
#include "pinsdefine.h"
#include "motor.h"
#include "carsensor.h"
#include "WS2812BIORGB.h"
 
//传感器:温湿度、火焰、风扇
CarSensor carsensor;
 
LZSmartCarMotor myMotor;
 
// 复位或上电后运行一次:
void setup() {
    //在这里加入初始化相关代码,只运行一次:
        Serial.begin(9600);
        Serial.println("开车啦...");
        WS2812BRGB_init();
        myMotor.stop();
 
}
 
//一直循环执行:
void loop() {
    // 在这里加入主要程序代码,重复执行:
        //RGB测试
        //left
        WS2812BRGB_flow(80,160,0xff0000,false);
        delay(100);
        //right
        WS2812BRGB_flow(80,160,0x00ff00,true);
        delay(100);
 
        //breath
        for(int i=0;i<5; i++)
        {
                WS2812BRGB_breath(5,0xff);
                delay(300);
        }
         
        //灭火操作
        if(carsensor.getFlameData() == 0){
                Serial.println("起火了....");
                 
                //左转
                myMotor.goWithDirec(carForLeft);
                delay(600);
                myMotor.stop();
                 
                //开启电扇
                carsensor.fanOpen(true);
                 
                WS2812BRGB_flow(50,160,0xff0000,true);
                WS2812BRGB_flow(50,160,0xff0000,true);
                WS2812BRGB_setAll(LED_NUMS,0x00);
                 
                carsensor.fanOpen(false);
                 
                //右转,转回原方向
                myMotor.goWithDirec(carForRight);
                delay(600);
                myMotor.goWithDirec(carForwardSlow);
        }
 
}
				

完整工程: lzsmartcar_v5.zip 

下载完整的工程代码,验证上传至零知mini板,带有炫酷跑马灯的灭火小车就完成了,检测到火焰就会去灭火