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

正文內(nèi)容

單片機語音遙控小車的設計論文98439(編輯修改稿)

2025-07-15 12:51 本頁面
 

【文章內(nèi)容簡介】 出高電平,如果發(fā)送端一直按住按鍵,編碼芯片也會連續(xù)發(fā)射。當發(fā)射機沒有按鍵按下時,PT2262 不接通電源,其 17 腳為低電平,所以 315MHz 的高頻發(fā)射電路不工作,當有按鍵按下時,PT2262 得電工作,其第 17 腳輸出經(jīng)調(diào)制的串行數(shù)據(jù)信號,當 17 腳為高電平期間 315MHz 的高頻發(fā)射電路起振并發(fā)射等幅高頻信號, 當 17 腳為低平期間 315MHz 的高頻發(fā)射電路停止振蕩,所以高頻發(fā)射電路完全收控于 PT2262 的 17 腳輸出的數(shù)字信號,從而對高頻電路完成幅度鍵控(ASK 調(diào)制)相當于調(diào)制度為 100%的調(diào)幅。圖 56 無線發(fā)射模塊 圖 57 無線接收模塊因為無線發(fā)射模塊考慮到發(fā)射距離采用 12V 供電,這里我們采用光電隔離。無線發(fā)射模塊電路連接如圖 58 所示。當語音識別后,IO 口電平變?yōu)榕c之對應的數(shù)據(jù)碼 D0、DDD3 四位,當某一位為“1” ,光電三極管導通,則在該位上 PT2262 輸入“1” ,否則該位 PT2262 數(shù)據(jù)輸入“0” 。通過這種方法獲取并發(fā)送 SPCE061A 單片機識別語音命令對應的數(shù)據(jù)碼。無線接收模塊通過天線接收到數(shù)據(jù)碼,通過 D0、DDD3 輸出。SPCE061A 單片機通過對 IO的掃描來判斷是否有數(shù)據(jù)碼接收,IO 口對應 D00、D0D0D03 四位。當有數(shù)據(jù)碼接收時,根據(jù)不同的數(shù)據(jù)碼對 H 橋驅動 IO 口進行不同的電平轉換,從而實現(xiàn)對電機的驅動,改變小車的行駛狀態(tài)。無線接收模塊電路如圖 59 所示。圖 58 無線發(fā)射模塊電路連接圖 59 無線接收模塊電路連接 小車控制板控制板主要包括:接口電路、電源電路和兩路電機的驅動電路,電路連接如圖 510。接口電路:接口電路負責將 SPCE061A 開發(fā)板的 I/O 接口信號傳送給控制電路板,I/O 信號主要為控制電機需要的 IOB8~IOB11 這四路信號,同時為了方便后續(xù)的開發(fā)和完善,預留了 IOB12~IOB15 以及 IOA8~IOA15 接口,可以在這些接口上添加一些傳感器。電源部分:整個小車有 4 個電源信號:電池電源,控制板工作電源,SPCE061A 開發(fā)板工作電源,SPCE061A 開發(fā)板的 I/O 輸出電源。系統(tǒng)供電由電池提供,控制板直接采用電池供電(VCC) ,然后經(jīng)二極管 D1 后產(chǎn)生 SPCE061A 開發(fā)板電源(VCC_61) ,通過 SPCE061A 開發(fā)板的 Vio 跳線產(chǎn)生SPCE061A 開發(fā)板的端口電源(V1) 。 二極管 D1 作用: (1)降壓,4 節(jié)電池提供的電壓 VCC 最大可達到 6V,D1 可有效地降壓。 (2)保護,D1 可以防止電源接反燒壞 SPCE061A 開發(fā)板。電機驅動部分:分為舵機驅動和動力電機驅動,所以采用雙 H 橋驅動。圖 510 小車控制板電路圖H 橋驅動原理:H 橋一共有四個臂,分別為 B1~B4,每個臂由一個開關控制,示例中為三極管 Q1~Q4。 如果讓 QQ2 導通 QQ4 關斷,如圖 511 所示,此時電流將會流經(jīng) Q負載、Q2 組成的回路,電機正轉。圖 511 QQ2 導通時 H 橋工作狀態(tài)圖 512 QQ4 導通時電橋工作狀態(tài)如果讓 QQ2 關斷 QQ4 導通,如圖 512 所示,此時電流將會流經(jīng) Q負載、Q4 組成的回路,電機反轉。如果讓 QQ2 關斷 QQ4 也關斷,負載 Load 兩端懸空,此時電機停轉,如圖514。這樣就實現(xiàn)了電機的正轉、反轉、停止三態(tài)控制。 如果讓 QQ2 導通 QQ4 也導通,那么電流將會流經(jīng) QQ4 組成的回路以及 Q2 和 Q3 組成的回路,如圖 513 所示,這時橋臂上會出現(xiàn)很大的短路電流。在實際應用時注意避免出現(xiàn)橋臂短路的情況,這會給電路帶來很大的危害,嚴重的會燒毀電路。圖 513 QQQQ4 都導通時電機停轉圖 514 QQQQ4 都不導通時電機停轉 小車車體架構語音控制小車為四輪結構,前面兩個車輪由前輪電機控制,來調(diào)節(jié)小車的前進方向。在自然狀態(tài)下,前輪在彈簧作用下保持中間位置,如果前輪方向有偏差,可調(diào)節(jié)方向旋鈕。后面兩個車輪由后輪電機驅動,為整個小車提供前行動力。圖 515 所示側視圖。前輪電機反向轉動,后輪電機正向轉動,這時小車就是會在前后輪共同作用下朝右側前行,如圖 516 所示。同理實現(xiàn)小車的向前直行,向后倒車,向左轉等動作。 圖 515 車體側視圖后輪 前輪圖 516 小車頂視右轉圖 SPCE061A 精簡開發(fā)板SPCE061A 精簡開發(fā)板(簡稱 61 板) ,是以凌陽 16 位單片機 SPCE061A 為核心的精簡開發(fā)-仿真-實驗板,除具備單片機最小系統(tǒng)電路外,還包括有電源電路、音頻電路(含 MIC 輸入電路和DAC 音頻輸出部分) 、復位電路。61 板上有調(diào)試器接口(Probe 接口)以及下載線(EZ_Probe)接口,分別可接凌陽科技的在線調(diào)試器、簡易下載線,配合 unSP IDE,可方便地在板上實現(xiàn)程序的下載、在線仿真調(diào)試。61 板上的主要功能模塊如下:(1)SPCE061A 單片機最小系統(tǒng)外圍電路模塊;(2)電源輸入模塊;(3)音頻電路(包含 Mic 輸入、DAC 音頻功放輸出)模塊;(4)按鍵模塊;(5)I/O 端口接口模塊;(6)調(diào)試、下載接口模塊。 系統(tǒng)實物圖實物圖分兩部分,圖 517 為小車實物圖;圖 518 為語音遙控部分實物圖。圖 517 小車實物圖圖 518 語音遙控部分實物圖6 系統(tǒng)軟件設計 軟件結構本系統(tǒng)主要包括以下程序:小車訓練子程序,語音識別子程序,無線信號發(fā)射子程序,電機驅動子程序,中斷子程序。第一塊開發(fā)板主程序流程圖如圖 61 所示,第二塊開發(fā)板主程序流程圖如圖 62 所示。圖 61 第一塊開發(fā)板主程序流程圖YNYN初始化訓練小車保存訓練結果進入識別模式語音識別清模型存儲區(qū)等待復位重新訓練發(fā)射語音識別對應數(shù)據(jù)碼已訓練過開始裝載語音模型圖 62 第二塊開發(fā)板主流程圖系統(tǒng)的主程序流程如圖 61 所示,分為四大部分:初始化部分、訓練部分、識別部分、重訓操作。初始化部分:初始化操作將 IOB8~IOB11 設置為輸出端,用以控制電機。必要時還要有對應的輸入端設置和 PWM 端口設置等。 訓練部分:訓練部分完成的工作就是建立語音模型。程序一開始判斷小車是否被訓練過,如果沒有訓練過則要求對其進行訓練,并且會在訓練成功之后將訓練的模型存儲到 Flash,在以后使用時不需要重新訓練;如果已經(jīng)訓練過會把存儲在 Flash 中的模型調(diào)出來裝載到辨識器中。 識別部分:在識別環(huán)節(jié)當中,如果辨識結果是名字,通過無線發(fā)射模塊通知到第二塊開發(fā)板,停止當前的動作并進入待命狀態(tài),然后等待動作命令。如果辨識結果為動作指令小車會語音告知相應動作并執(zhí)行該動作,在運動過程中可以通過呼叫小車的名字使小車停下來。重訓操作:考慮到有重新訓練的需求,設置了重新訓練的按鍵(61 板的 KEY3) ,循環(huán)掃描該按鍵,一旦檢測到此鍵按下,則將擦除訓練標志位(0xe000 單元) ,并等待復位。復位后,程序重新執(zhí)行,當檢測到訓練標志位為 0xffff 時會要求重新對其進行訓練。 語音識別原理簡介語音識別主要分為“訓練”和“識別”兩個階段。在訓練階段,單片機對采集到的語音樣本進行分析處理,從中提取出語音特征信息,建立一個特征模型;在識別階段,單片機對采集到的語音樣本也進行類似的分析處理,提取出語音的特征信息,然后將這個特征信息模型與已有的特征模型進行對比,如果二者達到了一定的匹配度,則輸入的語音被識別。具體語音識別流程圖如圖 63 所示。N播放相應交互語音執(zhí)行相應電機操作Y接收到數(shù)據(jù)碼初始化開始掃描鍵盤圖 63 語音識別流程圖 訓練子程序當程序檢測到訓練標志位 BS_Flag 內(nèi)容為 0xffff,就會要求操作者對它進行訓練操作,訓練操作的過程如圖 64 所示:訓練采用兩次訓練獲取結果的方式,以訓練名字為例:小車首先會提示:給我取個名字吧,這時你可以告訴它一個名字(比如小強) ;然后它會提示:請再說一遍,這時再次告訴它名字(小強) ,如果兩次的聲音差別不大,小車就能夠成功的建立模型,名稱訓練成功;如果沒能夠成功的建立模型,小車會告知失敗的原因并要求重新訓練。成功訓練名稱后會給出下一條待訓練指令提示音:前進,參照名稱訓練方式訓練前進指令。依次訓練小車的名稱—前進指令—倒車指令—左轉指令—右轉指令,全部訓練成功子程序返回,訓練結束。圖 64 小車訓練流程圖下面是訓練部分的子程序,在訓練時如果訓練不成功 TrainWord()返回值不為 0,要求重復訓練,只有當訓練成功,TrainWord()返回 0,進行下一條指令訓練。void TrainSD() { while(TrainWord(NAME_ID,S_NAME) != 0) 。 //訓練名稱 while(TrainWord(COMMAND_GO_ID,S_ACT1) != 0) 。 //訓練第 1 個動作 while(TrainWord(COMMAND_BACK_ID,S_ACT2) != 0) 。 //訓練第 2 個動作 while(TrainWord(COMMAND_LEFT_ID,S_ACT3) != 0) 。 //訓練第 3 個動作 while(TrainWord(COMMAND_RIGHT_ID,S_ACT4) != 0) 。 //訓練第 4 個動作 } 語音識別子程序語音識別流程如圖 65 所示:首先獲取辨識器的辨識結果,判斷是否有語音觸發(fā),如果有語音觸發(fā)則會返回識別結果的 ID 號,ID 號對應名稱或者對應不同的動作。如果 ID 號為名稱,則結束運動(如果當前在運動狀態(tài)) ,進入待命狀態(tài),等待下一次的指令觸發(fā);如果 ID 號為動作,則語音告知將要執(zhí)行的動作,并執(zhí)行該動作。圖 65 語音識別流程圖 動作子程序動作子程序包括:前進、倒車、左拐、右拐、停車子程序。 前進:由小車的結構原理和驅動電路分析知:只要 IOB8 為高電平,IOB9,IOB10,IOB11 全部為低電平即可實現(xiàn)小車的前進。前進子程序包括語音提示、置端口數(shù)據(jù)、啟動定時器操作,該部分程序如下: void GoAhead() //前進 { PlaySnd(S_ACT1,3)。 //語音提示 *P_IOB_Data=0x0100。 //前進 *P_INT_Mask |= 0x0004。 //開 2Hz 中斷 __asm(int fiq,irq)。 uiTimecont = 0。 //清定時器 } 倒車:由小車的結構原理分析和驅動電路分析知:只要 IOB9 為高電平,IOB8,IOB10,IOB11 全部為低電平即可實現(xiàn)小車的倒退。倒退子程序包括語音提示、置端口數(shù)據(jù)、啟動定時器操作,程序如下:void BackUp() //倒退 { PlaySnd(S_ACT2,3)。 //語音提示 *P_IOB_Data=0x0200。 //倒車 *P_INT_Mask |= 0x0004。 //開 2Hz 中斷 __asm(int fiq,irq)。 uiTimecont = 0。 //清定時器 }左轉:由小車的結構原理分析和驅動電路分析知:小車左轉需要兩個條件: 輪前進,這時對應的 I/O 狀態(tài)為:IOBIOB10 為高電平,IOBIOB11 為低電平。左轉子程序包括語音提示、置端口數(shù)據(jù)、啟動定時器操作,該部分程序如下: void TurnLeft() //左轉 { PlaySnd(S_GJG,3)。 //播放提示音 *P_IOB_Data=0x0900。 //前輪右偏 Delay()。 //延時 *P_IOB_Data=0x0500。 //前輪左偏 *P_INT_Mask |= 0x0004。 //打開 2Hz 中斷 __asm(int fiq,irq)。 //允許總中斷 uiTimecont = 0。 //清定時器 }
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1