在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于STM32的智能循跡小車

cm880808 ? 來源:cm880808 ? 作者:cm880808 ? 2024-05-08 14:43 ? 次閱讀

智能循跡小車

1、小車架構

(1)車架:

車架是淘寶上買的雙層亞克力的兩輪小車,配備了兩個直流電機,兩個驅動輪,兩個輔助萬向輪,一個兩節的電池盒,這些東西淘寶上很多都是打包售賣的。

wKgZomY65L6AE7UEAAOeOacMLiA770.png底部照片

wKgZomY65PyAPdVDAB-_uEJRGFo300.png正面照片

(2)電源模塊

wKgZomY65heAYmXPACNcHzwcYIk067.png電源模塊

電源模塊采用的是兩節高電壓的5號可充電電池(沒節電池3.2V),由于手上沒有DC線,干脆直接將電池盒連上了兩根飛線插在面包板上,然后又將DC接口下面的正負極引腳焊接了兩根公對公的杜邦線然后插在面包板上,這樣就可以直接利用電池給這塊HW-131面包板供電模塊供電了。這塊供電模塊內置穩壓芯片可以輸出多路的3.3V和5V的電壓,這樣就正好可以解決電機和循跡班5V供電的問題啦。

(3)驅動板

wKgaomY66LSAVnl1ACwkIYXU-zE030.png驅動板

非常尷尬,不會利用畫圖軟件畫原理圖,所以用的洞洞板焊接,用的是一塊STM32F103C8T6、TB6612電機驅動模塊,另外還預留了一塊NRF24L01-2.4G無線通信模塊想要后面做個遙控器,加上遙控功能。剛練習焊接,所以洞洞板的后面其實焊得跟塊大便一樣,就不做介紹了,核心思想就是用飛線各種飛。。。。。。好在利用萬用表一直測,沒有出現短路燒板子之類的壞現象,并且最后功能也都可以完成。

2、采用TCRT5000五路循跡模塊實現循跡功能

wKgaomY66rmAN-A9ACV5yd0sYzM771.png循跡模塊

循跡模塊用的是TCRT5000五路循跡模塊,便宜好用,非常nice,至少自己用來玩玩是可以的,如果比賽要用的話應該需要哪種灰度循跡模塊(太貴了舍不得買),循跡函數的話中規中矩。

void Track_Correct(uint8_t RoadwayData)
{
	if(RoadwayData == 0x00)
	{
		Track_Flag=0;
		Stop_Flag=1;
		
	}else if(RoadwayData==0x1B)//11011
	{
		LSpeed=Car_Speed;
		RSpeed=Car_Speed;
		
	}else if(RoadwayData==0x1D)//11101
	{
		LSpeed=Car_Speed+20;
		RSpeed=Car_Speed-20;
		
	}else if(RoadwayData==0x19)//11001	有向右的大彎道
	{
		LSpeed=Car_Speed+20;
		RSpeed=Car_Speed-40;
		
	}else if(RoadwayData==0x18)//11000	有向右的直角彎道
	{
		LSpeed=Car_Speed;
		RSpeed=-Car_Speed;
		
	}else if(RoadwayData==0x1E)//11110
	{
		LSpeed=Car_Speed+40;
		RSpeed=Car_Speed-40;
		
	}else if(RoadwayData==0x17)//10111
	{
		LSpeed=Car_Speed-20;
		RSpeed=Car_Speed+20;
		
	}else if(RoadwayData==0x13)//10011	有向左的大彎道
	{
		LSpeed=Car_Speed-40;
		RSpeed=Car_Speed+20;
		
	}else if(RoadwayData==0x03)//00011	有向左的直角彎道
	{
		LSpeed=-Car_Speed;
		RSpeed=Car_Speed;
		
	}else if(RoadwayData==0x0F)//01111
	{
		LSpeed=Car_Speed-40;
		RSpeed=Car_Speed+40;
		
	}else 
	{
		LSpeed=Car_Speed;
		RSpeed=Car_Speed;
	}
	if(Track_Flag != 0)
	{
		Track_Go(LSpeed,RSpeed);
	}
}

3、超聲波

超聲波用的是一個HC-SR04超聲波模塊,實現了正向避障的功能,該模塊有一個Trig引腳和Echo引腳,當給Trig觸發引腳一個大于10us的高電平脈沖,則Echo會開始工作,模塊會給出一個與距離等比的高電平脈沖信號,在Echo工作前清零計數器的計數值,并在電平重新變為低電平后獲取計數值,就可以根據計數值的大小來計算距離。

