使用Proteus仿真Arduino单片机,实现蓝牙遥控小车

文章目录

  • 一、功能简介
  • 二、软件设计
  • 三、实验现象
  • 联系作者

  • 一、功能简介

    本项目使用Proteus8仿真Arduino单片机控制器,使LCD1602液晶,L298电机,直流电机,HC05/06蓝牙模块等。
    主要功能:
    系统运行后,LCD1602显示小车运行状态,速度档位,控制命令;可通过蓝牙发送命令控制小车前进、后退、左转、右转、停止。


    二、软件设计

    /*
    作者:嗨小易(QQVIP群2:570487280)
    
    */
    
    
    //系统数据采集
    void sys_data_get(void)
    {
    	while(1)
    	{		
    		
    
    		break;
    	}
    }
    
    //系统数据显示
    void sys_data_show(void)
    {
    	while(1)
    	{
    		//速度显示
    		lcd1602_show_nums(6,0,sys_ctrl.speed,1,0);
    		//小车方向状态显示
    		_car_staus_show(sys_ctrl.dir);
    		//控制命令显示
    		lcd1602_show_num(14,0,UART_RX_BUF[0],0);
    
    		break;	
    	}		
    }
    
    //系统参数设置
    void sys_data_set(void)
    {
    	//前进
    	switch(UART_RX_BUF[0])
    	{
    		case CAR_STOP://停止
    			sys_ctrl.dir=0;
    			break;
    		case CAR_FORM://前进
    			sys_ctrl.dir=1;
    			break;
    		case CAR_BACK://后退
    			sys_ctrl.dir=2;
    			break;
    		case CAR_LEFT://左转
    			sys_ctrl.dir=3;
    			break;
    		case CAR_RIGHT://右转
    			sys_ctrl.dir=4;
    			break;
    		case CAR_SPEED_ADD://加速
    			if(sys_ctrl.speed<5)
    				sys_ctrl.speed++;
    			UART_RX_BUF[0]=0;
    			break;
    		case CAR_SPEED_DEC://减速
    			if(sys_ctrl.speed>1)
    				sys_ctrl.speed--;
    			UART_RX_BUF[0]=0;
    			break;
    	}					
    }
    
    //系统功能控制
    void sys_fun_ctrl(void)
    {
    	//控制小车
    	switch(sys_ctrl.dir)
    	{
    		case 0:car_stop();break;//停止
    		case 1:car_forward();break;//前进
    		case 2:car_back();break;//后退
    		case 3:car_left();break;//左转
    		case 4:car_right();break;//右转
    	}
    	pwm_set_duty_cycle(sys_ctrl.speed*20);//占空比		
    }
    
    
    //应用控制系统
    void appdemo_show(void)
    {
    	sys_parm_init();//系统参数初始化
    	lcd1602_init();
    	pwm_init(0XFF,0XD1,100,0);//初始时,PWM占空比为0
    	sys_open_show();//系统开机显示
    	UART_Init();//波特率9600
    	UART_SendString("UART Init OK\r\n");
    
    	while(1)
    	{
    		sys_data_get();//系统数据采集
    		sys_data_show();//系统数据显示
    		sys_data_set();//系统参数设置
    		sys_fun_ctrl();//系统功能控制	
    	}
    }
    
    
    

    三、实验现象

    B站演示视频:https://space.bilibili.com/444388619



    联系作者

    视频地址:https://space.bilibili.com/444388619/video
    专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

    物联沃分享整理
    物联沃-IOTWORD物联网 » 使用Proteus仿真Arduino单片机,实现蓝牙遥控小车

    发表评论