《Arduino零基礎C語言編程》課件-ch6_第1頁
《Arduino零基礎C語言編程》課件-ch6_第2頁
《Arduino零基礎C語言編程》課件-ch6_第3頁
《Arduino零基礎C語言編程》課件-ch6_第4頁
《Arduino零基礎C語言編程》課件-ch6_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第六章

智能小車2025/2/7Arduino零基礎C語言編程16.1miniQ智能小車小車基本器件介紹

2025/2/7Arduino零基礎C語言編程2各部分功能:1.紅外發(fā)射管:發(fā)射紅外信號,用于障礙物探測等2.紅外接收管:接收紅外發(fā)射管發(fā)射出的紅外信號3.光敏二極管:用于檢測是否有光照,使小車進行尋光運動等4.按鍵:用于輸入信號給小車,以控制小車5.RGB燈:可以使用程序使其發(fā)出不同顏色的光,用于裝飾或者程序調試等6.USB口:用于程序下載、調試以及供電7.蜂鳴器(無源):發(fā)出報警聲或音樂等8.控制器:AVR芯片Atmega32U49.電機:通過控制電機的不同動作,使小車前進后退或轉彎10.重啟按鍵:使小車的程序重新運行11.電源按鍵:開關小車電源12.電源插口:給整個小車供電13.電池充電接口:如果使用的是充電電池,可以直接用這個接口通過充電器給電池充電。14.巡線傳感器:黑白色傳感器,用來識別黑白色小車跑道

小車引腳介紹巡線電路部分:A0--IR0(巡線傳感器--左一)A1--IR1(巡線傳感器--左二)A2--IR2(巡線傳感器--中間)A3--IR3(巡線傳感器--右二)A4--IR4(巡線傳感器--右一)尋光電路部分:A5電機部分:D5--左側電機速度控制(PWM)D12--左側電機方向控制D6--右側電機速度控制(PWM)D7--右側電機方向控制紅外避障:發(fā)射部分:D13--IRL左側發(fā)射管D8--IRR右側發(fā)射管接收部分:D17--IRS接收管蜂鳴器:D16一MOSI(共用MOSI腳)RGB燈:D10--WS2812RGB燈6.1miniQ智能小車蜂鳴器蜂鳴器作為一個基本型電子器件,生活中我們總會遇到,丌管是電腦里,鬧鐘里,還是打印機、復印機、報警器,都會使用到。不僅使用廣泛,用法也極為簡單。蜂鳴器分為有源蜂鳴器和無源蜂鳴器。有源蜂鳴器直接接上額定電源(新的蜂鳴器在標簽上都有注明)就可連續(xù)發(fā)聲;而無源蜂鳴器則和電磁揚聲器一樣,需要接在音頻輸出電路中才能發(fā)聲。有源蜂鳴器與無源蜂鳴器的區(qū)別:注意:這里的“源”不是指電源,而是指震蕩源。也就是說,有源蜂鳴器內部帶震蕩源,所以只要一通電就會叫;而無源內部不帶震蕩源,所以如果用直流信號無法令其鳴叫。必須用2K-5KHz的方波去驅動它。有源蜂鳴器往往比無源的貴,就是因為里面多個震蕩電路。無源蜂鳴器的優(yōu)點:便宜,聲音頻率可控,可以做出“多來米發(fā)索拉西”的效果;2025/2/7Arduino零基礎C語言編程56.1miniQ智能小車蜂鳴器在一些特例中,可以和LED復用一個控制口。有源蜂鳴器的優(yōu)點:程序控制方便2025/2/7Arduino零基礎C語言編程66.1miniQ智能小車蜂鳴器電路部分分析驅動部分電路如下圖所示,Q1為三極管,U1是蜂鳴器,R1為電阻,D16是

Arduino的數(shù)字腳14的引腳。

這是一張更加直觀的連接圖:

上圖的接法中,電流由電源正極經過電阻和蜂鳴器,在三極管處斷開,此時蜂鳴器是不發(fā)出聲響的。當芯片控制三極管開時,三極管會允許從電源正極的電流經過,使蜂鳴器可以正常工作。當然,由于接線原因,圖中的三極管只能接受0V或5V的信號,從蜂鳴器經過的電流等于芯片到電源負極的電流乘以三極管的放大倍數(shù)。2025/2/7Arduino零基礎C語言編程76.1miniQ智能小車光敏二極管2025/2/7Arduino零基礎C語言編程8如果只有D2光敏二極管收到日光照,則相當于Arduino引腳與GND直接相連,此時Arduino引腳上的電壓信號會與0V十分接近。當只有D1光敏二極管收到光照時,Arduino引腳上測得的電壓會很接近于5V。這樣就分辨出了光線是在小車的哪一邊。RGB彩燈RGB色彩模式是工業(yè)界的一種顏色標準,是通過對紅(R)、綠(G)、藍(B)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,RGB即是代表紅、綠、藍三個通道的顏色,這個標準幾乎包括了人類視力所能感知的所有顏色,是目前運用最廣的顏色系統(tǒng)之一。一般的RGB燈有4個引腳,R、G、B三個引腳連接到LED燈的一端,還有一個引腳是共用的正極(陽)或者共用的陰極(負)。這里選用的是共陰RGB??聪聢D,展示了三個LED如何華麗蛻變?yōu)橐粋€RGB的過程,R、G、B其實就是三個LED的正極,把它們的負極拉到一個公共引腳上了,它們公共引腳是負極,所以稱之為共陰RGB。