wKgaomY7HU6AaW9SAACVkApngOA226.pngwKgaomY7HZKAZOagACBEYTyIvkU068.png
void Wave_TimerInit(void){			//超聲波定時器初始化函數
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);
	TIM_InternalClockConfig(TIM1);						
	
	TIM_TimeBaseInitTypeDef Timer_InitStructure;
	Timer_InitStructure.TIM_ClockDivision=TIM_CKD_DIV1;
	Timer_InitStructure.TIM_CounterMode=TIM_CounterMode_Up;
	Timer_InitStructure.TIM_Period=10000-1;
	Timer_InitStructure.TIM_Prescaler=7200-1;//7200Hz=0.0001s=0.1ms=10us
	Timer_InitStructure.TIM_RepetitionCounter=0;
	TIM_TimeBaseInit(TIM1,&Timer_InitStructure);
		
	//TIM_Cmd(TIM3,ENABLE);
}

void Wave_Init(void){	//超聲波中斷初始化函數
	
	Wave_TimerInit();

	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;
	GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
	GPIO_Init(GPIOA,&GPIO_InitStructure);
	
	GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;
	GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11;
	GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
	GPIO_Init(GPIOA,&GPIO_InitStructure);

	GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource11);
	EXTI_InitTypeDef EXTI_InitStructure;
	EXTI_InitStructure.EXTI_Line=EXTI_Line11;
	EXTI_InitStructure.EXTI_LineCmd=ENABLE;
	EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
	EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising;
	EXTI_Init(&EXTI_InitStructure);
	
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
	NVIC_InitTypeDef NVIC_InitStructure;
	NVIC_InitStructure.NVIC_IRQChannel=EXTI15_10_IRQn;
	NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;
	NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
	NVIC_Init(&NVIC_InitStructure);
}

void Wave_Start(void){			//超聲波開始函數
	if(Wave_Flag==1){
		GPIO_SetBits(GPIOA,GPIO_Pin_5);
		Delay_us(50);
		GPIO_ResetBits(GPIOA,GPIO_Pin_5);
	}
}

void Wave_Check(void){			//超聲波避障實現函數
		if(Distance<=1300){
			Car_Stop();Delay_ms(500);
			Car_Back(60);Delay_ms(1000);
			Car_Stop();Delay_ms(500);
			Car_Left(40);
		}else if(Distance?>=2000){
			Car_Go(Car_Speed);
		}
}

void EXTI15_10_IRQHandler(void){	//外部中斷處理函數
	Delay_us(10);
	if(EXTI_GetITStatus(EXTI_Line11)!=RESET){
		TIM_SetCounter(TIM1,0);
		TIM_Cmd(TIM1,ENABLE);
		while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_11));
		TIM_Cmd(TIM1,DISABLE);
		Distance=TIM_GetCounter(TIM1)*340/2.0;
		OLED_ShowNum(2,6,Distance,5);
		Wave_Check();
		EXTI_ClearITPendingBit(EXTI_Line11);
	}
}

4、總結

學習單片機以來的第一個小項目,也是受到了江科大的一期視頻的啟發,就決定復刻一下這個小車,后面還會再做一個遙控器,繼續去完善,初學者我很菜,僅供參考。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6044

    文章

    44624

    瀏覽量

    638950
  • STM32
    +關注

    關注

    2273

    文章

    10926

    瀏覽量

    357770
  • 智能循跡小車

    關注

    1

    文章

    11

    瀏覽量

    10615
