《單片機(jī)基礎(chǔ)與Arduino應(yīng)用(第2版)》全套教學(xué)課件_第1頁(yè)
《單片機(jī)基礎(chǔ)與Arduino應(yīng)用(第2版)》全套教學(xué)課件_第2頁(yè)
《單片機(jī)基礎(chǔ)與Arduino應(yīng)用(第2版)》全套教學(xué)課件_第3頁(yè)
《單片機(jī)基礎(chǔ)與Arduino應(yīng)用(第2版)》全套教學(xué)課件_第4頁(yè)
《單片機(jī)基礎(chǔ)與Arduino應(yīng)用(第2版)》全套教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩350頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

單片機(jī)基礎(chǔ)全套可編輯PPT課件

單片機(jī)基礎(chǔ)本課件是可編輯的正常PPT課件單片機(jī)基礎(chǔ)Arduino單片機(jī)創(chuàng)新作品本課件是可編輯的正常PPT課件Blink閃燈單片機(jī)基礎(chǔ)函數(shù)控制IO口定時(shí)器中斷串口SPIIIC本課件是可編輯的正常PPT課件Arduino模塊編程應(yīng)用-幫助同學(xué)快速入門(mén),以經(jīng)典系統(tǒng)構(gòu)建為例,初步建立系統(tǒng)設(shè)計(jì)和創(chuàng)新能力。單片機(jī)結(jié)構(gòu)與運(yùn)行機(jī)制-幫助同學(xué)建立程序與硬件、C語(yǔ)言與單片機(jī)的關(guān)系,培養(yǎng)系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)能力。單片機(jī)基礎(chǔ)本課件是可編輯的正常PPT課件51單片機(jī)點(diǎn)亮發(fā)光二極管單片機(jī)基礎(chǔ)本課件是可編輯的正常PPT課件單片機(jī)基礎(chǔ)本課件是可編輯的正常PPT課件單片機(jī)基礎(chǔ)本課件是可編輯的正常PPT課件Arduino之入門(mén)Arduino之入門(mén)Arduino是什么?硬件標(biāo)準(zhǔn)化、軟件代碼開(kāi)源的單片機(jī)模塊在藝術(shù)創(chuàng)作、業(yè)余愛(ài)好者、創(chuàng)客群體等領(lǐng)域應(yīng)用廣泛本課件是可編輯的正常PPT課件Arduino之入門(mén)Arduino的誕生這個(gè)最經(jīng)典的開(kāi)源硬件項(xiàng)目,誕生于意大利的一間設(shè)計(jì)學(xué)校幾乎任何人,即使不懂電腦編程,也能用Arduino做出很酷的東西,比如對(duì)感測(cè)器作出回應(yīng),閃爍燈光,還能控制馬達(dá)G.Martino,ItalyD.Molis,ItalyD.Cuartielles,SpainT.Igoo,USAM.Banzi,Italy本課件是可編輯的正常PPT課件Arduino之入門(mén)Arduino的優(yōu)勢(shì)成熟的生態(tài)圈:Arduino中文社區(qū)供討論硬件標(biāo)準(zhǔn)化:設(shè)計(jì)規(guī)范,有完整的手冊(cè)支持,做工精湛軟件代碼開(kāi)源:文檔齊全,寫(xiě)法規(guī)范,范例程序易上手本課件是可編輯的正常PPT課件Arduino之入門(mén)接口標(biāo)準(zhǔn)化開(kāi)源硬件模塊Arduino硬件平臺(tái)軟件工具本課件是可編輯的正常PPT課件Arduino之入門(mén)ArduinoUNO組成LED復(fù)位按鍵本課件是可編輯的正常PPT課件Arduino之入門(mén)Arduino常用產(chǎn)品ArduinoUNOR3ArduinoMega2560ArduinoNano詳見(jiàn)https://www.arduino.cc/en/Main/Products本課件是可編輯的正常PPT課件Arduino之入門(mén)硬件Arduino實(shí)驗(yàn)板與下載線LED燈杜邦線330歐姆電阻面包板本課件是可編輯的正常PPT課件Arduino之入門(mén)軟件:ArduinoIDE打開(kāi)網(wǎng)頁(yè)輸入網(wǎng)址:http://arduino.cc/en/Main/Software進(jìn)入頁(yè)面,如下圖所示本課件是可編輯的正常PPT課件Arduino之入門(mén)ArduinoIDE先簡(jiǎn)單認(rèn)識(shí)看一下Arduino的這個(gè)編譯器界面本課件是可編輯的正常PPT課件Arduino之入門(mén)Arduino開(kāi)發(fā)USB連接ArduinoUNO和計(jì)算機(jī)在IDE中編寫(xiě)程序點(diǎn)擊編譯程序生成可執(zhí)行文件Arduino加載可執(zhí)行文件加載完成后,Arduino即可運(yùn)行本課件是可編輯的正常PPT課件Arduino之IO口Arduino之IO口使用數(shù)字I/O的13號(hào)引腳控制LED亮滅。輸出高電平點(diǎn)亮,輸出低電平熄滅LED燈Blink實(shí)驗(yàn)單片機(jī)驅(qū)動(dòng)發(fā)光二極管本課件是可編輯的正常PPT課件發(fā)光二極管工作原理二極管具有單向?qū)щ娦訟rduino之IO口N型電子與P型空穴碰撞,產(chǎn)生光子光子發(fā)出能量,形成光本課件是可編輯的正常PPT課件發(fā)光二極管工作原理直插式:短腳為負(fù)級(jí)貼片式:綠點(diǎn)標(biāo)志為負(fù)極Arduino之IO口本課件是可編輯的正常PPT課件發(fā)光二極管節(jié)壓降與額定電流Arduino之IO口導(dǎo)通電壓:2.0-2.2V額定電流:20mA導(dǎo)通電壓:1.8-2.0V額定電流:20mA導(dǎo)通電壓:3.0-3.2V額定電流:20mA導(dǎo)通電壓1.82-1.88V1.75-1.82V1.7-1.8V3.1-3.3V3.0-3.2V額定電流5-8mA3-5mA3-5mA8-10mA10-15mA本課件是可編輯的正常PPT課件Arduino之IO口本課件是可編輯的正常PPT課件LED工作原理

Arduino之IO口LED工作原理高發(fā)光低不發(fā)光高不發(fā)光低發(fā)光灌入電流本課件是可編輯的正常PPT課件Arduino之IO口本課件是可編輯的正常PPT課件數(shù)字I/O的常用函數(shù):pinMode(pin,MODE)指定引腳的輸出模式MODE為指定引腳的輸出模式INPUT(輸入),INPUT_PULLUP(輸入帶內(nèi)部上拉電阻)OUTPUT(輸出模式)digitalWrite(pin,value)指定引腳的輸出電平value為輸出電壓HIGH或LOWdigitalRead(pin)讀取指定引腳的邏輯電平返回值為輸入電壓HIGH或LOWArduino之IO口程序說(shuō)明Arduino程序結(jié)構(gòu)包含兩部分:setup()函數(shù)和loop()函數(shù)先執(zhí)行這里的內(nèi)容再循環(huán)執(zhí)行這里的內(nèi)容本課件是可編輯的正常PPT課件Arduino之IO口Blink實(shí)驗(yàn)連接硬件程序內(nèi)容本課件是可編輯的正常PPT課件Arduino之IO口點(diǎn)擊編譯點(diǎn)擊上傳板子連接電腦后點(diǎn)擊上傳,將程序燒錄到板子中本課件是可編輯的正常PPT課件單片機(jī)基礎(chǔ)定時(shí)器概念定時(shí)器和計(jì)數(shù)器物理器件相同*計(jì)數(shù)器(Counter)記錄外部脈沖定時(shí)器(Timer)記錄內(nèi)部晶振兩者本質(zhì)上都是“數(shù)脈沖”計(jì)數(shù)器數(shù)門(mén)控信號(hào)范圍內(nèi)外部引腳脈沖的個(gè)數(shù)定時(shí)器通過(guò)內(nèi)部晶振計(jì)數(shù)脈沖的個(gè)數(shù)(N),定義了的單片機(jī)中的“時(shí)間”概念單片機(jī)之定時(shí)器*兩者本質(zhì)上是同一物理器件的兩種工作狀態(tài),為防止混淆,統(tǒng)稱物理器件位定時(shí)器T0/T1N個(gè)脈沖本課件是可編輯的正常PPT課件

