摘 要
本設計提出了一種基于 32 單片機的車牌識別系統攝像頭圖像處理方案。該系統主要由 STM32F103RCT6 單片機核心板、2.8 寸 TFT 液晶屏顯示、攝像頭圖像采集 OV7670、蜂鳴器以及 LED 電路組成。
在車牌識別過程中,STM32F103RCT6 單片機核心板發揮著關鍵的控制作用。攝像頭圖像采集 OV7670 負責獲取車輛的圖像信息,能夠清晰地捕捉車牌區域。采集到的圖像數據傳輸至單片機進行處理,通過一系列的算法對圖像進行分析和識別。2.8 寸 TFT 液晶屏顯示模塊實時展示采集到的圖像以及識別結果,為用戶提供直觀的視覺反饋。
當系統成功識別車牌后,可通過 LED 電路進行狀態指示,例如亮起特定顏色的 LED 燈表示識別成功。同時,蜂鳴器可發出提示音,提醒用戶車牌已被識別。整個系統的各個模塊相互配合,實現了高效、準確的車牌識別功能。
該車牌識別系統具有廣泛的應用前景,可應用于停車場管理、交通監控等領域,提高車輛管理的效率和準確性。它具有操作簡便、識別速度快、準確率高等優點,為現代化的交通管理和車輛管控提供了有力的技術支持。
關鍵詞:車牌識別、STM32 單片機、圖像采集、TFT 顯示
2.方案的設計與論證
2.1 單片機芯片的選擇
方案一
采用可編程邏輯器件CPLD作為控制器,CPLD可以實現各種復雜的功能、規模大、密度高、體積小、穩定性高、I/O資源豐富、易于進行功能擴展。采用并行的輸入輸出方式,提高了系統的處理速度,適合作為大規模控制系統的控制核心。但本系統不需要復雜的邏輯功能,對數據的處理速度的要求也不是非常高。且從使用及經濟的角度考慮,最終放棄了此方案。
方案二
采用ST公司的STC89C52單片機作為主控制器,STC89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統可編程 Flash 存儲器。該單片機功耗低、接口豐富,成本低廉,完全能滿足本設計要求。
方案三
采用單片機芯片控制MSP430單片機是美國德州儀器(TI)推出的一種16位超低功 耗的混合信號處理器(Mixed Signal Processor),主要是針對實際應用需求,把許多模擬電路、數字電路和微處理器集成在一個芯片上,以提供“單片”混合信號處理的解決方案。MSP430F149是一個16位的、具有精簡指令集的、超低功耗的混合型單片機,具有可靠性高、功耗低、擴展靈活、體積小、價格低和使用方便等優點,廣泛應用于儀器儀表、專用設備智能化管理及過程控制等領域,有效地提高了控制質量與經濟效益,已成為眾多單片機系列中一顆耀眼的新星。
方案四
本文所選單片機控制芯片為STM32單片機,STM32系列處理器是意法半導體ST公司生產的一種基于ARM 7架構的32位、支持實時仿真和跟蹤的微控制器。使用ARM最新的、先進架構的Cortex-M3內核,具有優異的實時性能、杰出的功耗控制、出眾及創新的外設,并且最大程度的集成整合,十分易于開發,可使產品快速將進入市場。
綜上所述,故選擇方案四。
3.硬件電路的設計
3.1 系統功能分析和硬件框圖
本系統有STM32F103RCT6單片機核心板、(無無線/無線藍牙模塊-可選)、2.8寸TFT液晶屏顯示、攝像頭圖像采集OV7670、蜂鳴器、LED電路組成。
1、stm32單片機通過攝像頭采集圖像,并實時驅動TFT液晶屏顯示相應圖像。
2、stm32單片機通過模式識別、匹配貨的車牌的識別結果,并在屏幕上進行顯示。
3、識別主要過程包括圖像采集、二值化分析、識別車牌區域、字符分割、字符匹配五個過程。
4、車牌鎖定后會有蜂鳴器提醒,在分析獲取到車牌后對車停留時間進行計時,并進行計費。
5、在圖像采集界面,通過按鍵可以進入后臺計費界面。在車牌識別后進入計費界面,可以通過按鍵退出計費界面,回到圖像采集界面。
6、無線APP功能(注意配備藍牙才有該功能):
APP能夠連接板載無線模塊,車牌識別成功后,相關信息會上傳到手機藍牙APP,進而查看相應所有數據,具有強大的實用性功能,方便快捷智能化!
注意:單片機處理能力及速率有限,目前識別漢字:渝、遼、滬、浙、蘇、粵,車牌圖片一定要清晰,無反光,容易識別。
車牌識別操作技巧與按鍵功能說明:
1、重要一點,通過攝像頭前面螺鈕可以調焦,擰到直到液晶顯示圖像最清晰(一般我們調試好的)。
2、盡量讓車牌號處于液晶中央位置,讓車牌號內容處于兩藍線之間,且兩藍線處于紅線上方。
3、位置合適后,進入倒計時,到時蜂鳴器會“嘀”的一聲響,表示開始分析識別。識別需要一定時間。
3.在沒有識別出車牌前,按下K1可查看已經識別出的車牌信息,并可看到計費信息(模擬停車場),識別出車牌后,顯示車牌信息后, 需要按下按鍵K2,方可返回主界面。
圖3-1是其系統框圖:
圖3-1無無線系統框圖(待選)
4 主函數程序流程圖
本系統設計主要采用keil軟件編寫與調試程序,程序語言采取易讀性和移植性更高的C語言編寫。系統運行主程序流程圖如下圖所示。
無線主函數流程圖(待選)
4.4 8050有源蜂鳴器報警電路軟件設計
報警電路采用蜂鳴器報警電路,蜂鳴器與家用電氣上的喇叭在用法上也有相似的地方,通常工作電流比較大,電路上的TTL電平基本上驅動不了蜂鳴器,需要增加一個電流放大的電路才可以,即此單片機的一個管腳很難驅動蜂鳴器發出聲音,所以增加了一個三極管來增加通過蜂鳴器的電流。
蜂鳴器的正極性的一端聯接到5V電源上面,另一端接到三極管的集電極,三極管的基極由單片機的一個管腳來控制,當單片機對應的管腳為高電平時,三極管導通,這樣蜂鳴器的電流形成回路,發出聲音。當管腳為低電平時,三極管截至,蜂鳴器不發出聲音。為了防止三極管直接被導通我們加一個限流電阻,作為保護。
流程圖如下:
5.系統調試
5.1 電路焊接
手工焊接是常用原始的焊接方法,目前大量工廠焊接的生產基本上不采用原始方法了,但是普通元器件的修理、系統測試中經常使用原始的手工焊接。重要的是如焊接本質上出現問題,則會影響到整個控制系統的,可以這么說,焊接的會導致這個控制系統可不可以用的。手工焊接主要有如下四步組成的:
第一步開始焊接:
需要把需要焊接的地方打掃干凈,主要去處油跡和灰塵,然后把需要焊接的元器件的兩個角向一定的方向掰一掰,注意不能把元器件的腳相交在一起了,這樣會影響焊接的。接下來讓電烙鐵頭碰到需要焊接的元器件腳下,放上焊錫絲。此處需要注意的是,不能讓烙鐵頭碰到其它元器件的腳了,要不然會把兩個元器件焊接在一起了。
第二步給焊接升溫:
當在完成第一步以后,接下來就是加熱焊錫絲了,主要是將燒熱的電烙鐵放在器件管腳旁邊,慢慢融化焊錫絲,需要注意電洛鐵的溫度和加熱時間,若時間過長,很有可能焊壞面包板焊盤的,一般建議電洛鐵溫度調整在400。C左右,加熱2秒鐘左右,例外也要根據器件種類作出具體區別的。在焊接過程中,當需要把焊接好的元器件卸下來,則也需要給焊接處進行加熱的,主要操作是首先在焊接處補好焊錫絲,使焊點是圓潤的,然后用電洛鐵在焊接處進行加熱,在加熱的過程中就可以直接把元器件卸下來了,此時一定要主要時間,要不然也會損壞焊盤的
第三部清理焊接面:
當在完成第二步時,有的時候會觀察到焊接的不完美或者擔心出現虛焊情況,這時候需要進行修改的。主要是兩種情況的,第一種是焊錫不夠,焊接點不圓潤,這時需要給焊接處補焊錫,此時需要注意的是焊錫量不能補多,要不然容易連接到其它期間的引腳的。第二種是焊錫過多,這時候可以用電洛鐵放在焊接處來回的滑動,會把多余的焊錫帶走的,若不行,只能使用吸錫器了。
第四部檢查焊點:
當完成以上三步了,最后就需要整體觀察了,主要是觀看焊接點是不是圓滿、亮度好、緊固,有沒有與其它管腳相連在一起了。
5.2 系統調試
整體系統上電調試前,大概觀察下焊接的系統還存在問題,例如還有很顯眼的斷裂,正負極接反以及相連、虛焊、等問題,然后用萬用表檢測一下,電源正負極之間是否短路等嚴重的電源問題,最終保證系統沒有問題。
5.2.1 系統程序調試
(1)在Keil軟件中先創建一個工程:單擊菜單欄中的“工程”,輸入新建工程名,并保存。
(2)新建用戶源文件:在新建的空白文本中編寫程序源代碼,編碼完成保存文件并文件拓展名“***.c”,新文件創建完成。
(3)程序編譯和調試:單擊編譯按鈕,系統會對文件進行運行,在輸出窗口中可看到提示信息,如過窗口顯示有error信息,則按提示找出錯誤并改正,直到提示沒有錯誤提示為止。
(4)程序編譯無錯誤后,進入程序調試狀態,可查看單片機資源狀態,進行斷點等方式調試。
5.2.2硬件測試
最后一步就是硬件整體測試了,主要運用萬用表、直流電源和示波器對焊接好的板子進行整體調試,主要檢查每一個器件是不是都正常工作了,主要分為兩個環節動態調試和靜態調試。其中靜態調試主要分為以下四種:
1、肉眼觀察。主要觀看焊接點是否飽滿,以及相連器件之間是否相連或者器件管腳沒有焊接好,出現短路現象。
2、使用萬用表調試。首先查看電源是否短路,然后測量管腳是否連接正確,有沒有接線錯誤。
3、上電檢查。在完成第一步和第二步都沒有問題,接下來就可以上電了,上電以后觀看每個器件是否正常工作,然后在逐一測試功能。
文章底部可以獲取博主的聯系方式,獲取源碼、查看詳細的視頻演示,或者了解其他版本的信息。
所有項目都經過了嚴格的測試和完善。對于本系統,我們提供全方位的支持,包括修改時間和標題,以及完整的安裝、部署、運行和調試服務,確保系統能在你的電腦上順利運行。