添加庫文件Adafruit_NeoPixel運行代碼,觀察效果6.1miniQ智能小車

組裝步驟1)安裝電機

6.2四驅小車6.2四驅小車組裝步驟2)連接電機線

組裝步驟3)安裝Romeo控制器6.2四驅小車組裝步驟4)安裝電機安裝電池盒6.2四驅小車

組裝步驟5)

制作電源開關電源開關的制作很關鍵,建議先測試,最后再安裝電源6.2四驅小車組裝步驟6)組裝底盤6.2四驅小車組裝步驟7)連接電機6.2四驅小車完成圖右輪左輪避障小車這個小車使用的主板和之前的miniQ智能小車不同,是新一代RomeoV2,是以ATmega32U4為主芯片的多功能控制板。同樣基于Arduino開放源代碼的SimpleI/O平臺,并且具有使用類似jave,C語言的開發(fā)環(huán)境。Romeo不僅可直插各類Switch,Sensor等輸入設備,同樣可直插多類LED,舵機等輸出設備。板子還集成了電機驅動模塊,可通過外接6~20V電壓,直接驅動電機。Romeo也可以獨立運作為一個可以跟軟件溝通的平臺,例如,flash,processing,Max/MSP,VVVV等互動軟件。Romeo不但有完整的ArduinoLeonardo的功能,還集成了2路電機驅動、無線數(shù)傳模塊、數(shù)字與模擬IO擴展口、I2C總線接口等功能。6.2四驅小車Romeo控制器

RomeoV2不僅可直插各類Switch,Sensor等輸入設備,還可直插多類LED,舵機等輸出設備。板子還集成了電機驅動模塊,可通過外接6~20V電壓,直接驅動電機。Romeo也可以獨立運作為一個可以跟軟件溝通的平臺,例如,flash,processing,Max/MSP,VVVV等互動軟件。Romeo不但有完整的ArduinoLeonardo的功能,還集成了2路電機驅動、無線數(shù)傳模塊、數(shù)字與模擬IO擴展口、I2C總線接口等功能。

注意事項:上傳程序時,請選擇版型:Leonardo,否則編譯上傳出錯。模擬口A0:當使用A0口作為模擬量輸入/輸出時,關掉按鈕選擇開關,即:撥到OFF的位置。因為板子上的5個按鈕是連接在A0上的,如果打開,A0口的讀數(shù)不正確。例1:五個按鍵實驗程序功能:分別按住S1到S5鍵,會看見LED閃爍的頻率不同。按鍵接入電阻不同,分到模擬口的電壓就不同,AD采集到的數(shù)據也就不同

例2:電機驅動實驗(前進、后退)

//方向需具體電路測試確定

例2:電機驅動實驗(左轉)voidturnleft(intleftspeed,intrightspeed){analogWrite(E1,rightspeed);analogWrite(E2,leftspeed);digitalWrite(M1,LOW);digitalWrite(M2,HIGH);}Romeo的PWM控制模式Romeo的PLL(相位鎖相環(huán))

控制模式實驗一聲控小車元件:實驗二遙控小車元件:

例3:紅外數(shù)字避障傳感器引腳定義:紅線-+5V;黃線-信號;綠線-地信號類型:數(shù)字信號監(jiān)視距離:由背部的旋鈕控制

示例代碼觀察代碼運行效果Mini尋線傳感器在探測范圍內有白色物體時輸出高電平,遇黑色物體時輸出低電平!6.2四驅小車自行編寫代碼測試找張白紙,在白紙上畫根黑線條,或用黑色電工膠帶沾在白紙上將尋線模塊的紅外探頭對準黑線,高度1厘米左右,此時指示燈滅,相應輸出端輸出TTL低電平;同理,尋線模塊的紅外探頭對準白紙,此時指示燈亮,相應輸出端輸出TTL高電平;藍牙小車想象一下用Arduino或者IOS結合Arduino開發(fā)一款可穿戴的移動設備,比如智能手機、智能手環(huán)、智能計步器等等,這些可穿戴設備可以通過藍牙4.0與手機通信。通過低功耗的藍牙4.0鏈接成星型的低功耗網絡,達成快速的實時通訊,許多的軟件工程師或者硬件工程師都希望有這樣一個平臺來實現(xiàn)以上功能。BLE-LINK是基于藍牙4.0的通訊模塊,它采用XBEE造型設計,體積尺寸緊湊,兼容XBEE的擴展底座,適用于各種3.3V的單片機系統(tǒng)。它也可以實現(xiàn)兩個藍牙模塊之間點對點無線透明傳輸,主從機設置,無線燒錄程序,甚至與PC建立HID連接。

