Arduino應(yīng)用技術(shù) 課件 第4、5章 Arduino通信、物聯(lián)網(wǎng)服務(wù)平臺(tái)_第1頁
Arduino應(yīng)用技術(shù) 課件 第4、5章 Arduino通信、物聯(lián)網(wǎng)服務(wù)平臺(tái)_第2頁
Arduino應(yīng)用技術(shù) 課件 第4、5章 Arduino通信、物聯(lián)網(wǎng)服務(wù)平臺(tái)_第3頁
Arduino應(yīng)用技術(shù) 課件 第4、5章 Arduino通信、物聯(lián)網(wǎng)服務(wù)平臺(tái)_第4頁
Arduino應(yīng)用技術(shù) 課件 第4、5章 Arduino通信、物聯(lián)網(wǎng)服務(wù)平臺(tái)_第5頁
已閱讀5頁,還剩59頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第四章Arduino通信

經(jīng)過前面幾章的學(xué)習(xí),我們對(duì)Arduino已經(jīng)有了初步認(rèn)識(shí),也可以用它來控制一些電路,這一章主要介紹Arduino在物聯(lián)網(wǎng)中的應(yīng)用。

本章學(xué)習(xí)目標(biāo):

串口通信

SPI,IIC通信

Arduino訪問網(wǎng)絡(luò)

藍(lán)牙通信

4.1串口通信前面章節(jié)中用到了Serial.begin()和Serial.print()等語句,這些語句就是在操作串口。Arduino與計(jì)算機(jī)通信最常用的方法就是串口通信,這在之前的學(xué)習(xí)中已接觸過。在Arduino控制器上,串口都是位于0(RX)和1(TX)的兩個(gè)引腳,Arduino的USB口通過一個(gè)轉(zhuǎn)換芯片與這兩個(gè)串口引腳連接。該轉(zhuǎn)換芯片會(huì)通過USB接口在計(jì)算機(jī)上虛擬出一個(gè)用于與Arduino通信的串口。因此當(dāng)使用USB線將Arduino與計(jì)算機(jī)連接時(shí),兩者之間便建立了串口連接。通過此連接,Arduino便可與計(jì)算機(jī)互傳數(shù)據(jù)了。要想使串口與計(jì)算機(jī)通信,需要先使用Serial.begin()函數(shù)初始化Arduino的串口通信功能,即Serial.begin(speed);其中參數(shù)speed指串口通信波特率,它是設(shè)定串口通信率的參數(shù)。串口通信的雙方必須使用相同的波特率才能正常通信。波特率越大,說明串口通信的速率越高。串口監(jiān)視器是Arduino自帶的一個(gè)小工具,可以用來查看串口的信息,也可以向連接的設(shè)備發(fā)送信息。需要注意的是,在串口的右下角有一個(gè)波特率設(shè)置下拉菜單,此處波特率的設(shè)置必須和程序中的一樣才能正常收發(fā)數(shù)據(jù)。除了輸出,串口同樣可以接收由計(jì)算機(jī)發(fā)出的數(shù)據(jù)。接收串口數(shù)據(jù)需要使用Serial.read()函數(shù)。在使用串口時(shí),Arduino會(huì)在SARM中開辟一段大小為64B的空間,串口接收到的數(shù)據(jù)會(huì)暫時(shí)存放在該空間中,稱這個(gè)存儲(chǔ)空間為緩沖區(qū)。在使用串口讀取數(shù)據(jù)時(shí),需要搭配使用serial.available()函數(shù)使用。4.2SPI通信如果需要使用大量數(shù)據(jù)或者保存大量數(shù)據(jù),那么Arduino自帶的EEPROM和Flash存儲(chǔ)空間就顯得捉襟見肘了。這樣可以選擇外置的存儲(chǔ)器來擴(kuò)展存儲(chǔ)空間,這里使用SD卡。如圖4-2所示。SD(securedigitalmemorycard)卡是一種基于半導(dǎo)體快閃記憶器的新一代存儲(chǔ)設(shè)備,它被廣泛引用于便攜式設(shè)備上,例如數(shù)碼相機(jī),手機(jī)和平板電腦等。以下是此類項(xiàng)目的簡(jiǎn)要使用方面:記錄光照,溫度,濕度隨時(shí)間變化的氣象站記錄你一天去過哪里的GPS追蹤和定位器能報(bào)告哪部分過熱的臺(tái)式機(jī)溫度檢測(cè)器4.2SPI通信4.2.1格式化SD卡在用Arduino開始記錄數(shù)據(jù)之前,準(zhǔn)備好你要用的SD卡。有些用全尺寸的SD卡,有些用微型SD卡。還要準(zhǔn)備好SD擴(kuò)展板。如圖4-3所示。為了完成本章的練習(xí),你需要為計(jì)算機(jī)準(zhǔn)備一個(gè)SD讀卡器。4.2SPI通信4.2.1格式化SD卡圖SD擴(kuò)展板4.2SPI通信4.2.2SD卡類庫成員函數(shù)4.2SPI通信4.2.3將SD卡接入ArduinoSD擴(kuò)展板ArduinoGNDGNDVCC5VCSUNO的10號(hào)引腳MOSIUNO的11號(hào)引腳SCKUNO的13號(hào)引腳MISOUNO的12號(hào)引腳4.2SPI通信4.2.4

