国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

智能送藥小車完整版【電賽、課設】開源(含源代碼)

這篇具有很好參考價值的文章主要介紹了智能送藥小車完整版【電賽、課設】開源(含源代碼)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

任務要求

摘要

1、前言

2、系統(tǒng)方案設計

3、理論分析與計算

3.1 病房選擇:

3.2 電機引腳及狀態(tài)

3.3 灰度傳感器及電機狀態(tài)

4、系統(tǒng)電路設計與仿真

4.1系統(tǒng)硬件框圖

4.2 單片機最小板電路

4.3 驅動電路設計

4.4?灰度傳感器設計

5、系統(tǒng)軟件設計

6、系統(tǒng)測試及結果分析

6.1 系統(tǒng)指標參數

6.1.1 STC89C52指標參數

6.1.2 灰度傳感器參數

6.1.3 電機驅動模塊參數

6.2 測試內容與方法

6.2.1 軟件測試

6.2.2 硬件測試

6.3 實物外觀

6.4 實物功能測試

6.5 測試結果分析

7、結論


任務要求:

智能送藥小車完整版【電賽、課設】開源(含源代碼)

?智能送藥小車完整版【電賽、課設】開源(含源代碼)

摘要

? ? ? ?本設計完成了基于STC89C52的智能送藥小車控制系統(tǒng)的設計過程,此系統(tǒng)主要包括51最小開發(fā)板、按鍵控制電路、電機驅動電路、灰度檢測傳感電路等電路組合而成。以STC89C52為主控芯片及其外圍擴展電路實現系統(tǒng)整體功能,用灰度傳感器實現小車循跡功能,使用STC89C52驅動L298N芯片控制電機,由PWM控制小車速度,從而使小車順利通過直線、轉彎、識別十字路口并正確轉向功能。在硬件設計的基礎上實現了電機控制功能以及小車簡單循跡的軟件設計方案。

關鍵詞:單片機 ?循跡?PWM??L298N??智能送藥小車

1、前言

? ? ? ?隨著人工智能和自動化技術的迅速發(fā)展,各種高科技以及前沿技術開始廣泛運用于智能小車領域,使智能小車越來越多樣化。作為集多種高科技于一身的高薪技術集成產物,它融合了傳統(tǒng)機械、傳感器、單片機、軟件與人工智能技術等多個學科的知識。智能小車的研究和開發(fā)正成為廣泛關注的焦點。智能化小車是未來人們生活中的重要工具,將會給我們的生活生產帶來很大的便利。本設計基于單片機為核心設計了一款智能送藥小車,以多路灰度傳感器實現循跡、路口識別、終點識別功能,通過 PWM 調整小車姿態(tài)。能夠在規(guī)定醫(yī)院的藥房和病房間根據指令在藥房與病房間往返送藥。本設計采用STC89C52芯片實現其智能控制功能,通過五路灰度傳感器判斷小車運行狀態(tài)及小車位置,經單片機判斷后驅動電機驅動模塊對小車進行控制。采用的數字量灰度傳感器可對被測面的兩種顏色差異進行調節(jié)比較,對于本設計中病房要求的白紅線循跡識別精度高、抗干擾能力強。

2、系統(tǒng)方案設計

? ? ? ? 本課程設計要求設計智能送藥小車,模擬完成在醫(yī)院藥房與病房的藥物送取。病房分為近端、中端、遠端三部分,要求小車分別送往三端病房并返回,并且運送和返回時間均不超過40秒。

? ? ? ? ?小車系統(tǒng)+7V電源為L298N電機驅動提供電源,經L298N驅動模塊內置的穩(wěn)壓模塊輸出+5V電源為其他模塊供電,通過由發(fā)光二極管和光敏二極管組成的灰度傳感器循跡模塊對白色底板和紅線對光的反射率不同來實現循跡、轉彎和十字路口的判斷。由STC98C52通過對I/O口控制驅動L298N模塊改變四個直流電機的工作狀態(tài),通過四個電機驅動模塊和調節(jié)PWM輸出實現小車前進、后退、轉向、掉頭、加速、減速功能。

