設計一種集紅外遙控、 黑線循跡、自動泊車、車速檢測、行駛路程顯示等功能于一體的智能車。主要使用了紅外傳感技術,并結合 STM32F103 系列芯片,模擬現代新型汽車的自動駕駛功能。 采用槽型對射光電傳感器測量智能車車速,使用紅外光對管進行障礙物檢測, TFT LCD 彩屏模擬汽車的儀表盤,并顯示智能車的各項數據,如駕駛模式、 行駛距離、車速等。使用紅外遙控器對智能車進行操控,并且控制多種模式的自由切換。- #include "led.h"
- #include "key.h"
- #include "delay.h"
- #include "sys.h"
- #include "lcd.h"
- #include "usart.h"
- #include "remote.h"
- #include "beep.h"
- #include "motor_control.h"
- 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:");
- 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;
- }
- }
- }
復制代碼 全部資料51hei下載地址:
紅外遙控循跡小車.7z
(229.87 KB, 下載次數: 43)
2019-4-3 02:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|