程序的編寫#include<SPI.h>#include<SD.h>//將SD.h頭文件包含到本程序中,才能調(diào)用庫函數(shù)FilemyFile;

constintcs_pin=10;//設(shè)定cs接口

voidsetup(){Serial.begin(9600);Serial.println("Initializingthesdcard...");//串口輸出數(shù)據(jù)pinMode(cs_pin,OUTPUT);if(!SD.begin(cs_pin)){Serial.println("Initializationfailed!!");//如果與sd卡通信失敗,串口輸出信息failedreturn;}Serial.println("Initializationcomplete");//如果與SD卡通信成功,串口輸出信息}4.2SPI通信

前面我們學(xué)習(xí)過用DHT11傳感器記錄溫濕度,如果我們考慮要把這些溫濕度數(shù)據(jù)存儲(chǔ)到SD卡上,該怎么做?讀者可以思考一下序的編寫4.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.1Arduino的IIC接口---RTC時(shí)鐘模塊現(xiàn)在流行的時(shí)鐘電路很多,如DS1302、DS1307、PCF8485等。這些電路的接口簡(jiǎn)單、價(jià)格低廉、使用方便,被廣泛地采用。本文介紹的實(shí)時(shí)時(shí)鐘電路DS1302是美國DALLAS公司的一種具有涓細(xì)電流充電能力的低功耗實(shí)時(shí)時(shí)鐘芯片,主要特點(diǎn)是采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,并且可以關(guān)閉充電功能。采用普通32.768kHz晶振。它可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。我們這里采用的是實(shí)時(shí)時(shí)鐘模塊,已經(jīng)外接好晶振,紐扣電池。另外采用IIC的液晶顯示模塊。實(shí)時(shí)時(shí)鐘模塊如圖所示。4.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.1Arduino的IIC接口---RTC時(shí)鐘模塊4.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.2電路的連接DS1302時(shí)鐘模塊Arduino引腳VCCVCC(3.3v)GNDGNDCLKArduinoDigital4DATArduinoDigital3RSTArduinoDigital24.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.2電路的連接IIC液晶模塊Arduino引腳GNDGNDVCCVCC(5v)SDAA4SCLA54.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.2電路的連接4.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.3程序的設(shè)計(jì)在開始編寫程序之前,調(diào)用了wire,LiquidCrystal_I2C,DS1302三個(gè)庫函數(shù),接下來簡(jiǎn)單介DS1302中用到的一些函數(shù):4.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.3程序的設(shè)計(jì)#include<Wire.h>#include<LiquidCrystal_I2C.h>#include<DS1302.h>LiquidCrystal_I2Clcd(0x27,16,2);//初始化LCD,如果你的LCD不顯示,可以0x27換到其他的地址DS1302rtc(2,3,4); //初始化DS1302voidsetup(){lcd.init(); //初始化LCDlcd.backlight(); //打開背光rtc.halt(false); //設(shè)置時(shí)鐘運(yùn)行rtc.writeProtect(false); //打開寫保護(hù)rtc.setDOW(TUESDAY); //星期二rtc.setTime(11,30,00); //時(shí)間為11:30:00rtc.setDate(8,8,2017); //日期為2017年8月8號(hào)rtc.writeProtect(true); //關(guān)閉寫保護(hù)}4.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.3程序的設(shè)計(jì)voidloop(){lcd.clear();lcd.setCursor(0,0);lcd.print(rtc.getDateStr(FORMAT_LONG,FORMAT_LITTLEENDIAN,'/'));lcd.setCursor(11,0);lcd.print(rtc.getDOWStr());lcd.setCursor(14,0);lcd.print("");lcd.setCursor(0,1); //設(shè)置光標(biāo)到第二行,第一列l(wèi)cd.print(rtc.getTimeStr());delay(1000); //延時(shí)1s}4.5藍(lán)牙通信4.5.1藍(lán)牙模塊Blue-Tooth,藍(lán)牙,是一種支持設(shè)備短距離通信的無線電技術(shù),但是由于連接簡(jiǎn)單,支持全雙工傳輸且傳輸速率快,一般應(yīng)用在移動(dòng)電話、筆記本電腦、無線耳機(jī)和PDA等設(shè)備上。早在1994年,愛立信公司就開始研發(fā)藍(lán)牙技術(shù)了。經(jīng)過了多年的發(fā)展,藍(lán)牙由最初的一家公司研究逐漸成為現(xiàn)在擁有全球性的技術(shù)聯(lián)盟和推廣組織。由于藍(lán)牙的低功耗,低成本,安全穩(wěn)定并易于使用的特性使得藍(lán)牙在全球范圍內(nèi)使用非常廣泛。藍(lán)牙標(biāo)志如圖4-10所示:4.5藍(lán)牙通信4.5.1藍(lán)牙模塊4.5藍(lán)牙通信4.5.1藍(lán)牙模塊Arduino同樣支持藍(lán)牙通信,只需要安裝一個(gè)藍(lán)牙串口模塊,該模塊有4個(gè)接線引腳,分別是電源5V、GND和串口通信收發(fā)端TX,RX。實(shí)際上,這個(gè)藍(lán)牙模塊相當(dāng)于Arduino與其他設(shè)備進(jìn)行通訊的橋梁,利用這個(gè)藍(lán)牙模塊,可以替代USB將Arduino連接到電腦上,也可以讓Arduino連接其他用于藍(lán)牙功能的設(shè)備。在本例中演示安卓智能手機(jī)與Arduino的藍(lán)牙模塊通信,手機(jī)需要安裝藍(lán)牙通信軟件。4.5藍(lán)牙通信4.5.2HC-05藍(lán)牙模塊HC-05藍(lán)牙模塊的特點(diǎn):1.采用CSR主流藍(lán)牙芯片,藍(lán)牙V2.0協(xié)議標(biāo)準(zhǔn)。2.輸入電壓:3.6V--6V,禁止超過7V。3.波特率為1200,2400,4800,9600,19200,38400,57600,115200。4.帶連接狀態(tài)指示燈,LED快閃表示沒有藍(lán)牙連接;LED慢閃表示進(jìn)入AT命令模式。5.板載3.3V穩(wěn)壓芯片,輸入直流電壓3.6V-6V;未配對(duì)時(shí),電流約30mA(因LED燈閃爍,電流處于變化狀態(tài));配對(duì)成功后,電流大約10mA。6.用于GPS導(dǎo)航系統(tǒng),水電煤氣抄表系統(tǒng),工業(yè)現(xiàn)場(chǎng)采控系統(tǒng)。7.可以與藍(lán)牙筆記本電腦、電腦加藍(lán)牙適配器等設(shè)備進(jìn)行無縫連接。8.HC-05嵌入式藍(lán)牙串口通訊模塊(以下簡(jiǎn)稱模塊)具有兩種工作模式:命令響應(yīng)工作模式和自動(dòng)連接工作模式,在自動(dòng)連接工作模式下模塊又可分為主(Master)、從(Slave)和回環(huán)(Loopback)三種工作角色。當(dāng)模塊處于自動(dòng)連接工作模式時(shí),將自動(dòng)根據(jù)事先設(shè)定的方式連接的數(shù)據(jù)傳輸;當(dāng)模塊處于命令響應(yīng)工作模式時(shí)能執(zhí)行所有AT命令,用戶可向模塊發(fā)送各種AT指令,為模塊設(shè)定控制參數(shù)或發(fā)布控制命令。如圖所示。在使用HC-05之前,可以先對(duì)它進(jìn)行配置。4.5藍(lán)牙通信4.5.2HC-05藍(lán)牙模塊4.5藍(lán)牙通信4.5.3

電路的連接4.5藍(lán)牙通信4.5.3電路的連接ArduinoHC-055VVCCGNDGNDRXDTXDTXDRXD

4.5藍(lán)牙通信4.5.2程序的編寫手機(jī)端的操作由讀者自行搜索藍(lán)牙串口助手等類似軟件,安裝之后打開并連接上藍(lán)牙模塊。用手機(jī)軟件發(fā)送q,串口監(jiān)視器返回“LEDON!”,同時(shí)可看到板載LED燈打開了;發(fā)送我,串口監(jiān)視器返回”LEDOFF!”,同時(shí)可看到板載LED燈熄滅了。4.5藍(lán)牙通信4.5.2程序的編寫charval;intledpin=13;voidsetup(){Serial.begin(9600);//設(shè)置波特率pinMode(ledpin,OUTPUT);}voidloop(){val=Serial.read();//從串口讀數(shù)據(jù)if(val=='q'){digitalWrite(ledpin,HIGH);Serial.println("LEDON");}elseif(val=='w'){digitalWrite(ledpin,LOW);Serial.println("LEDOFF");}}4.5藍(lán)牙通信4.5.4使用虛擬串口連接Arduino和藍(lán)牙模塊我們使用softwareserial庫啟用兩數(shù)字引腳作為一個(gè)虛擬串口。這樣做是為了釋放硬件TX/RX引腳。為什么?如果你把藍(lán)牙模塊連接到TX/RX,你就很難通過USB上傳程序。當(dāng)電源打開時(shí),藍(lán)牙LED燈不斷閃爍,這意味著沒有連接。當(dāng)設(shè)備連接起來時(shí),每秒閃兩次則表示配對(duì)完畢,可以通信。電路連接如圖所示。4.5藍(lán)牙通信4.5.4使用虛擬串口連接Arduino和藍(lán)牙模塊第五章物聯(lián)網(wǎng)服務(wù)平臺(tái)

隨著技術(shù)的突破與發(fā)展,物聯(lián)網(wǎng)近兩年來的發(fā)展可謂一日千里,“物聯(lián)網(wǎng)+”逐漸替代“互聯(lián)網(wǎng)+”,成為業(yè)內(nèi)關(guān)注的焦點(diǎn)。眾多物聯(lián)網(wǎng)企業(yè)都瞄準(zhǔn)了“物聯(lián)網(wǎng)平臺(tái)”這樣一個(gè)發(fā)展方向,因?yàn)槠脚_(tái)在整個(gè)物聯(lián)網(wǎng)體系架構(gòu)中起著承上啟下的關(guān)鍵作用。物聯(lián)網(wǎng)平臺(tái)可以實(shí)現(xiàn)底層終端設(shè)備的“管、控、營”一體化,為上層提供應(yīng)用開發(fā)統(tǒng)一接口,構(gòu)建終端設(shè)備和業(yè)務(wù)的端到端通道。

第五章物聯(lián)網(wǎng)服務(wù)平臺(tái)

本章學(xué)習(xí)目標(biāo)

物聯(lián)網(wǎng)平臺(tái)分類

Cayenne平臺(tái)

NodeMCU

MQTT協(xié)議

樂為物聯(lián)

第五章物聯(lián)網(wǎng)服務(wù)平臺(tái)

5.1物聯(lián)網(wǎng)平臺(tái)的分類

隨著AI人工智能、機(jī)器學(xué)習(xí)等技術(shù)的進(jìn)一步成熟,物聯(lián)網(wǎng)平臺(tái)將為用戶提供更為強(qiáng)大的商業(yè)分析功能。據(jù)研究報(bào)告顯示,在2016年有超過100個(gè)全新的物聯(lián)網(wǎng)平臺(tái)已經(jīng)進(jìn)入了市場(chǎng),到2021年,市場(chǎng)規(guī)模將會(huì)加速增長(zhǎng)超過15億美元。眾所周知,IoT端到端的解決方案是一項(xiàng)極為龐大復(fù)雜的工程,根據(jù)功能物聯(lián)網(wǎng)平臺(tái)主要分為4個(gè)類型:終端管理、連接管理、應(yīng)用支持、業(yè)務(wù)分析。

第五章物聯(lián)網(wǎng)服務(wù)平臺(tái)

5.1物聯(lián)網(wǎng)平臺(tái)的分類

5.1.1設(shè)備管理平臺(tái)DMP(DeviceManagementPlatform)

5.1.2連接管理平臺(tái)CMP(ConnectivityManagementPlatform)

5.1.3應(yīng)用支持平臺(tái)AEP(ApplicationEnablementPlatform)5.1.4業(yè)務(wù)分析平臺(tái)BAP(BusinessAnalyticsPlatform)第五章物聯(lián)網(wǎng)服務(wù)平臺(tái)

5.2國內(nèi)常見的物聯(lián)網(wǎng)平臺(tái)

5.2.1百度“天工”智能物聯(lián)網(wǎng)平臺(tái)

5.2.2阿里L(fēng)ink物聯(lián)網(wǎng)平臺(tái)

5.2.3騰訊QQ物聯(lián)智能硬件開放平臺(tái)5.1.4業(yè)務(wù)分析平臺(tái)BAP(BusinessAnalyticsPlatform)本章學(xué)習(xí)目標(biāo):

串口通信

SPI,IIC通信

Arduino訪問網(wǎng)絡(luò)

藍(lán)牙通信

4.1串口通信前面章節(jié)中用到了Serial.begin()和Serial.print()等語句,這些語句就是在操作串口。Arduino與計(jì)算機(jī)通信最常用的方法就是串口通信,這在之前的學(xué)習(xí)中已接觸過。在Arduino控制器上,串口都是位于0(RX)和1(TX)的兩個(gè)引腳,Arduino的USB口通過一個(gè)轉(zhuǎn)換芯片與這兩個(gè)串口引腳連接。該轉(zhuǎn)換芯片會(huì)通過USB接口在計(jì)算機(jī)上虛擬出一個(gè)用于與Arduino通信的串口。因此當(dāng)使用USB線將Arduino與計(jì)算機(jī)連接時(shí),兩者之間便建立了串口連接。通過此連接,Arduino便可與計(jì)算機(jī)互傳數(shù)據(jù)了。要想使串口與計(jì)算機(jī)通信,需要先使用Serial.begin()函數(shù)初始化Arduino的串口通信功能,即Serial.begin(speed);其中參數(shù)speed指串口通信波特率,它是設(shè)定串口通信率的參數(shù)。串口通信的雙方必須使用相同的波特率才能正常通信。波特率越大,說明串口通信的速率越高。串口監(jiān)視器是Arduino自帶的一個(gè)小工具,可以用來查看串口的信息,也可以向連接的設(shè)備發(fā)送信息。需要注意的是,在串口的右下角有一個(gè)波特率設(shè)置下拉菜單,此處波特率的設(shè)置必須和程序中的一樣才能正常收發(fā)數(shù)據(jù)。除了輸出,串口同樣可以接收由計(jì)算機(jī)發(fā)出的數(shù)據(jù)。接收串口數(shù)據(jù)需要使用Serial.read()函數(shù)。在使用串口時(shí),Arduino會(huì)在SARM中開辟一段大小為64B的空間,串口接收到的數(shù)據(jù)會(huì)暫時(shí)存放在該空間中,稱這個(gè)存儲(chǔ)空間為緩沖區(qū)。在使用串口讀取數(shù)據(jù)時(shí),需要搭配使用serial.available()函數(shù)使用。4.2SPI通信如果需要使用大量數(shù)據(jù)或者保存大量數(shù)據(jù),那么Arduino自帶的EEPROM和Flash存儲(chǔ)空間就顯得捉襟見肘了。這樣可以選擇外置的存儲(chǔ)器來擴(kuò)展存儲(chǔ)空間,這里使用SD卡。如圖4-2所示。SD(securedigitalmemorycard)卡是一種基于半導(dǎo)體快閃記憶器的新一代存儲(chǔ)設(shè)備,它被廣泛引用于便攜式設(shè)備上,例如數(shù)碼相機(jī),手機(jī)和平板電腦等。以下是此類項(xiàng)目的簡(jiǎn)要使用方面:記錄光照,溫度,濕度隨時(shí)間變化的氣象站記錄你一天去過哪里的GPS追蹤和定位器能報(bào)告哪部分過熱的臺(tái)式機(jī)溫度檢測(cè)器4.2SPI通信4.2.1格式化SD卡在用Arduino開始記錄數(shù)據(jù)之前,準(zhǔn)備好你要用的SD卡。有些用全尺寸的SD卡,有些用微型SD卡。還要準(zhǔn)備好SD擴(kuò)展板。如圖4-3所示。為了完成本章的練習(xí),你需要為計(jì)算機(jī)準(zhǔn)備一個(gè)SD讀卡器。4.2SPI通信4.2.1格式化SD卡圖SD擴(kuò)展板4.2SPI通信4.2.2SD卡類庫成員函數(shù)4.2SPI通信4.2.3將SD卡接入ArduinoSD擴(kuò)展板ArduinoGNDGNDVCC5VCSUNO的10號(hào)引腳MOSIUNO的11號(hào)引腳SCKUNO的13號(hào)引腳MISOUNO的12號(hào)引腳4.2SPI通信4.2.4

程序的編寫#include<SPI.h>#include<SD.h>//將SD.h頭文件包含到本程序中,才能調(diào)用庫函數(shù)FilemyFile;

constintcs_pin=10;//設(shè)定cs接口

voidsetup(){Serial.begin(9600);Serial.println("Initializingthesdcard...");//串口輸出數(shù)據(jù)pinMode(cs_pin,OUTPUT);if(!SD.begin(cs_pin)){Serial.println("Initializationfailed!!");//如果與sd卡通信失敗,串口輸出信息failedreturn;}Serial.println("Initializationcomplete");//如果與SD卡通信成功,串口輸出信息}4.2SPI通信

前面我們學(xué)習(xí)過用DHT11傳感器記錄溫濕度,如果我們考慮要把這些溫濕度數(shù)據(jù)存儲(chǔ)到SD卡上,該怎么做?讀者可以思考一下序的編寫4.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.1Arduino的IIC接口---RTC時(shí)鐘模塊現(xiàn)在流行的時(shí)鐘電路很多,如DS1302、DS1307、PCF8485等。這些電路的接口簡(jiǎn)單、價(jià)格低廉、使用方便,被廣泛地采用。本文介紹的實(shí)時(shí)時(shí)鐘電路DS1302是美國DALLAS公司的一種具有涓細(xì)電流充電能力的低功耗實(shí)時(shí)時(shí)鐘芯片,主要特點(diǎn)是采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,并且可以關(guān)閉充電功能。采用普通32.768kHz晶振。它可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。我們這里采用的是實(shí)時(shí)時(shí)鐘模塊,已經(jīng)外接好晶振,紐扣電池。另外采用IIC的液晶顯示模塊。實(shí)時(shí)時(shí)鐘模塊如圖所示。4.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.1Arduino的IIC接口---RTC時(shí)鐘模塊4.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.2電路的連接DS1302時(shí)鐘模塊Arduino引腳VCCVCC(3.3v)GNDGNDCLKArduinoDigital4DATArduinoDigital3RSTArduinoDigital24.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.2電路的連接IIC液晶模塊Arduino引腳GNDGNDVCCVCC(5v)SDAA4SCLA54.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.2電路的連接4.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.3程序的設(shè)計(jì)在開始編寫程序之前,調(diào)用了wire,LiquidCrystal_I2C,DS1302三個(gè)庫函數(shù),接下來簡(jiǎn)單介DS1302中用到的一些函數(shù):4.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.3程序的設(shè)計(jì)#include<Wire.h>#include<LiquidCrystal_I2C.h>#include<DS1302.h>LiquidCrystal_I2Clcd(0x27,16,2);//初始化LCD,如果你的LCD不顯示,可以0x27換到其他的地址DS1302rtc(2,3,4); //初始化DS1302voidsetup(){lcd.init(); //初始化LCDlcd.backlight(); //打開背光rtc.halt(false); //設(shè)置時(shí)鐘運(yùn)行rtc.writeProtect(false); //打開寫保護(hù)rtc.setDOW(TUESDAY); //星期二rtc.setTime(11,30,00); //時(shí)間為11:30:00rtc.setDate(8,8,2017); //日期為2017年8月8號(hào)rtc.writeProtect(true); //關(guān)閉寫保護(hù)}4.3IIC通信-------Arduino與實(shí)時(shí)時(shí)鐘的連接4.3.3程序的設(shè)計(jì)voidloop(){lcd.clear();lcd.setCursor(0,0);lcd.print(rtc.getDateStr(FORMAT_LONG,FORMAT_LITTLEENDIAN,'/'));lcd.setCursor(11,0);lcd.print(rtc.getDOWStr());lcd.setCursor(14,0);lcd.print("");lcd.setCursor(0,1); //設(shè)置光標(biāo)到第二行,第一列l(wèi)cd.print(rtc.getTimeStr());delay(1000); //延時(shí)1s}4.5藍(lán)牙通信4.5.1藍(lán)牙模塊Blue-Tooth,藍(lán)牙,是一種支持設(shè)備短距離通信的無線電技術(shù),但是由于連接簡(jiǎn)單,支持全雙工傳輸且傳輸速率快,一般應(yīng)用在移動(dòng)電話、筆記本電腦、無線耳機(jī)和PDA等設(shè)備上。早在1994年,愛立信公司就開始研發(fā)藍(lán)牙技術(shù)了。經(jīng)過了多年的發(fā)展,藍(lán)牙由最初的一家公司研究逐漸成為現(xiàn)在擁有全球性的技術(shù)聯(lián)盟和推廣組織。由于藍(lán)牙的低功耗,低成本,安全穩(wěn)定并易于使用的特性使得藍(lán)牙在全球范圍內(nèi)使用非常廣泛。藍(lán)牙標(biāo)志如圖4-10所示:4.5藍(lán)牙通信4.5.1藍(lán)牙模塊4.5藍(lán)牙通信4.5.1藍(lán)牙模塊Arduino同樣支持藍(lán)牙通信,只需要安裝一個(gè)藍(lán)牙串口模塊,該模塊有4個(gè)接線引腳,分別是電源5V、GND和串口通信收發(fā)端TX,RX。實(shí)際上,這個(gè)藍(lán)牙模塊相當(dāng)于Arduino與其他設(shè)備進(jìn)行通訊的橋梁,利用這個(gè)藍(lán)牙模塊,可以替代USB將Arduino連接到電腦上,也可以讓Arduino連接其他用于藍(lán)牙功能的設(shè)備。在本例中演示安卓智能手機(jī)與Arduino的藍(lán)牙模塊通信,手機(jī)需要安裝藍(lán)牙通信軟件。4.5藍(lán)牙通信4.5.2HC-05藍(lán)牙模塊HC-05藍(lán)牙模塊的特點(diǎn):1.采用CSR主流藍(lán)牙芯片,藍(lán)牙V2.0協(xié)議標(biāo)準(zhǔn)。2.輸入電壓:3.6V--6V,禁止超過7V。3.波特率為1200,2400,4800,9600,19200,38400,57600,115200。4.帶連接狀態(tài)指示燈,LED快閃表示沒有藍(lán)牙連接;LED慢閃表示進(jìn)入AT命令模式。5.板載3.3V穩(wěn)壓芯

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論