系統(tǒng)軟件框圖如圖2.1所示,當傳感器檢測到紅色軌道后開始判斷是否讀取到房間信息,進而驅動L298N電機驅動模塊來驅動電機運作,使小車前往對應病房。

智能送藥小車完整版【電賽、課設】開源(含源代碼)

?、

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖2.1 系統(tǒng)軟件框圖

? ? ? ? 系統(tǒng)硬件框圖如圖2.2所示,使用+7V電壓源為L298N電機驅動模塊供電,經L298N內部穩(wěn)壓管輸出+5V電壓為單片機及其他模塊供電。單片機通過I/O口讀取灰度傳感器和按鍵數據對小車進行控制。

智能送藥小車完整版【電賽、課設】開源(含源代碼)

3、理論分析與計算

3.1 病房選擇:

目標病房選擇說明示意圖如表3.1按鍵對應病房所示,當按下不同按鍵使對應端口接地時,通過讀取I/O端口,通過按鍵判斷函數進行判斷從而執(zhí)行不同的子程序來進行病房之間的往返,從而達到智能送藥的目的。

按鍵

KEY1

KEY2

KEY3

KEY4

KEY5

KEY6

KEY7

KEY8

病房號

按鍵狀態(tài)

0

1

1

1

1

1

1

1

1

1

0

1

1

1

1

1

1

2

1

1

0

1

1

1

1

1

3

1

1

1

0

1

1

1

1

4

1

1

1

1

0

1

1

1

5

1

1

1

1

1

0

1

1

6

1

1

1

1

1

1

0

1

7

1

1

1

1

1

1

1

0

8

表3.1 按鍵對應病房

3.2 電機引腳及狀態(tài)

? ? ? ? L298N真值表如圖3.2所示,ENA為使能引腳,通過單片機輸出PWM信號使能ENA來調整電機轉速。IN1和IN2分別為高、低和低、高電平時電機對應正轉、反轉,IN1和IN2同時為低電平或同時為高電平時電機制動。ENA為低電平時使能IN1、IN2引腳無法對電機進行控制。

智能送藥小車完整版【電賽、課設】開源(含源代碼)

3.3 灰度傳感器及電機狀態(tài)

本設計采用五路灰度傳感器L2、L1、M、R1、R2,當中間三個傳感器L1、M、R1檢測到紅線時認為小車處于紅線上,允許啟動按鍵模塊,啟動后進行自動循跡和路口、終點識別。當M測到紅線,L1、R1均未測到時,小車正常前進。當L1和M同時測到紅線時,小車小幅度偏離軌道,此時左輪小幅度減速調整姿態(tài)直到L1檢測不到紅線。當L1測到紅線而M未測到紅線時小車大幅偏離軌道,此時左輪大幅度減速調整小車姿態(tài)直到L1和M同時測到紅線,此時小車姿態(tài)恢復到小幅度偏離狀態(tài),左輪由大幅度減速改為小幅度減速至L1未測到紅線而M測到紅線。右邊通過M、R1檢測同理。此方法僅通過改變小車左右輪PWM進行姿態(tài)調整,且根據小車偏離的情況設置不同的差速,可以讓小車在循跡過程中行進路線更為平滑穩(wěn)定且不易偏離軌道。循跡過程L1、M、R1狀態(tài)對應小車幾種姿態(tài)如表3.3.1所示。

L1、M、R1輸出狀態(tài)

小車姿態(tài)

000

小車未在紅線上

001

小車大幅度左偏

010

小車在紅線中間

011

小車小幅度左偏

100

小車大幅度右偏

110

小車小幅度右偏

表3.3.1 循跡過程傳感器狀態(tài)對應的幾種小車姿態(tài)

L2和R2傳感器用于判斷小車是否到達路口及終點,當五個傳感器同時識別到紅線則表示到達路口,五個傳感器同時識別不到紅線則表示小車通過終點虛線到達終點白色區(qū)域。對于遠端病房T型路口則是檢測L2、L1或者R2、R1識別到紅線而對應R2、L2識別不到紅線。路口、終點識別傳感器狀態(tài)如表3.3.2所示。

L2、L1、M、R1、R2輸出狀態(tài)

路口、終點判定

11111

到達路口

00000

到達終點

0XX11

T型路口(需右轉)

11XX0

T型路口(需左轉)

