版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、玩轉(zhuǎn)ARDUINO合集杭州電子科技大學(xué) 劉琦ARDUINO是什么?Arduino硬件介紹Arduino編程環(huán)境介紹ARDUINO的安裝Arduino IDE的安裝USB驅(qū)動(dòng)的安裝4ARDUINO程序結(jié)構(gòu):SETUP()上電后setup()函數(shù)執(zhí)行一次5ARDUINO程序結(jié)構(gòu):LOOP()loop()函數(shù)一直循環(huán)運(yùn)行6ARDUINO數(shù)字輸入輸出ARDUINO程序下載HelloWorld程序動(dòng)手HelloWorld:點(diǎn)亮一個(gè)LED燈ARDUINO與電子積木什么是電子積木什么是電子積木電子積木如何與電子積木如何與ArduinoArduino連接連接傳感器擴(kuò)展板連接線數(shù)字型電子積木通用接口模塊 小按鈕
2、模塊 大按鈕模塊 磁力開關(guān) 觸摸傳感器傾斜傳感器人體運(yùn)動(dòng) 紅外熱釋傳感器反射型紅外開關(guān) 50CM100CM 反射型紅外開關(guān) 10CM 反射型紅外開關(guān) 2CM對(duì)射型 紅外開關(guān) 8米繼電器模塊動(dòng)手通過按鈕模擬來控制LED燈的亮滅面包板使用方法介紹動(dòng)手用面包板完成LED模塊的電路連接LED基本電路電阻電阻LED電源(正電源(正/負(fù))負(fù))LED控制代碼動(dòng)手使用Arduino和傳感器擴(kuò)展板使用Arduino的9,10,11三個(gè)引腳使用三個(gè)LED和1K的電阻通過程序進(jìn)行控制討論彩色LED紅/綠/藍(lán) 三原色根據(jù)公共端的不同有共陽/共陰兩種動(dòng)手更換RGB LED用Arduino程序混色討論模擬信號(hào)模擬信號(hào)的值
3、可以連續(xù)變化模擬信號(hào)的值可以連續(xù)變化9V9V電池就是一種模擬器件,因?yàn)樗妮敵鲭妷翰⒉痪_地等于電池就是一種模擬器件,因?yàn)樗妮敵鲭妷翰⒉痪_地等于9V9V,而是隨時(shí)間發(fā),而是隨時(shí)間發(fā)生變化,并可取任何實(shí)數(shù)值。生變化,并可取任何實(shí)數(shù)值。 光照強(qiáng)度、溫度、濕度等也都是模擬信號(hào)光照強(qiáng)度、溫度、濕度等也都是模擬信號(hào)ARDUINO中的模擬輸出analogWrite(pin, value) pin為Arduino上的PWM引腳3, 5, 6, 9, 10, 11 value取值0-255PWM實(shí)現(xiàn)模擬信號(hào)的數(shù)字化方法 動(dòng)手Arduino控制LED淡入淡出效果動(dòng)手實(shí)現(xiàn)全彩的混色模擬輸入通常基于分壓原理電位
4、器電子積木 300度 旋轉(zhuǎn)角度傳感器ARDUINO中的模擬輸入analogRead(pin)pin: 模擬輸入引腳 A0, A1, A2, A3, A4, A5返回值: 0-1024 (10位精度)動(dòng)手通過讀取電位器的值來控制LED燈的亮度300度 旋轉(zhuǎn)角度傳感器多圈 旋轉(zhuǎn)角度傳感器 60行程 滑動(dòng)電位器 推子游戲桿 控制桿 JOYSTICK模擬溫度傳感器光線傳感器聲音傳感器SHARP 紅外距離傳感器30cm, 80cm, 150cm, 5.5m三軸 加速度傳感器FLEXIFORCE壓力傳感器1 lb, 25 lb, 100 lbFSR系列壓力傳感器壓力壓力1-10kG1-10kG尺寸和外形不
5、同尺寸和外形不同彎曲傳感器單向,雙向單向,雙向拉伸 傳感器4 inch, 6 inch動(dòng)手實(shí)驗(yàn)各種模擬傳感器對(duì)RGB LED進(jìn)行控制分享串口通信串口通信(Serial Communication)是Arduino和計(jì)算機(jī)間按位進(jìn)行數(shù)據(jù)傳輸?shù)囊环N最基本的方式。使用3根線完成 地線,GND 發(fā)送,Tx 接收 ,Rx主要參數(shù) 波特率:通信速度,表示每秒鐘傳送的位(bit)的個(gè)數(shù) 數(shù)據(jù)位 停止位 奇偶校驗(yàn)位ARDUINO 串口USB轉(zhuǎn)串口 PC端:串口 Arduino端:USB串口引腳 RX:Pin 0 TX:Pin 1串口數(shù)目 Arduino MEGA和Arduino 2560:4個(gè) 其余:1個(gè)串口
6、初始化函數(shù) Serial.begin(speed) speed: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200 通常在 setup() 函數(shù)里調(diào)用ARDUINO 串口輸出將數(shù)據(jù)從Arduino傳輸?shù)絇C TX 串口轉(zhuǎn)USB PC端軟件串口監(jiān)視軟件 Arduino IDE自帶串口監(jiān)視軟件 也可以用其它軟件進(jìn)行接收:Flash, Processing, Director, vvvv等串口輸出函數(shù) Serial.print(val), Serial.println(val) 輸出ASCII碼(后者多一個(gè)回
7、車換行) Serial.print(val, format) , Serial.println(val, format) 按指定格式輸出(后者多一個(gè)回車換行)SERIAL.PRINT(VAL) 實(shí)例Serial.print(78) 輸出78 Serial.print(1.23456) 輸出1.23 Serial.print(byte(78) 輸出“N” (N的ASCII碼值為78))Serial.print(N) 輸出N Serial.print(Hello world.) 輸出Hello world. SERIAL.PRINT(VAL, FORMAT) 實(shí)例Serial.print(78,
8、BYTE) 輸出N Serial.print(78, BIN) 輸出1001110 Serial.print(78, OCT) 輸出116 Serial.print(78, DEC) 輸出78 Serial.print(78, HEX) 輸出4E Serial.print(1.23456, 0) 輸出1 Serial.print(1.23456, 2) 輸出1.23 Serial.print(1.23456, 4) 輸出1.2346 動(dòng)手動(dòng)手嘗試輸出更多格式的數(shù)據(jù)到計(jì)算機(jī) Serial.print(78) Serial.print(1.23456) Serial.print(byte(78)
9、Serial.print(N) Serial.print(Hello world.) Serial.print(78, BYTE) Serial.print(78, BIN) Serial.print(78, DEC) Serial.print(78, HEX) Serial.print(1.23456, 2)串口液晶模塊波特率9600命令格式 所有對(duì)該液晶屏進(jìn)行控制的串口命令都以字符”$”開始,以回車換行”rn”結(jié)束,兩者之間是相應(yīng)的命令和參數(shù),不同的命令具有不同的參數(shù)。操作命令 光標(biāo)移動(dòng) :GO行列 行和列均從1開始 GO 1 1 在當(dāng)前光標(biāo)位置上顯示字符串 PRINT字符串 PRINT
10、Hello Arduino 清屏:CLEAR 將光標(biāo)移回到屏幕左上角的初始位置:HOME 設(shè)置光標(biāo)效果:CURSOR顯示閃爍 第一個(gè)參數(shù)為是否顯示光標(biāo)(1和0) 第二個(gè)參數(shù)為是否閃爍(1和0) CURSOR 1 1一個(gè)完整命令的例子 Serial.print($PRINT Flamingo EDArn); Serial.println($PRINT Flamingo EDA); 動(dòng)手要求:清屏后在屏幕上的第二行第二列開始顯示字符串Arduino Club提示 在loop的最后加delay防止閃爍 在下載代碼的時(shí)候不能接顯示屏ARDUINO 串口輸入串口隊(duì)列(Buffer) PC和Arduino
11、間的緩沖區(qū)串口輸入函數(shù) Serial.available() 返回值:當(dāng)前可讀的數(shù)據(jù)數(shù)目 Serial.read() 如果串口沒有數(shù)據(jù)可讀,返回 -1 如果串口有數(shù)據(jù)可讀,返回第一個(gè)字符,并從串口隊(duì)列中取出 Serial.peek() 如果串口沒有數(shù)據(jù)可讀,返回-1 如果串口有數(shù)據(jù)可讀,返回第一個(gè)字符,但不從串口隊(duì)列取出,因此下次還能讀到 Serial.flush() 清空串口隊(duì)列動(dòng)手作業(yè)從串口輸入以$開始,以回車換行(rn)的命令,對(duì)其進(jìn)行解析,控制指定數(shù)字I/O引腳上的LED,第一個(gè)參數(shù)為引腳號(hào),第二個(gè)參數(shù)為亮滅$D 2 1rn$D 3 0rn控制指定PWM端口上的LED亮度第一個(gè)參數(shù)為引
12、腳號(hào),第二個(gè)參數(shù)為亮度值$P 6 128rn基于串口的電子積木(一)串行液晶顯示屏串行液晶顯示屏 字符型字符型 1602 LCD 1602 LCD USBUSB轉(zhuǎn)串口適配器轉(zhuǎn)串口適配器 RS485RS485串口模塊串口模塊 MAX232 MAX232 串口模塊串口模塊 無線數(shù)據(jù)傳輸模塊無線數(shù)據(jù)傳輸模塊 APC220 APC220 藍(lán)牙串口模塊藍(lán)牙串口模塊基于串口的電子積木(二)串口串口RFIDRFID模塊模塊 10cm 10cm 串口串口RFIDRFID模塊模塊 6cm 6cm XBee USB XBee USB 適配器適配器 直流電機(jī)將電能轉(zhuǎn)換為機(jī)械能的一種裝置兩個(gè)電源接頭在適當(dāng)?shù)碾妷合陆o予
13、足夠的電流時(shí)將連續(xù)旋轉(zhuǎn),旋轉(zhuǎn)方向由電流方向決定普通直流電機(jī)轉(zhuǎn)速高力矩小,適用于對(duì)力矩要求小的場合直流減速電機(jī)直流減速電機(jī)(齒輪減速電機(jī))是在普通直流電機(jī)的基礎(chǔ)上,加上配套齒輪減速箱。齒輪減速箱可以提供較低的轉(zhuǎn)速和較大的力矩,不同的減速比可以提供不同的轉(zhuǎn)速和力矩常用參數(shù)工作電壓(額定電壓) 驅(qū)動(dòng)電機(jī)推薦使用的電壓 高于或者低于工作電壓時(shí)電機(jī)也能工作 實(shí)際電壓 額定電壓,會(huì)影響電機(jī)的壽命工作電流 電機(jī)工作電流越大,輸出功率越大 空載運(yùn)行時(shí),電機(jī)的電流最?。蛰d電流) 負(fù)載增大到使電機(jī)停止轉(zhuǎn)動(dòng)時(shí)(堵轉(zhuǎn)電流)轉(zhuǎn)矩 電機(jī)的轉(zhuǎn)動(dòng)力轉(zhuǎn)速 每分鐘旋轉(zhuǎn)的圈數(shù)(轉(zhuǎn)/分,RPM)注意!電機(jī)屬于大電流設(shè)備,無法用Ar
14、duino引腳直接控制區(qū)別于LED電機(jī)電壓高于Arduino的工作電壓,注意隔離和接線出錯(cuò)可能導(dǎo)致Arduino燒毀電機(jī)在不通電的情況下旋轉(zhuǎn)將產(chǎn)生逆電流(逆電壓)發(fā)電機(jī)的工作原理逆電流的方向與電機(jī)工作電流的方向相反逆電流會(huì)造成電子設(shè)備的損壞動(dòng)手觀察逆電壓手工發(fā)電機(jī)基本控制電路用三極管或者M(jìn)OS管驅(qū)動(dòng)電機(jī)動(dòng)手用Arduino控制電機(jī)的轉(zhuǎn)動(dòng)代碼與LED燈控制代碼相同電機(jī)速度控制復(fù)習(xí)PWM高速地開關(guān)三極管來實(shí)現(xiàn)對(duì)電機(jī)的控制占空比(打開時(shí)間:關(guān)閉時(shí)間)決定了輸出給電機(jī)的能量份額Arduino的analogWrite函數(shù)用來產(chǎn)生PWM信號(hào)動(dòng)手用Arduino控制電機(jī)轉(zhuǎn)動(dòng)的速度如何讓速度變化更容易觀察到?
15、H橋式驅(qū)動(dòng)電路4個(gè)三極管控制一個(gè)直流電機(jī)只讓對(duì)角線上的一對(duì)三極管導(dǎo)通 否則會(huì)短路,燒壞三極管能同時(shí)控制速度和方向電機(jī)驅(qū)動(dòng)芯片L293D包含兩個(gè)H橋式驅(qū)動(dòng)電路,可以用來驅(qū)動(dòng)兩個(gè)直流電機(jī)電機(jī)電機(jī)使能引腳使能引腳方向方向A A方向方向B B電機(jī)電源電機(jī)電源Arduino 5VArduino 5V電機(jī)電源和電機(jī)電源和Arduino Arduino 需要共地需要共地! !ARDUINO控制L293D速度控制使用Arduino模擬輸出引腳將產(chǎn)生的PWM信號(hào)連接到L293D的使能引腳方向控制使用Arduino的數(shù)字輸出引腳將產(chǎn)生的數(shù)字信號(hào)連接到L293D的A、B兩個(gè)方向引腳正轉(zhuǎn):A為高,B為低反轉(zhuǎn):A為低,
16、B為高制動(dòng):A、B同時(shí)為高或者低動(dòng)手用L293D控制電機(jī)ARDUINO電機(jī)驅(qū)動(dòng)擴(kuò)展板基于L298N,工作原理與L293D一樣提供更大工作電流,可以驅(qū)動(dòng)大的直線電機(jī)逆電壓消除電路步進(jìn)電機(jī)一種可以精確控制的交流電機(jī)由驅(qū)動(dòng)脈沖控制,每個(gè)脈沖讓電機(jī)前進(jìn)一個(gè)固定的角度(步進(jìn)角)電機(jī)速度由單位時(shí)間內(nèi)脈沖的個(gè)數(shù)決定(脈沖頻率)功率小,負(fù)載能力低,控制相對(duì)復(fù)雜雙極性步進(jìn)電機(jī)每個(gè)線圈都可以兩個(gè)方向通電 四根引線,每個(gè)線圈兩條使用數(shù)字萬用表確定線圈分組某兩根引線之間能夠測量到阻值就屬于一組雙極性步進(jìn)電機(jī)的步距通常是1.8轉(zhuǎn)一圈需要200步工作原理步進(jìn)電機(jī)驅(qū)動(dòng)器需要不斷改變線圈中電流的方向 通過H橋式驅(qū)動(dòng)電路完成步
17、進(jìn)電機(jī)驅(qū)動(dòng)模塊EasyDriver 方向方向步進(jìn)脈沖步進(jìn)脈沖地地電機(jī)電源電機(jī)電源地地線圈線圈A A線圈線圈B B電機(jī)電源和電機(jī)電源和Arduino Arduino 需要共地需要共地! !ARDUINO控制EASYDRIVER方向控制使用Arduino的數(shù)字輸出引腳速度控制使用Arduino的數(shù)字輸出引腳產(chǎn)生脈沖信號(hào)動(dòng)手用EasyDriver驅(qū)動(dòng)雙極性步進(jìn)電機(jī)升降速曲線步進(jìn)電機(jī)在拖動(dòng)負(fù)載高速移動(dòng)一定距離并精確定位時(shí)一般來說都應(yīng)包括五個(gè)階段 啟動(dòng) 加速 高速運(yùn)行(勻速) 減速 停止不同階段的脈沖頻率應(yīng)不同舵機(jī)舵機(jī)也叫伺服電機(jī)(Servo),工作電壓一般4.6 7.2V由直流電機(jī)、減速齒輪組、傳感器
18、和控制電路組成 主要應(yīng)用在定位控制上舵機(jī)接口標(biāo)準(zhǔn)三線接口電源線地線控制線控制信號(hào)舵機(jī)的控制信號(hào)也是一種PWM信號(hào)脈沖周期20毫秒脈沖高電平持續(xù)1毫秒(1000微秒)到2毫秒(2000微秒)用來控制的脈沖信號(hào)必須持續(xù)產(chǎn)生,否則很難穩(wěn)定注意!舵機(jī)對(duì)控制脈沖高電平的寬度非常敏感 抖動(dòng):控制信號(hào)每個(gè)脈沖的高電平寬度不穩(wěn)定兩個(gè)控制脈沖的間隔時(shí)間不太敏感 只要在可以接受的范圍內(nèi)都可以(14ms到20ms)只有機(jī)械約束,沒有電路約束 控制脈沖寬度大于920us或者2120us,對(duì)電機(jī)壽命會(huì)有影響 驅(qū)動(dòng)電機(jī)到達(dá)物理上不可能到達(dá)的位置千萬不能接反電源 大部分舵機(jī)都可能會(huì)燒毀通過實(shí)驗(yàn)來找出電機(jī)的運(yùn)動(dòng)范圍 大部分舵
19、機(jī)的運(yùn)動(dòng)區(qū)間都在150度左右ARDUINO如何控制舵機(jī)ServoServo庫庫servo.attach(pin)在指定的引腳上連接舵機(jī)servo.write(anlog)將舵機(jī)旋轉(zhuǎn)到指定的角度位置servo.writeMicroseconds(us)生成指定寬度(微秒)的控制脈沖動(dòng)手利用Arduino為舵機(jī)找到中心位置以中心位置左右擺動(dòng)ARDUINO如何與外界溝通PinCOMSPIIICCOM COM RX/TXRX/TX(0,1)(0,1)SPI SPI SCK,MISO,MOSI,SSSCK,MISO,MOSI,SS(13,12,11,10)(13,12,11,10)I2C I2C SDA
20、/SCLSDA/SCL(A4,A5)(A4,A5)RF遙控?zé)o線射頻(Radio Frequency)在空氣中傳播的電磁波主要包括無線收/發(fā)機(jī)發(fā)射模塊接收模塊應(yīng)用場景車輛/家庭防盜遙控玩具4路RF模塊無線發(fā)射模塊對(duì)應(yīng)于數(shù)字輸出(無線發(fā)射模塊對(duì)應(yīng)于數(shù)字輸出(Digital OutDigital Out) 將相應(yīng)引腳設(shè)置成高,發(fā)出數(shù)據(jù)無線接收模塊對(duì)應(yīng)于數(shù)字輸入(無線接收模塊對(duì)應(yīng)于數(shù)字輸入(Digital InDigital In) 若相應(yīng)引腳讀出為高,接收數(shù)據(jù)一共一共4 4個(gè)通道:個(gè)通道:C1C1、C2C2、 C3C3、 C4C4無線發(fā)射模塊無線發(fā)射模塊無線接收模塊無線接收模塊動(dòng)手兩臺(tái)Arduino一組發(fā)射組RF發(fā)射模塊一個(gè)按鈕模塊一個(gè)接收線RF接收模塊一個(gè)LED模塊一個(gè)目標(biāo)通
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《園林樹木》課程標(biāo)準(zhǔn)
- 2BizBoxERP用戶基礎(chǔ)手冊
- 三角形的翻折課件
- 第1單元 古代亞非文明(高頻選擇題50題)(原卷版)
- 2024年農(nóng)業(yè)和農(nóng)村檔案工作總結(jié)
- 七年級(jí)下《保護(hù)野生動(dòng)物》蘇教版-課件
- 農(nóng)業(yè)科創(chuàng):研發(fā)力量展示
- 機(jī)場服務(wù)行業(yè)銷售工作總結(jié)
- 資金借貸合同個(gè)人醫(yī)療保健費(fèi)用貸款支出租賃保險(xiǎn)三篇
- 初一生物教學(xué)工作總結(jié)實(shí)踐探索培養(yǎng)動(dòng)手能力
- 員工月度績效考核管理辦法
- 2023年云南保山電力股份有限公司招聘筆試題庫及答案解析
- GB/T 41904-2022信息技術(shù)自動(dòng)化基礎(chǔ)設(shè)施管理(AIM)系統(tǒng)要求、數(shù)據(jù)交換及應(yīng)用
- GB/T 41908-2022人類糞便樣本采集與處理
- GB/T 3745.1-1983卡套式三通管接頭
- GB/T 26003-2010無負(fù)壓管網(wǎng)增壓穩(wěn)流給水設(shè)備
- 信息系統(tǒng)運(yùn)維服務(wù)方案
- 簡支梁、懸臂梁撓度計(jì)算程序(自動(dòng)版)
- DB44∕T 2149-2018 森林資源規(guī)劃設(shè)計(jì)調(diào)查技術(shù)規(guī)程
- 統(tǒng)編版小學(xué)四年級(jí)語文上冊五六單元測試卷(附答案)
- 商票保貼協(xié)議
評(píng)論
0/150
提交評(píng)論