單片機(jī)之定時(shí)器N個(gè)脈沖內(nèi)部晶振CLK本課件是可編輯的正常PPT課件工作原理(計(jì)數(shù)器)累加計(jì)數(shù)器記錄計(jì)數(shù)脈沖(定時(shí)器)個(gè)數(shù)N僅在門(mén)控信號(hào)為1時(shí)工作單片機(jī)之定時(shí)器外部引腳Px.x門(mén)控信號(hào)TRx溢出位TFxN=2本課件是可編輯的正常PPT課件組成定時(shí)器(T0/T1)各由2個(gè)8位特殊功能寄存器組成(TH0/TH1/TL0/TL1)工作方式寄存器TMOD:用于設(shè)置工作模式和工作方式控制寄存器TCON,用于啟動(dòng)和停止定時(shí)器計(jì)數(shù),并控制其狀態(tài)寄存器THx/TLx,用于存儲(chǔ)計(jì)數(shù)值單片機(jī)之定時(shí)器*THx/TLx/TCON/TMOD都通過(guò)總線與CPU相連*當(dāng)單片機(jī)復(fù)位時(shí)候,TMOD/TCON內(nèi)的值都被清零本課件是可編輯的正常PPT課件

設(shè)定定時(shí)器流程1.對(duì)TMOD賦值以確定定時(shí)器的工作模式(定時(shí)器/計(jì)數(shù)器)2.對(duì)TMOD賦值以確定定時(shí)器的工作方式3.置定時(shí)器的初值,直接將其寫(xiě)入THx/TLx4.對(duì)TCON寄存器中的TRx進(jìn)行置位,啟動(dòng)定時(shí)器/計(jì)數(shù)器完成以上步驟之后,定時(shí)/計(jì)數(shù)器將按照規(guī)定的工作模式與初值進(jìn)行計(jì)數(shù)/開(kāi)始定時(shí)單片機(jī)之定時(shí)器Value+2Value+N本課件是可編輯的正常PPT課件

單片機(jī)之定時(shí)器…Init初值Max最大值每個(gè)時(shí)鐘周期增加1t觸發(fā)中斷定時(shí)時(shí)間t本課件是可編輯的正常PPT課件

單片機(jī)之定時(shí)器本課件是可編輯的正常PPT課件如何確定定時(shí)器以何種方式工作?改變工作方式寄存器TMOD四種工作方式

方式0(M1=0,M0=0):13位定時(shí)器(TH8位TL低5位)方式1(M1=0,M0=1):16位定時(shí)器方式2(M1=1,M0=0):自動(dòng)重裝入初值的8位計(jì)數(shù)器方式3(M1=1,M0=1):(T0)分成兩個(gè)獨(dú)立的8位定時(shí)器;(T1)停止工作單片機(jī)之定時(shí)器M1/M0控制TH/TL的計(jì)數(shù)方式本課件是可編輯的正常PPT課件如何啟動(dòng)定時(shí)器?確定用什么信號(hào)來(lái)啟動(dòng)計(jì)數(shù)器(門(mén)控信號(hào))

門(mén)控由TMOD寄存器中的GATE位(D7/D3)確定GATE=0,用TCON中運(yùn)行控制位TRx來(lái)控制定時(shí)器的啟動(dòng)與否GATE=1,用外部中斷引腳INTx來(lái)控制定時(shí)器的啟動(dòng)與否單片機(jī)之定時(shí)器本課件是可編輯的正常PPT課件定時(shí)器如何反饋?控制寄存器TCON:低4位與外部中斷有關(guān)計(jì)數(shù)溢出標(biāo)志位(TF1/TF0):當(dāng)定時(shí)器T0/T1溢出時(shí),硬件自動(dòng)將此位置1TFx可以由程序查詢,也是定時(shí)中斷的請(qǐng)求源計(jì)數(shù)運(yùn)行控制位(TR1/TR0):置1表示工作,置0表示停止數(shù)據(jù)寄存器THx/TLxTH0存放了定時(shí)器T0的初值或計(jì)數(shù)結(jié)果的高8位(TL0為低8位)TH1存放了定時(shí)器T1的初值或計(jì)數(shù)結(jié)果的高8位(TL1為低8位)單片機(jī)之定時(shí)器N=2本課件是可編輯的正常PPT課件例子讓引腳P1的LED燈每隔1s閃爍一次將TL0置初值0,將TR0置1以啟動(dòng)定時(shí)器將Timer0是否溢出作為事件發(fā)生的指示主頻為11.0592M,每65536個(gè)脈沖溢出產(chǎn)生一個(gè)溢出的時(shí)間是71.1ms,14個(gè)則約為1s每計(jì)算14個(gè)溢出,則翻轉(zhuǎn)P1口狀態(tài)。單片機(jī)之定時(shí)器本課件是可編輯的正常PPT課件Arduino之中斷中斷機(jī)制設(shè)一個(gè)鬧鐘,鬧鐘響了,CPU才去查看,這就是中斷機(jī)制Arduino之中斷本課件是可編輯的正常PPT課件中斷的原理Arduino之中斷本課件是可編輯的正常PPT課件Command1主程序中斷服務(wù)程序(ISR)Command2Command3Command4Command5閃燈閃燈保護(hù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)Arduino之中斷內(nèi)部中斷函數(shù)Timer1.initialize(Period)用于初始化定時(shí)器,配置定時(shí)周期,以微秒為單位調(diào)用后自動(dòng)啟動(dòng)定時(shí)器Timer1.attachInterrupt(timerIsr)設(shè)置中斷回調(diào)函數(shù)本課件是可編輯的正常PPT課件Arduino之中斷內(nèi)部中斷函數(shù)Timer1.setPeriod(Period)配置定時(shí)周期,以微秒為單位Timer1.start()/Timer1.stop()/Timer1.restart()/Timer1.read()啟動(dòng)/停止/重啟定時(shí)器/讀取定時(shí)器當(dāng)前值本課件是可編輯的正常PPT課件Arduino之中斷程序說(shuō)明程序內(nèi)容初始化定時(shí)器設(shè)置中斷回調(diào)函數(shù)回調(diào)函數(shù)本課件是可編輯的正常PPT課件單片機(jī)基礎(chǔ)Arduino之串口Arduino使用TTL邏輯電平高電平:5V或3.3V,低電平:0V。RS-232串口的使用滿足RS-232電氣標(biāo)準(zhǔn),即-15V到-3V之間為邏輯1,3V到15V之間為邏輯0。本課件是可編輯的正常PPT課件Arduino之串口Arduino串口通信時(shí)需要連接收、發(fā)、地三根線。本課件是可編輯的正常PPT課件Arduino之串口ArduinoUno開(kāi)發(fā)板的硬件串口位于RX(0)和TX(1)引腳,USB口通過(guò)轉(zhuǎn)換芯片與這兩個(gè)引腳連接。Arduino串口采用串行比特流方式發(fā)送數(shù)據(jù),每次發(fā)送一個(gè)比特的數(shù)據(jù)。本課件是可編輯的正常PPT課件Arduino之串口串口的常用函數(shù):Serial.begin(speed[,config])串口波特率定義函數(shù),用于開(kāi)啟串口、設(shè)置串口的速率、數(shù)據(jù)位數(shù)、奇偶校驗(yàn)、停止位等參數(shù)。通常置于setup()函數(shù)中。speed為波特率,一般取值9600,115200等。config取如下常量:SERIAL_8N1(缺省配置,8個(gè)數(shù)據(jù)位,無(wú)校驗(yàn)位,1個(gè)停止位)。本課件是可編輯的正常PPT課件Arduino之串口串口的常用函數(shù):Serial.available()返回緩沖區(qū)可讀字節(jié)數(shù)目。Serial.read()從串口緩存中讀取一個(gè)字節(jié)的數(shù)據(jù)。Serial.write(val)將數(shù)據(jù)以二進(jìn)制數(shù)據(jù)形式輸出。Serial.print(val)將數(shù)據(jù)以ASCII文本形式輸出。Serial.println(val)在函數(shù)Serial.print()的功能基礎(chǔ)之上輸出結(jié)束時(shí)跟上回車(chē)與換行。本課件是可編輯的正常PPT課件Arduino之串口實(shí)例:PC發(fā)送“R”,Arduino上傳“HelloWorld!”串口監(jiān)視器本課件是可編輯的正常PPT課件Arduino之串口發(fā)送接收本課件是可編輯的正常PPT課件Arduino之串口接收本課件是可編輯的正常PPT課件發(fā)送Arduino之串口本課件是可編輯的正常PPT課件Arduino之串口本課件是可編輯的正常PPT課件Arduino之串口—定時(shí)器中斷Blink實(shí)驗(yàn)程序說(shuō)明程序內(nèi)容本課件是可編輯的正常PPT課件Arduino的SPI通信串行通信異步模式—RS232同步模式—SPISPI傳輸速度快,不適合遠(yuǎn)距離傳輸本課件是可編輯的正常PPT課件SPI通信主從工作模式(MasterSlave)一個(gè)主機(jī)和一個(gè)或多個(gè)從機(jī)主機(jī)通過(guò)CS線選一個(gè)從機(jī)進(jìn)行通信未選擇的從機(jī)不會(huì)影響總線活動(dòng)本課件是可編輯的正常PPT課件SPI通信主從工作模式連接方式MOSI(MasterOutputSlaveInput)MISO(MasterInputSlaveOutput)SCLK(時(shí)鐘信號(hào))CS(從機(jī)選擇線)本課件是可編輯的正常PPT課件SPI通信工作過(guò)程本課件是可編輯的正常PPT課件SPI通信協(xié)議SPI時(shí)鐘控制SPI控制寄存器CPOL和CPHA,決定時(shí)鐘的4種工作模式CPOL時(shí)鐘極性CPOL=1,空閑時(shí)SCK為高電平CPOL=0,空閑時(shí)SCK為低電平CPHA時(shí)鐘相位CPHA=1,SCK偶數(shù)邊沿?cái)?shù)據(jù)采樣CPHA=0,SCK奇數(shù)邊沿?cái)?shù)據(jù)采樣本課件是可編輯的正常PPT課件Arduino中的SPI庫(kù)函數(shù)主機(jī)工作流程從機(jī)工作流程SPI.begin()SPI.setClockDivider(divider)SPI.setBitOrder(order)SPI.setDataMode(mode)digitalWrite(CS,LOW)SPI.transfer(val)/