表3.3.2 路口、終點識別傳感器狀態(tài)

4、系統(tǒng)電路設計與仿真

4.1系統(tǒng)硬件框圖

系統(tǒng)硬件如圖4.1所示,由電源部分為L298N電機驅動供電,L298N電機驅動輸出的5V電壓為單片機和灰度傳感器供電。由STC89C52控制L298N來驅動電機轉動,通過灰度傳感器采集到的不同的樣本數據來控制小車處于不同的運動狀態(tài),再通過影響小車的運動狀態(tài)反過來影響采樣的數據。

智能送藥小車完整版【電賽、課設】開源(含源代碼)

圖4.1 系統(tǒng)硬件框圖

4.2 單片機最小板電路

本設計采用市場常見51最小開發(fā)板,搭配STC89C52芯片,是一個低功耗,高性能的51內核的CMOS 8位單片機,具有在線編程功能,使用簡單價格低廉。51最小開發(fā)板電路圖如圖4.2所示。

智能送藥小車完整版【電賽、課設】開源(含源代碼)

智能送藥小車完整版【電賽、課設】開源(含源代碼)

4.3 驅動電路設計

在小車電機驅動方案的選擇上,選擇了市面上常見的電機驅動模塊L298N雙H橋直流電機驅動模塊,此驅動板體積小,重量輕,具有強大的驅動能力:2A的峰值電流和46V的峰值電壓;內置DC to?DC穩(wěn)壓(LM2596穩(wěn)壓管),可提供5V電壓為其他模塊供電。L298N電路原理圖如圖4.3所示。

智能送藥小車完整版【電賽、課設】開源(含源代碼)

?

圖4.3 L298N電路原理圖

4.4?灰度傳感器設計

本設計采用五路灰度傳感器,每一組傳感器均由一只發(fā)光二極管和一只光敏二極管組成,兩個傳感器安裝在同一面上,利用不同顏色的被檢測面對光的反射強弱程度 不同進行比較,從而輸出對應的信號供單片機I/O口采集和控制。數字量灰度傳感器可對被探測面的兩種顏色差異進行調節(jié)比較,只可以用于識別任意顏色中色差較大的兩種顏色(例如黑和白、白和綠,黑和紅,白和藍,黃和黑,黃和紅,等等),數字量傳感器帶有電壓比較器芯片和可調電位器;電壓比較器芯片可以對接收管接收回來的信號進行放大處理,然后經過電位器功率調制,可實現識別靈敏度(或探測距 離)的調節(jié),一般是探測到灰度值高(指接近于白色)的時候輸出低電平,而探測到灰度值低(指接近于黑色)的顏色時則輸出高電平;數字量為高低電平1和0兩種信號狀態(tài)輸出,可以簡化程序?;叶葌鞲衅髟韴D如圖4.4所示。

智能送藥小車完整版【電賽、課設】開源(含源代碼)

圖4.4 灰度傳感器原理圖

5、系統(tǒng)軟件設計

? ? ? ? 系統(tǒng)軟件設計部分分為主函數、循跡調速函數、電機控制函數、定時器中端函數、按鍵掃描函數、前往各個房間函數、延時函數等部分組成。

? ? ? ? 在檢測到小車在紅線上時開放按鍵許可,共8個按鍵、三個前往近中遠病房函數,通過按下的按鍵確認對應函數前往不同病房。具體函數實現在后文展示。軟件邏輯設計圖如圖5.1所示。

智能送藥小車完整版【電賽、課設】開源(含源代碼)

智能送藥小車完整版【電賽、課設】開源(含源代碼)

?智能送藥小車完整版【電賽、課設】開源(含源代碼)

6、系統(tǒng)測試及結果分析

6.1 系統(tǒng)指標參數

6.1.1 STC89C52指標參數

??????1、電源電壓:5.5V~3.3V

??????2、工作頻率:40MHz

??????3、512字節(jié)RAM,8K ROM

6.1.2 灰度傳感器參數

??????①額定電壓:直流電源5.0V

??????②檢測高度:1-3cm

6.1.3 電機驅動模塊參數

??????①輸出電壓:5.0V

??????②輸入電機電壓:5.0~36.0V

??????③輸出驅動電流:2A