收藏 人收藏

    評論

    相關推薦

    第13章-循跡功能 STM32智能小車循跡教程 PID循跡算法分析

    第13章-循跡功能 循跡小車講解 原理分析 STM32智能小車
    的頭像 發表于 08-21 16:27 ?1875次閱讀
    第13章-<b class='flag-5'>循跡</b>功能 <b class='flag-5'>STM32</b><b class='flag-5'>智能</b><b class='flag-5'>小車</b><b class='flag-5'>循跡</b>教程 PID<b class='flag-5'>循跡</b>算法分析

    20.3-使用兩個通道進行電磁循跡 智能車競賽 電磁桿原理圖 電磁循跡小車 STM32電磁小車 電磁循跡算法

    20.3-使用兩個通道進行電磁循跡 智能車競賽 電磁桿原理圖 電磁循跡小車 智能車電磁組 STM32
    的頭像 發表于 08-20 10:56 ?936次閱讀
    20.3-使用兩個通道進行電磁<b class='flag-5'>循跡</b> <b class='flag-5'>智能</b>車競賽 電磁桿原理圖 電磁<b class='flag-5'>循跡</b><b class='flag-5'>小車</b> <b class='flag-5'>STM32</b>電磁<b class='flag-5'>小車</b> 電磁<b class='flag-5'>循跡</b>算法

    智能循跡小車簡介

    簡介智能循跡小車是基于自動引導機器人系統,用以實現小車自動識別路線,以及選擇正確的路線。智能循跡
    發表于 07-21 07:29

    怎樣去設計基于STM32智能循跡小車

    基于STM32智能循跡小車設計硬件準備1、小車底盤+四直流電機(帶輪)2、STM32F103C
    發表于 08-04 06:34

    基于STM32智能循跡小車設計

    的應用,如自動駕駛技術、引導機器人、自動化生產線上的物料陪送機器人等。循跡小車也是智能小車的一種,歸屬于機器人的范疇。目前,自動駕駛和智能
    發表于 08-11 08:36

    怎樣去設計基于STM32智能循跡小車

    基于STM32智能循跡小車設計(基礎版)想看IF-WHILE代碼塊直接拉到底,在最下面硬件準備1、小車底盤+四直流電機(帶輪)2、
    發表于 08-11 08:02

    怎樣去設計一種基于STM32智能循跡小車

    怎樣去設計一種基于STM32智能循跡小車?四驅車為啥用L298N電機驅動模塊?
    發表于 10-19 07:32

    怎么實現基于STM32智能循跡往返小車設計?

    怎么實現基于STM32智能循跡往返小車設計?
    發表于 11-02 08:07

    基于51單片機循跡智能小車

    基于51單片機循跡智能小車基于51單片機循跡智能小車基于51單片機
    發表于 11-13 15:55 ?0次下載

    智能循跡小車程序

    智能循跡小車,基于stm32智能循跡小車HC-SR
    發表于 12-04 10:30 ?39次下載

    智能循跡小車程序

    智能小車循跡 沒有pwm的調速機制
    發表于 12-17 11:38 ?25次下載

    基于STM32智能循跡往返小車電路設計

    基于STM32智能循跡往返小車電路設計
    發表于 04-10 09:30 ?62次下載

    基于stm32單片機的紅外避障及循跡小車

    設計簡介:本設計是基于單片機的紅外避障、循跡小車,主要實現以下功能:小車可通過手機控制 實現紅外避障與循跡功能標簽:STM32單片機、紅外避
    發表于 11-19 09:21 ?261次下載
    基于<b class='flag-5'>stm32</b>單片機的紅外避障及<b class='flag-5'>循跡</b><b class='flag-5'>小車</b>

    基于stm32循跡小車運動實例

    基于stm32循跡小車運動實例#include “motor.h”#include “Math.h”#include “delay.h”#include “stm32
    發表于 12-22 19:40 ?17次下載
    基于<b class='flag-5'>stm32</b><b class='flag-5'>循跡</b><b class='flag-5'>小車</b>運動實例

    基于stm32智能小車作品(循跡避障藍牙)(上)

    基于stm32智能小車作品(循跡避障藍牙)(上)前言一、材料準備二、AD畫板+焊接1.原理圖2.pcb圖3.裸板成品4.焊好后成品三、讓輪子動起來并實現pwm調速1.接線2.實現pw
    發表于 01-14 11:53 ?67次下載
    基于<b class='flag-5'>stm32</b>的<b class='flag-5'>智能</b><b class='flag-5'>小車</b>作品(<b class='flag-5'>循跡</b>避障藍牙)(上)
    主站蜘蛛池模板: 可以免费看黄的网址 | 国产小视频在线看 | 男人j进女人j免费视频视频 | 一本到视频在线 | 亚洲成a人片在线观看www | 黄色国产视频 | 欧美国产在线一区 | jinv在线视频 | 天堂福利视频在线观看 | 午夜寂寞影院视频观看 | 亚洲日本欧美日韩高观看 | 中文在线资源链接天堂 | 福利视频一区二区三区 | 欧美日韩高清一区 | 91大神大战丝袜美女在线观看 | 色视视频 | 毛片你懂的 | 视频色版| 午夜小网站 | www.欧美色图 | 天天做天天爱天天影视综合 | 在线观看精品国产入口 | h文 超乳 奶水 | 五月亭亭免费高清在线 | 天天干夜夜操美女 | 日本免费视频 | 午夜黄大色黄大片美女图片 | 欧美色视频日本片高清在线观看 | 四虎精品影院2022 | 插插操操 | 黄色二级视频 | 天天操人人射 | 九九精品在线观看 | 玖玖国产 | 欧美性受xxxx极品 | 狠久久| 四虎影院永久网站 | 我不卡午夜 | 黄色avav| 四虎精品影院在线观看视频 | 成人久久久 |