SPI.transfer16(val16)SPCR|=_BV(SPE)SPI.attachInterrupt()本課件是可編輯的正常PPT課件Arduino中的SPI庫(kù)函數(shù)SPI庫(kù)函數(shù)SPI.begin()初始化SPI總線的參數(shù)將SCLK和MOSI初始化為低電平,CS初始化為高電平。SPI.setClockDivider(divider)指定SCLK時(shí)鐘信號(hào)的頻率,SCLK時(shí)鐘信號(hào)的頻率為系統(tǒng)時(shí)鐘頻率除以分頻系數(shù)。分頻系數(shù)可以為2,4,8,16,32,64,128divider默認(rèn)設(shè)置為SPI_CLOCK_DIV4,即4分頻.SPI.setBitOrder(order)設(shè)置SPI的字節(jié)傳輸順序order:MSBFIRST(從高位到低位發(fā)送),LSBFIRST(從低位到高位發(fā)送)本課件是可編輯的正常PPT課件Arduino中的SPI庫(kù)函數(shù)SPI庫(kù)函數(shù)SPI.setDataMode(mode)設(shè)置SPI的工作模式mode:SPI_MODE0,SPI_MODE1,SPI_MODE2,SPI_MODE3SPI.transfer(val)/SPI.transfer16(val16)val:要傳輸?shù)淖止?jié)數(shù)據(jù)SPI.transfer()函數(shù)一次通信傳輸一個(gè)字節(jié)數(shù)據(jù)SPI.transfer16()函數(shù)一次通信傳輸兩個(gè)字節(jié)數(shù)據(jù)本課件是可編輯的正常PPT課件Arduino之按鍵Arduino之按鍵一個(gè)簡(jiǎn)單的按鍵電路通過(guò)IO口操作的函數(shù):pinMode(pin,MODE)、digitalWrite(pin)、digitalRead(pin),通過(guò)digitalRead(pin),Arduino即可得到按鍵的狀態(tài)。第一種按鍵電路第二種按鍵電路按下01松開(kāi)10本課件是可編輯的正常PPT課件Arduino之按鍵示波器觀察抖動(dòng)我們用示波器看一下按鍵按下去,在IO口電平的變化:用示波器觀察實(shí)際波形理想按鍵波形實(shí)際按鍵波形<10ms本課件是可編輯的正常PPT課件Arduino之按鍵硬件去抖和軟件去抖硬件去抖:用電容搭建濾波器。軟件去抖:首先讀取按鍵狀態(tài),當(dāng)檢測(cè)到按鍵摁下后,等待10ms,再次讀取按鍵狀態(tài),若此時(shí)仍然是摁下?tīng)顟B(tài),則說(shuō)明是按鍵摁下了。否則,即為抖動(dòng)。<10ms本課件是可編輯的正常PPT課件Arduino之按鍵本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)Arduino之矩陣鍵盤(pán)矩陣鍵盤(pán)結(jié)構(gòu)3X4鍵盤(pán)內(nèi)部線路內(nèi)部線路4X4鍵盤(pán)本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)掃描法本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)掃描法00001111本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)掃描法00000111本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)掃描法01110111本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)掃描法01111011本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)掃描法01111111本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)掃描法10111111本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)掃描法11011111本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)掃描法11101111本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)反轉(zhuǎn)法00001111本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)反轉(zhuǎn)法00000111本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)反轉(zhuǎn)法01110000本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)安裝庫(kù)文件Keypad.h為了確定按下了哪個(gè)鍵,我們需要連續(xù)掃描行和列。幸運(yùn)的是,庫(kù)文件Keypad.h的編寫(xiě)減少了這種不必要的復(fù)雜性。矩陣鍵盤(pán)所需庫(kù)文件Keypad.h在ArduinoIDE1.8.0或者以上版本中,項(xiàng)目->加載庫(kù)->管理庫(kù)中搜索Keypad,然后安裝即可。本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)安裝庫(kù)文件Keypad.h本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)硬件準(zhǔn)備4x4矩陣鍵盤(pán)Uno開(kāi)發(fā)板USB數(shù)據(jù)線杜邦線硬件準(zhǔn)備本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)電路連接Keypad正面從左到右pin為1-8,對(duì)應(yīng):KeypadPin1–>ArduinoPin9KeypadPin2–>ArduinoPin8KeypadPin3–>ArduinoPin7KeypadPin4–>ArduinoPin6KeypadPin5–>ArduinoPin5KeypadPin6–>ArduinoPin4KeypadPin7–>ArduinoPin3KeypadPin8–>ArduinoPin2電路連接本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)程序說(shuō)明在本次實(shí)驗(yàn)中,我們調(diào)用函數(shù)Keypad(makeKeymap(keys),rowPins

,colPins,ROWS,COLS),函數(shù)中五個(gè)參數(shù)說(shuō)明如下:然后,我們采用ROWS、COLS兩個(gè)參數(shù)來(lái)

定義要使用的鍵盤(pán)上的行數(shù)和列數(shù)。constbyteROWS=4;//四行constbyteCOLS=4;//四列接著,我們采用rowPins、colPins兩個(gè)參數(shù)來(lái)定義Arduino引腳與鍵盤(pán)引腳的連接方式

byterowPins[ROWS]={9,8,7,6};//連接到矩陣鍵盤(pán)的行引腳 bytecolPins[COLS]={5,4,3,2};//連接到矩陣鍵盤(pán)的列引腳本課件是可編輯的正常PPT課件Arduino之矩陣鍵盤(pán)程序說(shuō)明首先,參數(shù)makeKeymap(keys)用于將鍵盤(pán)上的第幾行第幾列,