6.2 測試內容與方法

6.2.1 軟件測試

在Keil5中進行程序的編譯,檢查程序是否有錯誤。通過不斷測試調整,使得最終程序“0 Error(s), 0 Warning(s)”。將軟件代碼燒錄進去后在跑道上進行實測,測試小車是否能檢測房間、正確循線,對紅黑色塊的檢測是否靈敏,在十字路口的識別和轉彎情況 ,偏移軌跡后能不能返回軌道,還有檢測、停車位置的準確度。如果有偏差,調整代碼再反復調試。?

6.2.2 硬件測試

??????通電前先檢查連線,組裝好電路后對照電路圖按一定的順序逐級檢查電路連線,排查電源是否接錯,電源與地線是否短路,二極管方向和電容正負是否接反,焊點是否焊牢,等等。通電后觀察是否有冒煙、異常氣味、元器件發(fā)燙等異象。

??????先不加信號,測量各級直流工作電壓和電流是否正常,一般對電路的靜態(tài)工作點調試。 加上輸入信號,觀測電路輸出信號是否符合要求。

6.3 實物外觀

將小車按照電路圖進行組裝后,小車實物外觀如圖6.3所示。

智能送藥小車完整版【電賽、課設】開源(含源代碼)

圖6.3 小車實物圖

6.4 實物功能測試

????本設計的小車功能是從藥房出發(fā),分別到近端、中端、遠端病房并

返回藥房,去和返回的時間均不超過40s。

近端病房:送給小車一個近端病房的房間號,小車檢測后循紅線在第一個十字路口右轉準確到達病房,小車走過終點虛線后停車,1s后倒車并前進,檢測到十字路口后轉彎返回藥房。過程用時小于40s。

中端病房:送給小車中端房間號,小車在第二個十字路口左轉,到達病房檢 ??

測到超過虛線后停車,1s后倒車并前進,檢測到十字路口后左轉返回藥房。過程用時小于40s。

遠端病房:送給小車遠端房間號,小車在第三個T字路口左轉,第四個T字路口左轉,到達病房檢測到超過虛線后停車,1s后直行倒車,檢測到十字路口后轉彎按原路返回藥房。過程用時小于40s。

6.5 測試結果分析

經過多次測試調試,整體測試結果能夠達到題目要求和預期效果,并且速度遠超題目所要求的40s的要求,完美的實現了整個送藥的功能。

在測試過程中,小車在跑道上跑的時候車輪碾壓會使跑道鼓起反光,或

者跑道所在環(huán)境光線的強度變化以及跑到表面腳印等使傳感器檢測不太準確,以致小車不能成功到達房間。經多次修改程序增加延遲檢測以及短時間多次檢測的方式可以減小極短時間的干擾。

通過多次對小車整體測試,小車性能達到設計要求,對于環(huán)境干擾有較強抵抗能力。經多次測試均能前往目的病房并原路返回,在巡線過程中未出現沖出軌道的情況,轉彎和掉頭時也能正確在轉至中間傳感器到達紅線時停止。

7、結論

???????在這次課程實踐中,我充分的來利用了自己上大學以來學過的知識,同時加強了自己的動手能力,一切書本上的知識都應該轉換成實踐才有用處,所以我們應該更加重視起來實踐能力,才能充分的運用自己所學的知識。當然小車還有不足之處,比如,模塊性能有待提高,選用性能更強、更穩(wěn)定的芯片等,功能比較少。我們應該更加的深入學習,掌握更多專業(yè)相關知識,才能做得更好,成為行業(yè)中的佼佼者。

如還需相關資料,可私信我獲得,感謝支持

代碼:

