• 基于STM32单片机红外遥控自动泊车智能车


    资料编号:154   下面是相关功能视频演示:

    154-基于STM32单片机红外遥控自动泊车智能车(原理图+源码+全套资料)

    功能介绍:

    采用stm32单片机作为控制CPU,采用红外接收遥控接收控制信号,采用红外对射传感器来采集小车与障碍物之间的距离,采用L298N电机驱动来驱动小车的前进后退,在红外遥控发出泊车命令后,小车会自动进行倒车入库,完成自动泊车,并且遥控能够控制小车的前进后退左右行驶,全套实物资料齐全:

    下面是该程序的分享下资链接:

    int main(void)
    {     
        u8 key;
        u8 t=0;    
         u8 *str=0;

        delay_init();             //延时函数初始化      
      NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
        uart_init(115200);         //串口初始化为115200
         LED_Init();                 //LED端口初始化
    //    LCD_Init();
    //    Beep_Init(); 
        Remote_Init();            //红外接收初始化             
        GPIO_Configuration();//电机
        Control_GPIOC_Config();//传感器
         
    //     POINT_COLOR=RED;        //设置字体为红色 
    //    LCD_ShowString(30,50,200,16,16,"STM32 CAR");
    //    LCD_ShowString(30,70,200,16,16,"REMOTE CAR");    
    //     LCD_ShowString(30,90,200,16,16,"SPEED: ");

    //    LCD_ShowString(30,130,200,16,16,"KEYVAL:");    
    //    LCD_ShowString(30,150,200,16,16,"KEYCNT:");    
    //    LCD_ShowString(30,170,200,16,16,"SYMBOL:");          
        LED0=!LED0;
        delay_ms(100);
        LED0=!LED0;
        while(1)
        {
            key=Remote_Scan();            
            if(key)
            {     
    //            LCD_ShowNum(86,130,key,3,16);        //显示键值
    //            LCD_ShowNum(86,150,RmtCnt,3,16);    //显示按键次数          
                switch(key)
                {            
                    case 24:  Forward_run();str="UP";break;      //UP
                    case 74:  Backward_run();str="DOWN";break;     //DOWN
                    case 16:  LEFT();str="LEFT";break;                //LEFT
                    case 90:  RIGHT();str="RIGHT";break;             //RIGHT
                    case 56:  Stop();str="STOP";break;                    //STOP
                     
                    case 162: LED_L();str="1";break;                             //"1"
                    case 98:  LED_M();str="2";break;                             //"2"
                    case 226: Left_Back();str="AUTO_PARKING";break;  //"3"
                    case 34:  X_J();str="TRACKING";break;            //"4"
                }
    //            LCD_Fill(86,170,116+8*8,170+16,WHITE);    //清楚之前的显示
    //            LCD_ShowString(86,170,200,16,16,str);    //显示SYMBOL
            }else delay_ms(10);      
            
            t++;
            if(t==50)
            {
                t=0;
                LED0=!LED0;
            }
        }
    }

     下面是该资料的分享下载链接:

    https://pan.baidu.com/s/15isa81v-8N4Wk7kQmlX4nA?pwd=9r1c

  • 相关阅读:
    Java的ReentrantLock(可重入锁)详解上篇
    Qt的一个无边界窗口公共类
    C++ -- 学习系列 std::deque 的原理与使用
    软件质量保护与测试(第2版)学习总结第一章
    机器人制作开源方案 | 智能照科植物花架
    脏读、不可重复读、幻读、丢失更新
    到底什么是类脑计算?
    【单片机毕业设计】【mcuclub-jj-003】基于单片机的八层电梯的设计
    axios请求多个服务器
    蚁群算法解决TSP旅行商问题-非确定性多项式2
  • 原文地址:https://blog.csdn.net/m0_74295839/article/details/127739582