映射為有意義的字符: charkeys[ROWS][COLS]={ {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} };定義所有字符后,我們可以發(fā)出一個(gè)簡(jiǎn)單的命令getKey()來(lái)檢查按下了哪個(gè)鍵。本課件是可編輯的正常PPT課件Arduino之?dāng)?shù)碼管Arduino之?dāng)?shù)碼管數(shù)碼管數(shù)碼管是最常用的一種顯示方法,由數(shù)個(gè)LED燈組成“8”字型數(shù)碼管本課件是可編輯的正常PPT課件Arduino之?dāng)?shù)碼管8段數(shù)碼管結(jié)構(gòu)分類(lèi)共陽(yáng)極數(shù)碼管共陰極數(shù)碼管本課件是可編輯的正常PPT課件Arduino之?dāng)?shù)碼管8段數(shù)碼管顯示共陽(yáng)極本課件是可編輯的正常PPT課件Arduino之?dāng)?shù)碼管電路連接本課件是可編輯的正常PPT課件Arduino之?dāng)?shù)碼管代碼編寫(xiě)本課件是可編輯的正常PPT課件Arduino之?dāng)?shù)碼管Arduino之?dāng)?shù)碼管如何控制多位數(shù)碼管?靜態(tài)顯示動(dòng)態(tài)顯示所需IO口數(shù)目:所需IO口數(shù)目:本課件是可編輯的正常PPT課件Arduino之?dāng)?shù)碼管動(dòng)態(tài)顯示循環(huán)交替點(diǎn)亮多個(gè)數(shù)碼管,往復(fù)刷新本課件是可編輯的正常PPT課件Arduino之?dāng)?shù)碼管動(dòng)態(tài)顯示的機(jī)理亮度時(shí)間電源斷開(kāi)“余暉效應(yīng)”示意圖“視覺(jué)暫留”示意圖1~10ms40ms數(shù)碼管掃描周期應(yīng)小于10ms,每個(gè)數(shù)碼管通電時(shí)間應(yīng)大于1ms本課件是可編輯的正常PPT課件Arduino之?dāng)?shù)碼管動(dòng)態(tài)顯示的實(shí)現(xiàn)電路圖使用分立多個(gè)數(shù)碼管使用集成多位數(shù)碼管本課件是可編輯的正常PPT課件Arduino之?dāng)?shù)碼管動(dòng)態(tài)顯示的實(shí)現(xiàn)邏輯實(shí)現(xiàn)選通高位顯示1顯示2選通低位本課件是可編輯的正常PPT課件Arduino之?dāng)?shù)碼管動(dòng)態(tài)顯示的優(yōu)勢(shì)動(dòng)態(tài)顯示可以極大節(jié)省IO口占用,但亮度相對(duì)較低段選復(fù)用位選選擇動(dòng)態(tài)顯示IO口占用數(shù)目IO口占用數(shù)目段選靜態(tài)顯示本課件是可編輯的正常PPT課件Arduino之?dāng)?shù)碼管動(dòng)態(tài)顯示的實(shí)現(xiàn)實(shí)驗(yàn)現(xiàn)象(放實(shí)驗(yàn)結(jié)果錄像)本課件是可編輯的正常PPT課件Arduino之旋鈕Arduino之旋鈕旋鈕旋鈕電位器旋轉(zhuǎn)編碼器旋鈕電位器旋轉(zhuǎn)編碼器本課件是可編輯的正常PPT課件Arduino之旋鈕旋鈕電位器的引腳電位器(滑動(dòng)變阻器)旋鈕電阻體動(dòng)觸點(diǎn)電位器等效電路R1R2本課件是可編輯的正常PPT課件Arduino之旋鈕ArduinoUno引腳電位器引腳5VVCCGNDGNDA0OUT

電位器的接線方式本課件是可編輯的正常PPT課件Arduino之旋鈕本課件是可編輯的正常PPT課件旋轉(zhuǎn)編碼器旋轉(zhuǎn)編碼器電路原理Arduino之旋鈕ArduinoUno引腳旋轉(zhuǎn)編碼器引腳5VVCCGNDGNDD2CLK(Clock時(shí)鐘)D3DT(Data數(shù)據(jù))D4SW

(按鈕開(kāi)關(guān))