用戶不僅可以通過AT指令調試BLE-Link,而且可以通過USB更新BLE-Link的芯片程序。BLE-LinK藍牙4.0通訊模塊可以使用XBEE底座插接到Arduino控制器上,從而實現(xiàn)藍牙無線控制。6.2四驅小車藍牙4.0無線通訊模塊

Ble-link基礎示例1.將下面代碼復制到ArduinoIDE中(這個程序只做一件事:把收到的串口數(shù)據都發(fā)回去);注意:下載程序時,如果uno有藍牙連接,請斷開藍牙連接,否則程序因為串口占用無法下載。2.對于Android設備:安裝APK文件到你的安卓手機中;運行程序;點擊"Scan"按鈕(①)開始搜索設備;連接了之后,點擊"SendData"按鈕(②)發(fā)送輸入框(③)中的數(shù)據給UNO;UNO會回復相同的數(shù)據.收到的數(shù)據將在"receiveddata"處顯示(④)。1)通過AT指令配置BLE設備1.打開ArduinoIDE2.在菜單-》工具-》串口中選擇正確的設備3.開啟串口監(jiān)視器(點擊窗口的右上角的按鍵)4.在兩個下拉菜單中選擇"Nolineending"和115200baud5.在輸入框中輸入"+++",并點擊發(fā)送鍵6.如果收到“EnterATMode”,就證明已經進入AT指令模式.7.在兩個下拉菜單中選擇"BothNL&CR"和115200baud8.在輸入框中輸入AT指令,并點擊發(fā)送鍵9.如果BLE配置成功,界面將會返回"OK"注意:1.如果收到“ERRORCMD”,可以再發(fā)一遍。發(fā)送多次后如果還是“ERRORCMD”,需要檢查一下指令發(fā)送是否正確.(大寫字母)2.使用"AT+EXIT"來退出AT指令模式.2)兩塊藍牙模塊之間通信設置模塊角色:在兩塊藍牙模塊建立連接時,最重要的一個配置就是必須有藍牙模塊是主角色,另一個藍牙模塊設置為從角色。設置串口參數(shù):建議兩塊模塊波特率統(tǒng)一設置為115200,便于調試。設置模塊連接模式:如果當模塊無法被適配器、主機搜索到或無法連接時,需配置該參數(shù),配置為AT+CMODE=1。效果:同時打開兩個串口,并且將兩個串口的波特率調到115200,再觀察收發(fā)情況注意:燒錄代碼時,若有問題,嘗試先撥到Prog一端,燒錄完成后,再撥回Run3)手機app控制小車手機app控制小車主要運用藍牙作為通訊工具,上位機的程序編寫使用的是AppInventor,下位機使用的是熟悉的Arduino。先簡單介紹一下AppInventor吧。AppInventor是一個基于云端的、可拖曳的手機應用軟件開發(fā)環(huán)境。它將枯燥的編碼轉變成積木式的拼圖,使得手機應用軟件的開發(fā)變得簡單而有趣。即使不懂得編程語言,也可以開發(fā)出屬于自己的手機軟件,具有零基礎、無門檻、組件多、功能強和出錯少等特點。最初的AppInventor由Google實驗室于2010年7月推出。此后于2011年8月將其源代碼對外開放,隨后交由麻省理工學院移動學習中心(TheMITCentreforMobileLearning)開發(fā),并于2012年3月對外開放使用,并更名為MITAppInventor。3)手機app控制小車一、搭建AppInventor平臺。1.在使用AppInventor之前,得確保安裝了JAVA環(huán)境。

2.安裝完了Java環(huán)境,需要安裝一個叫做AppInventor的軟件包。建議這里安裝的時候不要修改安裝路徑。3.打開離線包,雙擊“啟動AIServer.cmd”,雙擊“啟動BuildServer.cmd”,打開Chrome內核瀏覽器(比如Chrome,百度、獵豹、360等瀏覽器的極速模式)地址欄輸入:8888。3)手機app控制小車二、編寫上位機程序

(一)軟件界面設計

(二)App功能實現(xiàn)1.程序初始化時,查看之前有沒有配對藍牙,如果有的話,就將之前的藍牙設備列出來,以供選擇。3)手機app控制小車二、編寫上位機程序

3)手機app控制小車二、編寫上位機程序2.通過“選擇藍牙”和“斷開藍牙”兩個按鍵來實現(xiàn)藍牙連接,斷開。3)手機app控制小車二、編寫上位機程序最后完成與下位機的通信。上下左右四個按鈕以及停止按鈕分別對應下位機中小車前進、后退、左轉、右轉、停止的程序。3)手機app控制小車二、編寫上位機程序按下不同的按鈕,通過藍牙給主控板發(fā)送不同的信息,然后讓主控板判斷指令,并且給小車信號,控制小車。最后,打包成APK,在手機中進行安裝。

選擇“打包apk”,可以選擇“打包apk并顯示二維碼”,使用手機掃一掃就可以該文件安裝在手機中,也可以選擇“打包apk并下載到電腦”實現(xiàn)同樣的安裝結果。3)手機app控制小車三、藍牙配置手機藍牙和小車藍牙之間要實現(xiàn)通信,先要給其配置。由于appInventor不支持BLE藍牙4.0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論