freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于51的避障循跡重力感應(yīng)遙控的智能小車設(shè)計(c語言)_畢業(yè)設(shè)計論文-在線瀏覽

2024-10-30 15:42本頁面
  

【正文】 B接控制使能 端,控制電機的停轉(zhuǎn)。由 上圖 可知 EnA為低電平時,輸入電平對電機控制起作用,當 EnA為高電平,輸入電平為一高一低,電機正或反轉(zhuǎn)。 紅外避障電路的原理與設(shè)計 用漫反射式光電開關(guān)進行避障。當有光線反射回來時,輸出低電平。單片機根據(jù)接收頭電平的高低做出相應(yīng)控制,避免小車碰到障礙物 。 小車采用漫反射式傳感器進行避障的電路原理圖如下圖 9 所示: 圖 9 光電開關(guān)避障電路原理圖 光電傳感器簡介 光電傳感器在機器人中有著廣泛的應(yīng)用,可以用來檢測地面明暗和顏色的變化,也可以探測有無接近的物體。 當檢測到黑白線時分別輸出為高低電平,這樣不僅系統(tǒng)硬件電路簡單,而且信號處理速度快。 圖 10 白色反射面下的紅外反射 圖 11 黑色反射面下的紅外吸收 紅外發(fā)射管發(fā)射的紅外線具有一定得方向性,當紅外線照射到白色表面上時會有較大的反射,如果距離 D1 取值合適,紅外接收管可接收到反射回的紅外線,再利用紅外接收管的電氣特性,在電路中處理紅外線的接受信息;如果反射表面為黑色,紅外光會被表面將其大部分吸收,紅外接收管就難以收到紅外線。 比較器 LM324 簡介 LM324為四運放集成電路,采用 14腳雙列直插塑料封裝。電路功耗很小,工作電壓范圍寬,可用正電源 3~ 30V,或正負雙電源 177。15V 工作。在電路中, LM324 的一個輸入端需接滑動變阻器,通過改變滑動變阻器的阻值來提供合適的比較電壓,圖 12 為 LM324 的管腳圖。紅外發(fā)射管發(fā)出紅外線,當發(fā)出的紅外線照射到白色的平面后反射,若紅外接收管能接收到反射回的光線則檢測出白線繼而輸出低電平,若接收不到發(fā)射管發(fā)出的光線則檢測出黑線繼而輸出高電,圖 13 為紅外對管黑線檢測電路。傳感器采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成,輸出信號經(jīng)施密特電路整形,穩(wěn)定可靠。 TCRT5000反射式光電傳感器是經(jīng)常使用的傳感器,這個系列的傳感器種類齊全、價格便 宜、體積小、使用方便、質(zhì)量可靠、用途廣泛。通過發(fā)射紅外信號,看接收信號變化判斷檢測物體狀態(tài)的變化, 圖 14為 TCRT5000傳感器模塊電路原理圖 , 圖 15為它的實物圖 。 MPU6000 整合了 3 軸陀螺儀、 3 軸加速器,并含可藉由第二個 I2C 端口連接其他廠牌之加速器、磁力傳感器、或其他傳感器的數(shù)位運動處理 (DMP: Digital Motion Processor)硬件加速引擎,由主要 I2C 端口以單一數(shù)據(jù)流的形式,向應(yīng)用端輸出完整的 9 軸融合演算技術(shù) InvenSense 的運動處理資料庫,可處理運動感測的復(fù)雜數(shù)據(jù),降低了運動處理運算對操作系統(tǒng)的負荷,并為應(yīng)用開發(fā)提供架構(gòu)化的 API。250、 177。1000 與 177。/sec (dps),可準確追緃快速與慢速動作,并且,用戶可程式控制的加速器全格感測范圍為 177。4g177。16g。 MPU6000 可在不同電壓下工作, VDD 供電電壓介為 177。5%或 177。 5%。其他的特征包含內(nèi)建的溫度感測器、包含在運作環(huán)境中僅有 177。 應(yīng)用 運動感測游戲 現(xiàn)實 增強 電子穩(wěn)像 (EIS: Electronic Image Stabilization) 光學(xué)穩(wěn)像 (OIS: Optical Image Stabilization) 行人導(dǎo)航器 “零觸控 ”手勢用戶接口 姿勢快捷方式 認證 市場 智能型手機 平板裝置設(shè)備 手持型游戲產(chǎn)品 ?蝸坊 ? 3D 遙控器 可攜式導(dǎo)航設(shè)備 特征 以數(shù)字輸出 6 軸或 9 軸的旋轉(zhuǎn)矩陣、四元數(shù) (quaternion)、歐拉角格式 (Euler Angle forma)的融合演算數(shù)據(jù)。/sec 敏感度與全格感測范圍為 177。500、 177。2020176。 可程式控制,且程式控制范圍為 177。4g、 177。16g 的 3 軸加速器。 數(shù)字運動處理 (DMP: Digital Motion Processing)引擎可減少復(fù)雜的融合演算數(shù)據(jù)、感測器同步化、姿勢感應(yīng)等的負荷。 以數(shù)位輸 出的溫度傳感器 以數(shù)位輸入的同步引腳 (Sync pin)支援視頻電子影相穩(wěn)定技術(shù)與 GPS 可程式控制的中斷 (interrupt)支援姿勢識別、搖攝、畫面放大縮小、滾動、快速下降中斷、highG 中斷、零動作感應(yīng)、觸擊感應(yīng)、搖動感應(yīng)功能。5%、 177。5%; VDDIO 為 177。1%頻率變化。 匯編語言:效率高,對硬件的可操控性更強,體積小,但不易維護,可移植性很差。 而在本設(shè)計里面,程序需要接近底層,但程序要解決的問題繁多,邏輯關(guān)系也比較復(fù)雜,代碼量也比較大,又考慮到產(chǎn)品以后需要升級,各方面綜合考慮,主要以 C51 語言來編寫本設(shè)計的程序是最佳選擇。 Keil C51 軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全 Windows 界面。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。 C51 開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的源程序要變?yōu)镃51 可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已 極少使用手工匯編的方法了。 從近年來各仿真機廠商紛紛宣布全面支持 Keil 即可看出。 小車端程序 文件一 include include include ..\header\ include ..\header\ void R_S_Byte(uchar R_Byte) { SBUF = R_Byte。 //查詢法 TI = 0。 ET1=1。 TMOD=0x11。 TL0=(65536500)%256。 TL1=(65536500)%256。 TH1=0。 TR1=1。 //啟動一次模塊 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 } void Conut(void)//通過超聲波測量的數(shù)據(jù)計算距離 { if(csflag==0) { time=TH1*256+TL1。 TL1=0。 //算出來是 mm // if(S499) 。 S=600。 }// 測量正前方 else if(jd==2) {leftS=S。}//測量右前方 } /**********************接收遙控器的狀態(tài)標志 **********************/ void RX_STATE(void) { uchar RxBuf[4]。 if(nRF24L01_RxPacket(RxBuf))//如果收到遙控器的數(shù)據(jù)則進入 { led2=~led2。 SIGN=RxBuf[2]。 LED_FLAG=(SIGNamp。//判斷小車燈光控制位 CONTROL_MODE_FLAG=(STATEamp。//讀取當前狀態(tài)標志 if(LED_FLAG) LED1=1。 } } void delay_RX(uint z)//避障模式下當出現(xiàn) while 循環(huán)時用的延時函數(shù) , { uint x,y。x0。y0。 RX_STATE()。 TL1 = (65536500)%256。 jd=fs。 TR1=1。 TR1=0。 TH1=0。 StartModule()。 //當 RX 為零時等待 TR1=1。 //當 RX 為 1 計數(shù)并等待 TR1=0。 } /********************避障模式子函數(shù) ***********************/ void csbmode(void) { unsigned char temp。 mode=1。 TL1=0。 while(!RX)。 //開啟計數(shù) while(RX)。 //關(guān)閉計數(shù) Conut()。 speed1=16。 while(middleS500 amp。CONTROL_MODE_FLAG==3) //當前方空間大于 300mm時保持 { IN1_1=0。IN2_1=0。//小車前進 TR1=0。 TH1=0。 StartModule()。 //當 RX 為零時等待 TR1=1。 //當 RX 為 1 計數(shù)并等待 TR1=0。 delay_RX(2)。IN1_2=0。IN2_2=0。speed2=0。 measured(4)。 //舵 機 復(fù)位 TL1 = (65536500)%256。 jd=3。 TR1=1。 TR1=0。 speed1=20。 IN1_1=1。IN2_1=1。//小車后退 while((middleStemp)200amp。CONTROL_MODE_FLAG==3) { speed1=20。 delay_RX(2)。 mode=1。 TL1=0。 while(!RX)。 //開啟計數(shù) while(RX)。 //關(guān)閉計數(shù) Conut()。speed2=20。IN1_2=0。IN2_2=1。IN1_2=1。IN2_2=0。 speed1=0。 IN1_1=0。IN2_1=0。//小車停止 measured(2)。 TH1 = (65536500)/256。 //12MZ 晶振, mode=0。 count2=0。 delay_RX(500)。 } if(leftSrightS) { speed1=0。 IN1_1=1。IN2_1=0。 while(middleS600amp。CONTROL_MODE_FLAG==3) { speed1=17。 delay_RX(5)。 mode=1。 TL1=0。 while(!RX)。 //開啟計數(shù) while(RX)。 //關(guān)閉計數(shù) Conut()。speed2=0。IN1_2=1。IN2_2=0。amp。speed2=17。 TR1=0。 TH1=0。 StartModule()。 //當 RX 為零時等待 TR1=1。 //當 RX 為 1 計數(shù)并等待 TR1=0。 } } } /*****************循跡模式子函數(shù) *********************/ void xunji(void) { IN1_1=0。IN2_1=0。 speed1=20。 //小車前進 while(irL2==0 amp。 irR2==0amp。CONTROL_MODE_FLAG==2) RX_STATE()。IN1_2=1。IN2_2=0。speed2=18。amp。 } else if(irR2==1) { IN1_1=1。IN2_1=0。 speed1=18。 // 小車左轉(zhuǎn) while(irR1==0amp。CONTROL_MODE_FLAG==2) RX_STATE()。 // uchar bb=0。 int Y_ANGLE。 uchar Y_SIGN。 bit FLAG_ANGLE=0。 delay(100)。 jd=3。 mode=0。IN1_2=0。IN2_2=0。 KEY_VALUE=STATEamp。//讀取鍵值 switch(KEY_VALUE) { case 0x0e:IN1_1=1。IN2_1=1。 speed1=20。 break。IN1_2=1。IN2_2=1。speed2=20。 case 0x0d: IN1_1=1。IN2_1=0。speed1=17。 break。IN1_2=1。IN2_2=0。speed2=17。 default :IN1_1=0。IN2_1=0。speed1=0。 //小車停止 break。IN1_2=0。IN2_2=0。 case 1
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1