旋轉(zhuǎn)編碼器的接線方式本課件是可編輯的正常PPT課件Arduino之旋鈕代碼-讀取旋轉(zhuǎn)編碼器定義連接引腳啟動(dòng)串口通訊當(dāng)前的旋轉(zhuǎn)編碼器讀數(shù)>先前數(shù)據(jù)→CW。當(dāng)前的旋轉(zhuǎn)編碼器讀數(shù)<先前數(shù)據(jù)→CCW本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣Arduino之LED點(diǎn)陣LED點(diǎn)陣介紹共陽(yáng)LED點(diǎn)陣本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣LED點(diǎn)陣介紹共陽(yáng)LED點(diǎn)陣1(+)本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣LED點(diǎn)陣介紹共陽(yáng)LED點(diǎn)陣1(+)0(-)本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣LED點(diǎn)陣介紹共陽(yáng)LED點(diǎn)陣1(+)0(-)本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣LED點(diǎn)陣介紹共陽(yáng)LED點(diǎn)陣1(+)0(-)本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣LED點(diǎn)陣介紹共陽(yáng)LED點(diǎn)陣0(-)0(-)0(-)0(-)0(-)0(-)0(-)0(-)1(+)1(+)1(+)1(+)1(+)1(+)1(+)1(+)本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣LED點(diǎn)陣介紹共陽(yáng)LED點(diǎn)陣0(-)0(-)0(-)0(-)0(-)0(-)0(-)0(-)1(+)1(+)1(+)1(+)0(-)0(-)1(+)0(-)本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣LED點(diǎn)陣介紹共陽(yáng)LED點(diǎn)陣0(-)0(-)0(-)0(-)0(-)0(-)0(-)1(+)1(+)1(+)1(+)0(-)0(-)1(+)0(-)1(+)本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣LED點(diǎn)陣介紹共陽(yáng)LED點(diǎn)陣0(-)0(-)0(-)0(-)0(-)0(-)0(-)1(+)1(+)1(+)1(+)0(-)0(-)1(+)0(-)0(-)本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣LED點(diǎn)陣介紹共陽(yáng)LED點(diǎn)陣0(-)0(-)0(-)0(-)0(-)0(-)0(-)0(-)1(+)1(+)1(+)1(+)0(-)0(-)1(+)0(-)本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣LED點(diǎn)陣介紹共陽(yáng)LED點(diǎn)陣0(-)0(-)0(-)0(-)0(-)0(-)0(-)1(+)1(+)1(+)1(+)0(-)0(-)1(+)0(-)1(+)本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣使用ArduinoUno點(diǎn)亮一個(gè)8×8的LED點(diǎn)陣不同點(diǎn)陣屏封裝不同,8×8點(diǎn)陣內(nèi)部結(jié)構(gòu)、管腳定義圖如下:8x8內(nèi)部結(jié)構(gòu)點(diǎn)陣管腳定義本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣使用ArduinoUno點(diǎn)亮一個(gè)8×8的LED點(diǎn)陣根據(jù)點(diǎn)陣屏管腳定義,下表為引腳連接表(行H列L)及原理圖行點(diǎn)陣屏開(kāi)發(fā)板列點(diǎn)陣屏開(kāi)發(fā)板H11310L196H2316L21411H3417L385H4107L4129H563L5114H6118L674H71512L7215H81613L852本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣使用ArduinoUno點(diǎn)亮一個(gè)8×8的LED點(diǎn)陣連接開(kāi)發(fā)板,設(shè)置好對(duì)應(yīng)端口號(hào)和開(kāi)發(fā)板類(lèi)型,進(jìn)行程序下載。程序下載及實(shí)物連接圖如下所示:本課件是可編輯的正常PPT課件Arduino之LED點(diǎn)陣使用ArduinoUno點(diǎn)亮一個(gè)8×8的LED點(diǎn)陣實(shí)驗(yàn)現(xiàn)象:LED點(diǎn)陣屏點(diǎn)亮然后熄滅,然后逐列、逐行點(diǎn)亮。通過(guò)兩個(gè)for循環(huán)嵌套來(lái)進(jìn)行操作,外部循環(huán)控制列,內(nèi)部循環(huán)遍歷行,或者外部循環(huán)控制行,內(nèi)部循環(huán)遍歷列。當(dāng)逐行或者逐列掃描足夠快的時(shí)候,人眼就會(huì)因視覺(jué)暫存而看到動(dòng)態(tài)點(diǎn)亮的畫(huà)面。本課件是可編輯的正常PPT課件Arduino之LCD顯示LCD屏基本概念A(yù)rduino之LCD由灰色的排列,非常小的灰色像素組成根據(jù)分辨率可分為1602、2004、12864等規(guī)格低電壓、低功耗、平板結(jié)構(gòu)、顯示信息大、壽命長(zhǎng)等特點(diǎn)本課件是可編輯的正常PPT課件LCD1602引腳介紹Arduino之LCD注:VDD要求4.5-5.5V,所有數(shù)據(jù)口均為5VTTL電平。本課件是可編輯的正常PPT課件LCD1602引腳介紹Arduino之LCD注:VDD要求4.5-5.5V,所有數(shù)據(jù)口均為5VTTL電平。RS端口高代表數(shù)據(jù)選擇、低代表指令選擇本課件是可編輯的正常PPT課件LCD1602引腳介紹Arduino之LCD注:VDD要求4.5-5.5V,所有數(shù)據(jù)口均為5VTTL電平。RS端口高代表數(shù)據(jù)選擇、低代表指令選擇RW端高代表寫(xiě)數(shù)據(jù)/指令,低代表讀數(shù)據(jù)指令本課件是可編輯的正常PPT課件LCD1602引腳介紹Arduino之LCD注:VDD要求4.5-5.5V,所有數(shù)據(jù)口均為5VTTL電平。RS端口高代表數(shù)據(jù)選擇、低代表指令選擇RW端高代表寫(xiě)數(shù)據(jù)/指令,低代表讀數(shù)據(jù)指令E端口為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令本課件是可編輯的正常PPT課件LCD1602指令碼Arduino之LCD根據(jù)需求寫(xiě)入不同指令或者數(shù)據(jù)本課件是可編輯的正常PPT課件LCD1602指令碼Arduino之LCD根據(jù)需求寫(xiě)入不同指令或者數(shù)據(jù)指令主要用于設(shè)置光標(biāo)、顯示模式等本課件是可編輯的正常PPT課件LCD1602指令碼Arduino之LCD根據(jù)需求寫(xiě)入不同指令或者數(shù)據(jù)指令主要用于設(shè)置光標(biāo)、顯示模式等數(shù)據(jù)則會(huì)被顯示在屏幕上本課件是可編輯的正常PPT課件LCD1602地址映射Arduino之LCD00~0F第一行,40~4F為第二行本課件是可編輯的正常PPT課件LCD1602地址映射Arduino之LCD00~0F第一行,40~4F為第二行10~27和50~67為緩沖區(qū)本課件是可編輯的正常PPT課件LCD1602地址映射Arduino之LCD00~0F第一行,40~4F為第二行10~27和50~67為緩沖區(qū)指令格式為:0X80+地址碼本課件是可編輯的正常PPT課件LCD1602寫(xiě)操作時(shí)序Arduino之LCD1.將RS端配置為數(shù)據(jù)/指令選擇,即高/低電平digitalWrite(rs,HIGH/LOW)本課件是可編輯的正常PPT課件LCD1602寫(xiě)操作時(shí)序Arduino之LCD1.將RS端配置為數(shù)據(jù)/指令選擇,即高/低電平digitalWrite(rs,HIGH/LOW)2.將RW控制端配置為寫(xiě)操作,即低電平digitalWrite(rw,LOW)本課件是可編輯的正常PPT課件LCD1602寫(xiě)操作時(shí)序Arduino之LCD1.將RS端配置為數(shù)據(jù)/指令選擇,即高/低電平digitalWrite(rs,HIGH/LOW)2.將RW控制端配置為寫(xiě)操作,即低電平digitalWrite(rw,LOW)3.將數(shù)據(jù)或命令送達(dá)數(shù)據(jù)線上本課件是可編輯的正常PPT課件LCD1602寫(xiě)操作時(shí)序Arduino之LCD1.將RS端配置為數(shù)據(jù)/指令選擇,即高/低電平digitalWrite(rs,HIGH/LOW)2.將RW控制端配置為寫(xiě)操作,即低電平digitalWrite(rw,LOW)3.將數(shù)據(jù)或命令送達(dá)數(shù)據(jù)線上4.給E端口一個(gè)高脈沖,將命令或數(shù)據(jù)送至液晶顯示屏digitalWrite(en,HIGH)本課件是可編輯的正常PPT課件ArduinoLiquidCrystal庫(kù)函數(shù)Arduino之LCD定義LCD接口——LCD=LiquidCrystal(rs,en,d4,d5,d6,d7)本課件是可編輯的正常PPT課件ArduinoLiquidCrystal庫(kù)函數(shù)Arduino之LCD定義LCD接口——LCD=LiquidCrystal(rs,en,d4,d5,d6,d7)LCD.begin(16,2) //指定顯示屏為16列*2行LCD.clear() //清除LCD屏幕上的內(nèi)容,并將光標(biāo)置于左上角LCD.setCursor(3,1) //將光標(biāo)設(shè)置在第二行第四列處LCD.write(0) //向當(dāng)前光標(biāo)處寫(xiě)入數(shù)字0LCD.print(“helloworld”)//在當(dāng)前光標(biāo)處顯示字符串本課件是可編輯的正常PPT課件Arduino之LCDLCD顯示實(shí)驗(yàn)電路連接本課件是可編輯的正常PPT課件Arduino之LCDLCD顯示實(shí)驗(yàn)電路連接本課件是可編輯的正常PPT課件Arduino之LCD程序內(nèi)容本課件是可編輯的正常PPT課件Arduino之LCD程序內(nèi)容本課件是可編輯的正常PPT課件Arduino之LCD程序內(nèi)容本課件是可編輯的正常PPT課件Arduino之LCD程序內(nèi)容本課件是可編輯的正常PPT課件Arduino之LCD程序內(nèi)容本課件是可編輯的正常PPT課件Arduino之模擬IOArduino之模擬IO數(shù)字IO與模擬IO的區(qū)別數(shù)字IO只有High、Low兩種狀態(tài)以ArduinoUNO5V參考電壓為例High-5V高電平Low–0V低電平模擬IO是0-5V之間的任意值本課件是可編輯的正常PPT課件Arduino之模擬IO數(shù)字IO與模擬IO的區(qū)別數(shù)字IO口可設(shè)定輸入輸出模擬IO口的輸入輸出是固定的以ArduinoUNO為例A0-A5為模擬IO輸入口3,5,6,9,10,11為模擬IO輸出口模擬IO輸入模擬IO輸出本課件是可編輯的正常PPT課件Arduino之模擬IO模擬IO的輸入模擬IO的輸入引腳帶有10bitADC0-5V模擬電壓0-1023整數(shù)0V0;5V1023;analogRead(pin)函數(shù)pin為被讀取的引腳編號(hào)pin必須為模擬IO的輸入引腳讀取pin的輸入電壓并轉(zhuǎn)換為數(shù)字信號(hào)返回?cái)?shù)字信號(hào),即0-1023之間的整數(shù)

analogRead(A0):讀入引腳A0的模擬電壓,轉(zhuǎn)化為數(shù)字信號(hào)本課件是可編輯的正常PPT課件Arduino之模擬IO模擬IO的輸出模擬IO輸出沒(méi)有DAC功能脈沖寬度調(diào)制PWM通過(guò)數(shù)字方式獲得模擬結(jié)果的技術(shù)表現(xiàn)為占空比可變的脈沖矩形波Arduino的PWM周期約為2ms注意:PWM是數(shù)字信號(hào),僅有0和1兩種狀態(tài)本課件是可編輯的正常PPT課件Arduino之模擬IOLED亮燈實(shí)驗(yàn)視覺(jué)暫留效應(yīng)占空比為1LED100%亮度5V模擬電壓

占空比為0.5LED50%亮度2.5V模擬電壓

本課件是可編輯的正常PPT課件Arduino之模擬IO模擬IO的輸出通過(guò)輸出PWM達(dá)到模擬信號(hào)的效果analogWrite(pin,value)函數(shù)pin為模擬IO輸出引腳value控制PWM占空比,取值范圍0-2550%占空比value=050%占空比value=127100%占空比value=255