#include<reg52.h>
#include<intrins.h>
unsigned char i1=0,i2=0;
unsigned char Left_PWM=50,Right_PWM=50;
/*L298N驅動引腳*///
sbit ENA=P1^0;//L298N使能端 左輪
sbit ENB=P1^1;//L298N使能端 右輪
sbit IN1=P1^2;
sbit IN2=P1^3;
sbit IN3=P1^4;
sbit IN4=P1^5;
/*五路灰度傳感器*///
sbit IRN1=P2^0;//L2左2
sbit IRN2=P2^1;//L1左1
sbit IRN3=P2^2;//M中間   //黑高白低
sbit IRN4=P2^3;//R1右1
sbit IRN5=P2^4;//R2右2
//按鍵1~8//
sbit KEY1=P0^0;
sbit KEY2=P0^1;
sbit KEY3=P0^2;
sbit KEY4=P0^3;
sbit KEY5=P0^4;
sbit KEY6=P0^5;
sbit KEY7=P0^6;
sbit KEY8=P0^7;
/
void Time_r0_Init();//定時器裝載
void Right_go();//右輪前進
void Right_back();//右輪后退
void Right_stop();//右輪停止
void Left_go();//左輪前進
void Left_back();//左輪后退
void Left_stop();//左輪停止
void Car_go();//小車前進
void Car_back();//小車后退
void Car_stop();//小車停止
void turn_around();//小車掉頭
void Left_Z();//左直角轉
void Right_z();//右直角轉
void turn();//判斷轉彎情況
void KEY();//按鍵掃描函數
///
void go_to_near(char a1);//去近端病房 0左1右
void go_to_mid(char a2);//去中端病房 0左1右
void go_to_distant(char a3);//去遠端病房 0左左1左右2右左3右右
void delay(unsigned char delay_t);//延時函數
void main(void)
{
	P2=0xFF;
	Time_r0_Init();
	while(1)
	{
		KEY();
	}
}
void Time_r0_Init()					//設置定時器0
{						         				//通過設置定時器0來調制小車的轉速
   TMOD=0x01;              //選擇16位的定時器
   TH0=(65536-100)/256;
   TL0=(65536-100)%256; 
	 ET0=1;                  //開放定時器中斷0
   TR0=1;
	 EA=1;
}
void delay(unsigned char delay_t)
{
	unsigned char delayi, delayj;
		for(delayi=delay_t;delayi>0;delayi--)
			{
			for(delayj=110;delayj>0;delayj--);
			}
}
void KEY()
{
		while(1)
		{
			if(KEY1==0)
			{
				delay(20);
				if(KEY1==0)
				{
					go_to_near(0);//去近端左邊
					break;
				}
			}
			else if(KEY2==0)
			{
				delay(20);
				if(KEY2==0)
				{
					go_to_near(1);//去近端右邊
					break;
				}
			}
			else if(KEY3==0)
			{
				delay(20);
				if(KEY3==0)
				{
					go_to_mid(0);//去中端左邊
					break;
				}
			}
			else if(KEY4==0)
			{
				delay(20);
				if(KEY4==0)
				{
					go_to_mid(1);//去中端右邊
					break;
				}
			}
			else if(KEY5==0)
			{
				delay(20);
				if(KEY5==0)
				{
					go_to_distant(0);//去遠端左左
					break;
				}
			}
			else if(KEY6==0)
			{
				delay(20);
				if(KEY6==0)
				{
					go_to_distant(1);//去遠端左右
					break;
				}
			}
			else if(KEY7==0)
			{
				delay(20);
				if(KEY7==0)
				{
					go_to_distant(2);//去遠端右左
					break;
				}
			}
			else if(KEY8==0)
			{
				delay(20);
				if(KEY8==0)
				{
					go_to_distant(3);//去遠端右右
					break;
				}
			}
		}
}
void Right_back()
{
	IN3=0;
	IN4=1;
}
void Right_go()
{
	IN3=1;
	IN4=0;
}
void Right_stop()
{
	IN3=0;
	IN4=0;
}
void Left_back()
{
	IN1=0;
	IN2=1;
}
void Left_go()
{
	IN1=1;
	IN2=0;
}
void Left_stop()
{
	IN1=0;
	IN2=0;
}
void Car_go()
{
	Right_go();
	Left_go();
}
void Car_stop()
{
	Right_stop();
	Left_stop();
}
void Car_back()
{
	Right_back();
	Left_back();
}
void Right_z()//右直角轉彎
{
	Right_PWM=0;
	Left_PWM=30;
	while(1)
	{
		if(IRN5==1)
		{
			delay(10);
			if(IRN5==1)
			{
				while(1)
				{
					if(IRN5==0&&IRN3==1)
					{
						Right_PWM=30;
						break;
					}
				}
				break;
			}
		}
	}
}
void Left_z()
{
	Right_PWM=30;
	Left_PWM=0;
	while(1)
	{
		if(IRN1==1)
		{
			delay(10);
			if(IRN1==1)
			{
				while(1)
				{
					if(IRN1==0&&IRN3==1)
					{
						Left_PWM=30;
						break;
					}
				}
				break;
			}
		}
	}
}
void turn_around()//小車掉頭
{
	Car_stop();
	delay(100);
	Right_go();
	Left_back();
	for(i2=0;i2<3;i2++)
	{
		delay(5000);
	}
	while(1)
	{
		if(IRN1==1)
		{
			delay(10);
			if(IRN1==1)
			{
				while(1)
				{
					if(IRN3==1)
					{
						delay(10);
						if(IRN3==1)
						{
							break;
						}
					}
				}
				break;
			}
		}
	}
	Car_stop();
	delay(100);
}
void go_to_near(char a1)//去近端病房
{
	char i6=0;
	while(1)
	{
		if((IRN1==0&&IRN5==0)&&(IRN3==1||IRN2==1||IRN4==1))
		{
			while(1)
			{
				if(a1==0)
				{
					if(KEY1==0)
					{
						delay(20);
						if(KEY1==0)
						{
							Car_go();
							delay(30);
							break;
						}
					}
				}
				if(a1==1)
				{
					if(KEY2==0)
					{
						delay(20);
						if(KEY2==0)
						{
							Car_go();
							delay(30);
							break;
						}
					}
				}
			}
		break;
		}
	}
	while(1)
	{
		turn();
		if(IRN1==1&&IRN5==1)
		{
			delay(15);
			if(IRN1==1&&IRN5==1)
			{
				delay(15);
				if(IRN1==1&&IRN5==1)
				{
					while(1)
					{
						if(IRN1==0&&IRN5==0)
						{
							if(a1==1)
							{
								Right_z();
							}
							else
							{
								Left_z();
							}
							i6++;
							break;
						}
					}
				}
			}
		}
			if(i6>=1)
			{
				i6=0;
				break;
			}
	}
	while(1)
	{
		turn();
		if(IRN1==0&&IRN2==0&&IRN3==0&&IRN4==0&&IRN5==0)
		{
			delay(20);
			if(IRN1==0&&IRN2==0&&IRN3==0&&IRN4==0&&IRN5==0)
			{
				delay(20);
				if(IRN1==0&&IRN2==0&&IRN3==0&&IRN4==0&&IRN5==0)
				{
					Car_stop();
					delay(100);
					break;
				}
			}
		}
	}
	turn_around();
	Car_go();
	while(1)
	{
		turn();
		if(IRN1==1&&IRN5==1)
		{
			delay(15);
			if(IRN1==1&&IRN5==1)
			{
				delay(15);
				if(IRN1==1&&IRN5==1)
				{
					while(1)
					{
						if(IRN1==0&&IRN5==0)
						{
							if(a1==1)
							{
								Left_z();
							}
							else
							{
								Right_z();
							}
							i6++;
							break;
						}
					}
				}
			}
		}
		if(i6==1)
			{
				i6=0;
				break;
			}
	}
	while(1)
	{
		turn();
		if(IRN1==0&&IRN2==0&&IRN3==0&&IRN4==0&&IRN5==0)
		{
			delay(15);
			if(IRN1==0&&IRN2==0&&IRN3==0&&IRN4==0&&IRN5==0)
			{
				delay(15);
				if(IRN1==0&&IRN2==0&&IRN3==0&&IRN4==0&&IRN5==0)
				{
					Car_stop();
					delay(100);
					turn_around();
				}
			}
		}
	}
}
void go_to_mid(char a2)//去中端病房
{
	char i7=0;
	while(1)
	{
		if((IRN1==0&&IRN5==0)&&(IRN3==1||IRN2==1||IRN4==1))
		{
			while(1)
			{
				if(a2==0)
				{
					if(KEY3==0)
					{
						delay(20);
						if(KEY3==0)
						{
							Car_go();
							delay(30);
							break;
						}
					}
				}
				if(a2==1)
				{
					if(KEY4==0)
					{
						delay(20);
						if(KEY4==0)
						{
							Car_go();
							delay(30);
							break;
						}
					}
				}
			}
		break;
		}
	}
//
	while(1)
	{
		turn();
		if(IRN1==1&&IRN5==1)
		{
			delay(15);
			if(IRN1==1&&IRN5==1)
			{
				delay(15);
				if(IRN1==1&&IRN5==1)
				{
					while(1)
					{
						if(IRN1==0&&IRN5==0)//等待通過十字路口
						{
							delay(20);
							if(IRN1==0&&IRN5==0)
							{
								i7++;
								break;
							}
						}
					}
				}
			}
		}
		if(i7==1)
		{
			i7=0;
			break;
		}
	}
///
	while(1)
	{
		turn();
		if(IRN1==1&&IRN5==1)
		{
			delay(15);
			if(IRN1==1&&IRN5==1)
			{
				delay(15);
				if(IRN1==1&&IRN5==1)
				{
					while(1)
					{
						if(IRN1==0&&IRN5==0)
						{
							if(a2==1)
							{
								Right_z();
							}
							else
							{
								Left_z();
							}
							i7++;
							break;
						}
					}
				}
			}
		}
			if(i7==1)
			{
				i7=0;
				break;
			}
		}
/
	while(1)
	{
		turn();
		if(IRN1==0&&IRN2==0&&IRN3==0&&IRN4==0&&IRN5==0)
		{
			delay(15);
			if(IRN1==0&&IRN2==0&&IRN3==0&&IRN4==0&&IRN5==0)
			{
				delay(15);
				if(IRN1==0&&IRN2==0&&IRN3==0&&IRN4==0&&IRN5==0)
				{
						Car_stop();
						delay(1000);
						break;
				}
			}
		}
	}
	turn_around();//掉頭
	Car_go();
	while(1)
	{
		turn();
		if(IRN1==1&&IRN5==1)
		{
			delay(15);
			if(IRN1==1&&IRN5==1)
			{
				delay(15);
				if(IRN1==1&&IRN5==1)
				{
					while(1)
					{
						if(IRN1==0&&IRN5==0)
						{
							if(a2==1)
							{
								Left_z();
							}
							else
							{
								Right_z();
							}
							i7++;
							break;
						}
					}
				}
			}
		}
		if(i7==1)
			{
				i7=0;
				break;
			}
	}
	while(1)
	{
		turn();
		if(IRN1==1&&IRN5==1)
		{
			delay(15);
			if(IRN1==1&&IRN5==1)
			{
				delay(15);
				if(IRN1==1&&IRN5==1)
				{
					while(1)
					{
						if(IRN1==0&&IRN5==0)//等待通過十字路口

?文章來源地址http://www.zghlxwxcb.cn/news/detail-493214.html

到了這里,關于智能送藥小車完整版【電賽、課設】開源(含源代碼)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 單K210模塊低成本實現21電賽題送藥小車

    單K210模塊低成本實現21電賽題送藥小車

    博主已經大三,想著暑假參加電賽,于是將21電賽的控制題嘗試做了一下,由于成本有限,想著能不能僅使用一塊k210完成這個項目,但是看網上查找資料都沒人這樣做,于是博主就按照自己的想法實現了這個,為了讓更多和博主一樣的小白能夠簡單制作這個項目,博主決定寫

    2024年02月16日
    瀏覽(21)
  • 2021電賽F題送藥小車視覺部分的一種思路(雙OpenMV法)

    2021電賽F題送藥小車視覺部分的一種思路(雙OpenMV法)

    前言: 最近參加了2021年電賽的F題,因為諸多原因未能完賽,現將圖像識別部分的記錄一下,交流學習。 因為只介紹視覺部分,我們就節(jié)選相關的部分吧。 設計并制作智能送藥小車,模擬完成在醫(yī)院藥房與病房間藥品的送取作業(yè)。院區(qū)結構示意如圖 1 所示。院區(qū)走廊兩側的

    2024年02月15日
    瀏覽(15)
  • 【畢業(yè)設計】39-基于單片機的智能小車尋跡系統(tǒng)的設計與實現(原理圖工程+仿真工程+源代碼+答辯論文+答辯PPT)

    【畢業(yè)設計】39-基于單片機的智能小車尋跡系統(tǒng)的設計與實現(原理圖工程+仿真工程+源代碼+答辯論文+答辯PPT)

    附件包含:均為畢業(yè)設計全配套資料 原理圖工程文件 原理圖截圖 仿真工程文件 源代碼 仿真截圖 實物圖 答辯論文低重復率 答辯PPT 主要內容: 理解并掌握單片機的基本知識;設計一款能夠讓小車的尋跡功能,使小車智能化實現自動尋跡。 基本要求: 1、掌握單片機的發(fā)展情

    2024年01月20日
    瀏覽(27)
  • 交通咨詢系統(tǒng)源代碼(數據結構課設)

    交通咨詢系統(tǒng)源代碼(數據結構課設)

    ? 系統(tǒng)的展示和選題在這篇博客:點擊這里? ? ? ? (就沒有詳解啦,代碼中的注釋已經寫的很詳細了) ?????????直說了,我使用的軟件是vs,但是dev也可以運行,反倒是初次使用vs的同學,沒有關掉sdl檢查的話運行會報錯,說是scanf啥的出問題。解決方法:項目-屬性-

    2024年02月11日
    瀏覽(18)
  • 智能送藥小車(一)——K210巡線

    這部分基本就是例程上的內容,添加了一點注釋。關于相關的運用到的函數解釋,可以參考K210顏色識別.

    2024年02月12日
    瀏覽(24)
  • 全國電子設計競賽-國二--智能送藥小車

    全國電子設計競賽-國二--智能送藥小車

    不過這一次的比賽是真的很幸運,因為參加過比賽都知道,這一次沒有了線下比賽,線上評審,不過拿到試題的那一天也是蠻緊張的,我們隊伍做的是F題智能送藥小車,現在的控制類的題目是真的越來越難了,相對于之前的控制類的題目。 還是講一下比賽期間發(fā)生的一些事

    2024年02月14日
    瀏覽(25)
  • 2022電賽小車開源代碼講解開源

    2022電賽小車開源代碼講解開源

    2022電賽小車我認為有主要是幾個主要的問題,我將分這幾個部分來講解 目錄 一、循跡 二、藍牙通信,雙車數據傳輸 三、起始路口的識別 四、分叉路口的識別 五、源碼 ?2022電賽,雙車穩(wěn)定行駛_嗶哩嗶哩_bilibili 循跡我們組用的是五路灰度,灰度跟紅外對管的作用是差不多的

    2024年02月09日
    瀏覽(18)
  • 智能送藥小車(二)——K210物體檢測,訓練模型與部署

    線上訓練模型參考這篇: Maixhub模型訓練平臺整體流程 下面僅介紹利用Mx-yolov3訓練模型并部署在k210上的整體流程。 利用K210采集數據集 使用說明:插上合適的SD卡(最大32GB),采集不同類別圖像時要在代碼相應位置進行修改(有注釋提示),程序運行后按下KEY會進行圖像采集

    2024年02月14日
    瀏覽(23)
  • 開源源代碼收集下載網站匯總

    0.中國站長(免費):https://down.chinaz.com/ 1.51源碼:http://www.51aspx.com/ https://wwwtest.51aspx.com/ 2.源碼之家:http://www.codejia.com/ 3.源碼之家:http://www.zzvips.com/ 4.https://sourceforge.net/ 5.https://www.80zhan.com/ 6.洪越源代碼:http://www.softhy.net/ 8.代碼愛好者:http://www.codefans.com/ 24.源碼網:http:

    2024年02月05日
    瀏覽(31)
  • 抖音seo源碼-源代碼開發(fā)搭建-開源部署(不加密)

    抖音seo源碼-源代碼開發(fā)搭建-開源部署(不加密)

    抖音SEO矩陣系統(tǒng)源碼開發(fā)功能模型是指在抖音平臺上提高視頻搜索排名的一種算法模型。該功能模型包括多個部分,如內容優(yōu)化、用戶交互、社交化推廣等,通過對這些因素的優(yōu)化和提升,達到提高視頻搜索排名的目的。具體實現包括使用、標簽等優(yōu)化內容,提高用戶

    2024年02月09日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包