本課件是可編輯的正常PPT課件Arduino之模擬IO本課件是可編輯的正常PPT課件1.讀取引腳A0的模擬輸入電壓2.將數(shù)值0-1023等比映射至0-2553.在9號(hào)引腳輸出PWM波控制LED亮度LED亮燈實(shí)驗(yàn)代碼Arduino之模擬IOLED亮燈實(shí)驗(yàn)實(shí)驗(yàn)流程analogRead函數(shù)讀取模擬輸入值map函數(shù):0-10230-255analogWrite函數(shù)輸出PWM波控制LED本課件是可編輯的正常PPT課件Arduino之搖桿Arduino之搖桿雙軸按鍵搖桿模塊也叫游戲搖桿、控制桿傳感器,經(jīng)常用作航模遙控,游戲手柄。搖桿模塊由兩個(gè)高精度電位計(jì)和一個(gè)按鍵開(kāi)關(guān)構(gòu)成,用于控制鍵盤(pán)等,可以自由地控制方向。本課件是可編輯的正常PPT課件Arduino之搖桿工作原理?yè)軇?dòng)搖桿,阻值發(fā)生變化,對(duì)應(yīng)的X/Y電壓值也發(fā)生變化,而用力按下?lián)u桿就會(huì)觸發(fā)按鍵按下,對(duì)應(yīng)的SW信號(hào)變?yōu)榈碗娖健ND:接地VCC:供電VRx:X軸電壓Vry:Y軸電壓SW:Z軸開(kāi)關(guān)本課件是可編輯的正常PPT課件Arduino之搖桿電路連接本課件是可編輯的正常PPT課件Arduino之搖桿代碼編寫(xiě)啟用上拉電阻、初始化串口模擬讀取X軸電壓模擬讀取Y軸電壓讀取Z軸開(kāi)關(guān)狀態(tài)本課件是可編輯的正常PPT課件Arduino之PWMArduino之PWMPWM簡(jiǎn)介脈沖寬度調(diào)制PWM通過(guò)數(shù)字方式獲得模擬結(jié)果的技術(shù)在時(shí)域上表現(xiàn)為高低變化的矩形脈沖PWM是數(shù)字信號(hào),僅有0/1兩種狀態(tài)本課件是可編輯的正常PPT課件Arduino之PWMPWM參數(shù)幅度以ArduinoUNO為例1代表5V高電平0代表0V低電平周期Arduino的PWM周期約為2ms占空比脈沖寬度占整個(gè)周期百分比占空比為1,保持高電平占空比為0.5,高低電平均勻切換本課件是可編輯的正常PPT課件Arduino之PWMArduino輸出PWM輸出引腳只有模擬IO可以輸出PWM信號(hào)analogWrite(pin,value)函數(shù)pin為模擬IO輸出引腳value控制占空比,取值范圍0-2550%占空比,value=050%占空比,value=127100%占空比,value=255本課件是可編輯的正常PPT課件PWM應(yīng)用-SPWM用等幅不等寬的脈沖來(lái)代替一個(gè)正弦波將正弦波在時(shí)域等間隔劃分,脈沖寬度按正弦規(guī)律變化正弦波幅度為0時(shí),脈沖占空比為0;幅度為1時(shí),占空比為1Arduino之PWM本課件是可編輯的正常PPT課件PWM應(yīng)用-SPWM根據(jù)面積等效原理,SPWM的平均電壓接近正弦曲線脈沖越精確,切換頻率越高,曲線越平滑Arduino之PWM本課件是可編輯的正常PPT課件Arduino之蜂鳴器Arduino之蜂鳴器蜂鳴器計(jì)算機(jī)行業(yè)(主板蜂鳴器)打印機(jī)(控制板蜂鳴器)報(bào)警器(警報(bào)蜂鳴器)電子玩具(音樂(lè)蜂鳴器)汽車(chē)電子(車(chē)載蜂鳴器)……本課件是可編輯的正常PPT課件Arduino之蜂鳴器蜂鳴器分類(lèi)——構(gòu)造方式壓電式蜂鳴器、電磁式蜂鳴器本課件是可編輯的正常PPT課件Arduino之蜂鳴器蜂鳴器分類(lèi)——驅(qū)動(dòng)方式有源蜂鳴器、無(wú)源蜂鳴器本課件是可編輯的正常PPT課件Arduino之蜂鳴器有源蜂鳴器引腳長(zhǎng)度不同,塑封無(wú)源蜂鳴器引腳長(zhǎng)度相同,能夠看到電路板有源蜂鳴器無(wú)源蜂鳴器本課件是可編輯的正常PPT課件Arduino之蜂鳴器Tone(pin,frequency,duration)pin:輸出引腳Frequency:輸出頻率(單位Hz)Duration:聲音持續(xù)時(shí)間(單位ms)noTone(pin)pitches.h本課件是可編輯的正常PPT課件Arduino之蜂鳴器電路連接——無(wú)源蜂鳴器本課件是可編輯的正常PPT課件Arduino之蜂鳴器代碼編寫(xiě)——無(wú)源蜂鳴器不同音調(diào)對(duì)應(yīng)的頻率樂(lè)譜的音調(diào)樂(lè)譜的節(jié)拍控制程序本課件是可編輯的正常PPT課件Arduino之電機(jī)Arduino之電機(jī)電機(jī)簡(jiǎn)介電機(jī)又稱電動(dòng)機(jī)、馬達(dá)實(shí)現(xiàn)電能轉(zhuǎn)換和傳遞的電磁裝置產(chǎn)生驅(qū)動(dòng)轉(zhuǎn)矩,作為機(jī)械的動(dòng)力源電機(jī)的分類(lèi)工作電源:直流、交流、交直流電機(jī)用途:直流電機(jī)、伺服電機(jī)、步進(jìn)電機(jī)本課件是可編輯的正常PPT課件Arduino之電機(jī)SG90電機(jī)簡(jiǎn)介伺服電機(jī)工作在直流電壓下工作原理將電壓信號(hào)轉(zhuǎn)換為轉(zhuǎn)矩和轉(zhuǎn)速內(nèi)置電路對(duì)輸出軸進(jìn)行角度反饋可以控制模型運(yùn)行方向,又稱舵機(jī)本課件是可編輯的正常PPT課件Arduino之電機(jī)SG90電機(jī)工作原理角度控制線脈沖寬度決定輸出軸的角度以180°舵機(jī)為例1.5ms脈沖長(zhǎng)度90°(中性位置)小于1.5ms更接近0°大于1.5ms更接近180°脈沖寬度不變轉(zhuǎn)軸角位置不變

長(zhǎng)度可變的脈沖信號(hào):PWM波本課件是可編輯的正常PPT課件Arduino之電機(jī)直流電機(jī)工作原理正負(fù)極兩根引線連接電源,電機(jī)轉(zhuǎn)動(dòng)引線交換,反向旋轉(zhuǎn)平均電壓決定轉(zhuǎn)速PWM占空比越高,轉(zhuǎn)速越快H橋電路無(wú)需交換引線,控制旋轉(zhuǎn)方向Q1,Q4打開(kāi),左引線接電源Q2,Q3打開(kāi),右引線接電源電機(jī)正轉(zhuǎn)電機(jī)反轉(zhuǎn)本課件是可編輯的正常PPT課件Arduino之電機(jī)PWM簡(jiǎn)介脈沖寬度調(diào)制PWM表現(xiàn)為占空比可變的脈沖矩形波通過(guò)數(shù)字方式獲得模擬結(jié)果的技術(shù)Arduino的PWM周期約為2msanalogWrite(pin,value)函數(shù)pin為模擬IO輸出引腳value控制占空比,取值范圍0-255注意:PWM是數(shù)字信號(hào),僅有0和1兩種狀態(tài)本課件是可編輯的正常PPT課件Arduino之電機(jī)電機(jī)控制實(shí)驗(yàn)實(shí)驗(yàn)器材ArduinoUNO開(kāi)發(fā)板電位器SG90舵機(jī)面包板以及杜邦線若干電路連接電機(jī)VCC接5V直流電電位器輸出接模擬輸入A0引腳電機(jī)輸出軸接數(shù)字IO7號(hào)引腳本課件是可編輯的正常PPT課件Arduino之電機(jī)本課件是可編輯的正常PPT課件1.讀取引腳analogPin的模擬輸入電壓2.將數(shù)值0-1023等比映射至0-2553.在7號(hào)引腳輸出PWM波控制電機(jī)角度電機(jī)控制實(shí)驗(yàn)代碼Arduino之電機(jī)電機(jī)控制實(shí)驗(yàn)實(shí)驗(yàn)流程電位器控制輸入電壓值analogRead函數(shù)讀取模擬輸入值map函數(shù):0-10230-255analogWrite函數(shù)輸出PWM波控制電機(jī)本課件是可編輯的正常PPT課件Arduino之電機(jī)電機(jī)控制實(shí)驗(yàn)實(shí)驗(yàn)結(jié)果電位器控制模擬輸入電壓Arduino等比例輸出PWM波PWM波占空比改變電機(jī)角度改變

本課件是可編輯的正常PPT課件Arduino之傳感器Arduino之傳感器Arduino作品組成模塊實(shí)現(xiàn)功能傳感器傳感器(transducer/sensor)是能夠檢測(cè)外部物理量變化的裝置。本課件是可編輯的正常PPT課件器件參數(shù)測(cè)量范圍溫度:0~50℃濕度:20%~90%RH誤差溫度:±2℃濕度:±5%RHRelativeHumidity:相對(duì)濕度本課件是可編輯的正常PPT課件DHT11溫濕度傳感器器件管腳①:VDD

給DHT11供電②:DATA

數(shù)據(jù)傳輸

通訊同步

本課件是可編輯的正常PPT課件DHT11溫濕度傳感器①②③④③:NC

懸空④:GND

接地DHT11溫濕度傳感器DHT11內(nèi)部結(jié)構(gòu)電阻式測(cè)濕元件濕度越高,電極間的電阻越小本課件是可編輯的正常PPT課件DHT11溫濕度傳感器DHT11內(nèi)部結(jié)構(gòu)NTC測(cè)溫元件溫度越高,電極間的電阻越小本課件是可編輯的正常PPT課件DHT11溫濕度傳感器DHT11內(nèi)部結(jié)構(gòu)高性能8位單片機(jī)模數(shù)轉(zhuǎn)換輸出帶有溫濕度的數(shù)字信號(hào)本課件是可編輯的正常PPT課件DHT11數(shù)據(jù)傳輸原理采用單總線協(xié)議與單片機(jī)通信本課件是可編輯的正常PPT課件DHT11溫濕度傳感器DHT11數(shù)據(jù)傳輸原理單片機(jī)發(fā)送開(kāi)始信號(hào)本課件是可編輯的正常PPT課件DHT11溫濕度傳感器單片機(jī)發(fā)送開(kāi)始信號(hào)DHT11數(shù)據(jù)傳輸原理DHT11傳輸數(shù)據(jù)8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗(yàn)和本課件是可編輯的正常PPT課件DHT11溫濕度傳感器DHT11傳輸數(shù)據(jù)DHT11溫濕度傳感器DHT11與Arduino連接VDD連接至3.3V電源口DATA連接到數(shù)字口的任意一個(gè)NC空接GND連接到接地口本課件是可編輯的正常PPT課件DHT11溫濕度傳感器DHT11程序?qū)崿F(xiàn)添加DHT庫(kù)函數(shù)用法#include<DHT.h>:加載DHT庫(kù)DHTTHSensor(6,DHT11):設(shè)置DATA連接引腳及傳感器型號(hào)THSnsor.begin():開(kāi)啟DHT11的數(shù)據(jù)通信THSensor.readTemperature():讀取溫度數(shù)據(jù)THSensor.readHumidity():讀取濕度數(shù)據(jù)本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距Arduino之超聲波測(cè)距0Tt距離(s)=聲速(v)

×?xí)r間(T)/2距離(s)本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距超聲波模塊性能參數(shù):使用電壓:DC5V

靜態(tài)電流:小于2mA

高電平輸出:+5V

低電平輸出:0V

感應(yīng)角度:不大于15度 探測(cè)距離:2cm-450cm

精度:0.3cm引腳定義:Vcc:5V供電端

Trig:觸發(fā)信號(hào)端

Echo:回響信號(hào)輸出端

Gnd:供電接地端本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距距離(s)=高電平持續(xù)時(shí)間(T)×聲速(v)

/2本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距pulseln():檢測(cè)引腳的高低電平的脈沖寬度說(shuō)明:讀取引腳上脈沖信號(hào)(高電平或低電平)的寬度。語(yǔ)法:pulseln(pin,value);

pulseln(pin,value,timeout);

參數(shù)pin:要讀取脈沖寬度的引腳序號(hào)

參數(shù)value:要讀取寬度的脈沖的形式,高/低電平脈沖參數(shù)timeout:超時(shí)時(shí)間,Arduino在超時(shí)時(shí)間timeout內(nèi)沒(méi)有讀到

脈沖信號(hào),則該函數(shù)返回值為0返回值:

脈沖持續(xù)時(shí)間長(zhǎng),時(shí)間單位為微秒本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距高級(jí)IO控制tone():產(chǎn)生固定頻率的方波noTone():停止tone()觸發(fā)產(chǎn)生的方波pulseIn():檢測(cè)引腳脈沖寬度本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距tone():產(chǎn)生固定頻率的方波說(shuō)明:

產(chǎn)生固定頻率的方波(占空比為50%),用來(lái)控制蜂鳴器等進(jìn)行

發(fā)聲語(yǔ)法:tone(pin,frequency);tone(pin,frequency,duration);

參數(shù)pin:要輸出方波(發(fā)聲)的引腳序號(hào)

參數(shù)frequency:輸出方波(發(fā)聲)的頻率,單位為Hz

參數(shù)duration:輸出方波(發(fā)聲)的時(shí)長(zhǎng),單位為微秒返回值:無(wú)返回值本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距noTone():停止tone()觸發(fā)產(chǎn)生的方波輸出說(shuō)明:

用來(lái)停止函數(shù)tone()產(chǎn)生的方波輸出

(注:如果需要多個(gè)引腳發(fā)聲,需要在調(diào)用函數(shù)tone()之前,通

過(guò)調(diào)用noTone()停止當(dāng)前的發(fā)聲)語(yǔ)法:noTone(pin);

參數(shù)pin:要停止tone()方波(發(fā)聲)的引腳序號(hào)返回值:無(wú)返回值本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距本課件是可編輯的正常PPT課件Arduino之超聲波測(cè)距

≈雙程時(shí)間(us)/58.8超聲波測(cè)距原理距離(cm)=(雙程時(shí)間(us)/1000000)×速度(340m/s)/2×100本課件是可編輯的正常PPT課件Arduino之時(shí)鐘芯片DS1302Arduino之時(shí)鐘芯片DS1302Arduino時(shí)鐘芯片DS1302內(nèi)含一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài)RAM實(shí)時(shí)時(shí)鐘/日歷電路提供秒、分、時(shí)、日、星期、月、年的信息通過(guò)串行三線接口與單片機(jī)通信功耗低設(shè)置時(shí)間讀取時(shí)間本課件是可編輯的正常PPT課件器件管腳①主電源供電電壓2.0~5.5V②32.768KHz

晶振管腳③同②④接地管腳本課件是可編輯的正常PPT課件Arduino之時(shí)鐘芯片DS1302⑤復(fù)位管腳⑥數(shù)據(jù)輸入/輸出引腳⑦串行時(shí)鐘⑧備用電源Arduino之時(shí)鐘芯片DS1302DS1023的地址字節(jié)(控制字節(jié))控制字節(jié)總是從最低位開(kāi)始傳輸位6:操作的寄存器是RAM(取1)或時(shí)鐘寄存器(取0)位0:進(jìn)行讀(取1)或?qū)?取0)操作操作單元地址本課件是可編輯的正常PPT課件Arduino之時(shí)鐘芯片DS1302

地址字節(jié)數(shù)據(jù)字節(jié)本課件是可編輯的正常PPT課件Arduino之時(shí)鐘芯片DS1302

地址字節(jié)數(shù)據(jù)字節(jié)本課件是可編輯的正常PPT課件Arduino之時(shí)鐘芯片DS1302DS1302內(nèi)部寄存器寄存器名稱READWRITEBIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0RANGE秒寄存器81h80hCH10SecondsSeconds00-59分寄存器83h82h10MinutesMinutes00-59小時(shí)寄存器85h84h010HourHour1-12/

0-23日寄存器87h86h0010DateDate1-31月寄存器89h88h00010MonthMonth1-12星期寄存器8Bh8Ah00000Day1-7年寄存器8Dh8Ch10YearYear00-99寫(xiě)保護(hù)寄存器8Fh8EhWP0000000-本課件是可編輯的正常PPT課件Arduino之時(shí)鐘芯片DS1302DS1302時(shí)鐘模塊與Arduino連接VCC連接至3.3V或5V電源口CLK、DAT、RST連接到數(shù)字口的任意一個(gè)GND連接到接地口本課件是可編輯的正常PPT課件Arduino之時(shí)鐘芯片DS1302庫(kù)函數(shù)安裝本課件是可編輯的正常PPT課件Arduino之時(shí)鐘芯片DS1302程序?qū)崿F(xiàn)引腳設(shè)置初始化主體程序ThreeWiremyWire(4,5,2);RtcDS1302<ThreeWire>Rtc(myWire);Serial.begin(57600);Rtc.Begin();voidloop(){RtcDateTimenow=Rtc.GetDateTime();printDateTime(now);delay(10000);}本課件是可編輯的正常PPT課件Arduino之運(yùn)動(dòng)傳感器MPU6050Arduino之運(yùn)動(dòng)傳感器MPU6050MPU6050介紹全球首例整合性6軸運(yùn)動(dòng)處理組件集成了三軸加速度計(jì)、三軸陀螺儀,以及一塊可擴(kuò)展的數(shù)字運(yùn)動(dòng)處理器DMP免除了組合陀螺儀與加速度計(jì)時(shí)間軸之差的問(wèn)題減少了大量的封裝空間本課件是可編輯的正常PPT課件Arduino之運(yùn)動(dòng)傳感器MPU6050運(yùn)動(dòng)傳感器應(yīng)用場(chǎng)景平衡車(chē)無(wú)人機(jī)智能手機(jī)手勢(shì)遙控(VR)慣導(dǎo)電子穩(wěn)像、光學(xué)穩(wěn)像本課件是可編輯的正常PPT課件Arduino之運(yùn)動(dòng)傳感器MPU6050MPU6050介紹MPU6050模塊引腳:VCC:5V供電端GND:供電接地端SCL:IIC通信協(xié)議的時(shí)鐘線SDA:IIC通信協(xié)議的數(shù)據(jù)線XDA:連接外部傳感器的IIC數(shù)據(jù)線XCL:連接外部傳感器的IIC時(shí)鐘線AD0:IIC從地址最低位INT:用于中斷模塊運(yùn)行本課件是可編輯的正常PPT課件Arduino之運(yùn)動(dòng)傳感器MPU6050MPU6050介紹通過(guò)IIC通信協(xié)議進(jìn)行數(shù)據(jù)傳輸三軸陀螺儀→16位三軸角速度數(shù)據(jù)→俯仰角、橫滾角、偏航角→姿態(tài)三軸加速度計(jì)→16位三軸加速度數(shù)據(jù)→三軸速度、位移→位置本課件是可編輯的正常PPT課件Arduino之運(yùn)動(dòng)傳感器MPU6050MPU6050主要寄存器介紹0x1A:Configuration本課件是可編輯的正常PPT課件Arduino之運(yùn)動(dòng)傳感器MPU6050MPU6050主要寄存器介紹0x1B:GyroscopeConfiguration本課件是可編輯的正常PPT課件Arduino之運(yùn)動(dòng)傳感器MPU6050MPU6050主要寄存器介紹0x1C:AccelerometerConfiguration本課件是可編輯的正常PPT課件Arduino之運(yùn)動(dòng)傳感器MPU6050MPU6050主要寄存器介紹0x3B-0x40:AccelerometerMeasurements

本課件是可編輯的正常PPT課件Arduino之運(yùn)動(dòng)傳感器MPU6050MPU6050主要寄存器介紹0x43-0x48:GyroscopeMeasurements

本課件是可編輯的正常PPT課件Arduino之運(yùn)動(dòng)傳感器MPU6050IIC通信協(xié)議介紹I2C總線具有兩根雙向信號(hào)線,一根是數(shù)據(jù)線SDA,另一根是時(shí)鐘線SCLIIC總線上可以掛很多設(shè)備:多個(gè)主設(shè)備,多個(gè)從設(shè)備(外圍設(shè)備)每個(gè)接到I2C總線上的器件都有唯一的地址本課件是可編輯的正常PPT課件Arduino之運(yùn)動(dòng)傳感器MPU6050IIC通信協(xié)議介紹時(shí)序介紹本課件是可編輯的正常PPT課件Arduino之運(yùn)動(dòng)傳感器MPU6050Arduino控制MPU6050MPU6050模塊與Arduino開(kāi)發(fā)板連接方式:VCC→開(kāi)發(fā)板5V電源端GND→開(kāi)發(fā)板接地端SCL→開(kāi)發(fā)板A5端口SDA→開(kāi)發(fā)板A4端口本課件是可編輯的正常PPT課件Arduino之運(yùn)動(dòng)傳感器MPU6050Arduino控制MPU6050Arduino自帶Wire庫(kù)函數(shù)介紹本課件是可編輯的正常PPT課件Arduino之運(yùn)動(dòng)傳感器MPU6050Arduino控制MPU6050配置濾波器配置角速度量程配置加速度量程讀取三軸加速度數(shù)據(jù)讀取三軸角速度數(shù)據(jù)打印信息MPU6050在IIC總線中的地址一般為0x68本課件是可編輯的正常PPT課件Arduino之藍(lán)牙模塊Arduino之藍(lán)牙藍(lán)牙簡(jiǎn)介一種短距離無(wú)線通訊技術(shù)無(wú)線電波替換電纜藍(lán)牙技術(shù)具備成本低、功耗低、體積小、通信距離短等技術(shù)特性“藍(lán)牙”技術(shù)的目的是使特定的移動(dòng)電話、便攜式電腦以及各種便攜式通信設(shè)備的主機(jī)之間在近距離內(nèi)實(shí)現(xiàn)無(wú)縫的資源共享本課件是可編輯的正常PPT課件Arduino之藍(lán)牙模塊參數(shù)特點(diǎn)引出接口包括:VCC——電源GND——地TXD——藍(lán)牙模塊信息發(fā)送端RXD——藍(lán)牙模塊信息接收端EN——使能端,當(dāng)此引腳懸空或連接到3.3V時(shí),模塊使能。如果此引腳連接到GND,模塊將被禁用STATE——狀態(tài)輸出腳,當(dāng)模塊未連接到任何設(shè)備時(shí),此引腳為低電平;當(dāng)模塊成功配對(duì)時(shí),此引腳為高電平,單片機(jī)可通過(guò)該腳判斷藍(lán)牙是否已經(jīng)連接BT04A實(shí)物圖本課件是可編輯的正常PPT課件Arduino之藍(lán)牙模塊參數(shù)特點(diǎn)發(fā)射功率:4dBm最大通信距離:10m板載LED燈指示藍(lán)牙連接狀態(tài),閃爍表示沒(méi)有藍(lán)牙連接,常亮表示藍(lán)牙已連接并打開(kāi)了端口工作電壓3.6~6V,通信電平3.3V,未配對(duì)時(shí)電流約30mA,配對(duì)后約10mA在未建立藍(lán)牙連接時(shí),支持通過(guò)AT指令設(shè)置波特率、名稱、配對(duì)密碼,設(shè)置的參數(shù)掉電保存,藍(lán)牙連接之后自動(dòng)切換到透?jìng)髂J紹T04A實(shí)物圖本課件是可編輯的正常PPT課件Arduino之藍(lán)牙模塊藍(lán)牙模塊與Arduino連接硬件準(zhǔn)備BT04A藍(lán)牙模塊ArduinoUNO開(kāi)發(fā)板燒寫(xiě)線杜邦線電路連接VCC→Arduino的5VGND→Arduino的GNDTXD→Arduino的D3RXD→Arduino的D2本課件是可編輯的正常PPT課件Arduino之藍(lán)牙模塊藍(lán)牙模塊與Arduino連接線路連接成功后,藍(lán)牙模塊板載LED閃爍:藍(lán)牙配對(duì)成功后,藍(lán)牙模塊板載LED常亮:本課件是可編輯的正常PPT課件Arduino之藍(lán)牙模塊Arduino通過(guò)藍(lán)牙模塊與安卓手機(jī)通信首先安裝手機(jī)APP,有多種選擇,大家可以根據(jù)自己的喜好下載,這里我們以Arduinobluetoothcontroller為例(下方提供了安裝包)Arduinobluetoothcontroller下載:本課件是可編輯的正常PPT課件Arduino之藍(lán)牙模塊Arduino通過(guò)藍(lán)牙模塊與安卓手機(jī)通信程序說(shuō)明本課件是可編輯的正常PPT課件Arduino之藍(lán)牙模塊Arduino通過(guò)藍(lán)牙模塊與安卓手機(jī)通信手機(jī)與藍(lán)牙模塊配對(duì):打開(kāi)Arduinobluetoothcontroller選擇”BT04A”進(jìn)行配對(duì)輸入配對(duì)密碼‘1234’選擇’Controllermode’本課件是可編輯的正常PPT課件Arduino之藍(lán)牙模塊Arduino通過(guò)藍(lán)牙模塊與安卓手機(jī)通信步驟三:藍(lán)牙連接點(diǎn)擊右上角“設(shè)置”選項(xiàng)把前后左右四個(gè)按鈕的值分別設(shè)置為:f,b,l,r本課件是可編輯的正常PPT課件Arduino之GSM模

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論