零基礎(chǔ)學(xué)智能家居套件_第1頁
零基礎(chǔ)學(xué)智能家居套件_第2頁
零基礎(chǔ)學(xué)智能家居套件_第3頁
零基礎(chǔ)學(xué)智能家居套件_第4頁
零基礎(chǔ)學(xué)智能家居套件_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、零基礎(chǔ)學(xué)智能家居套件 -For Arduino一.簡介零基礎(chǔ)學(xué)智能家居套件是本公司最新推出的一款基于Arduino愛好者的安卓智能家居學(xué)習(xí)套件,為什么要學(xué)智能家居?我們先來看看智能家居的概念吧 智能家居核心的概念是讓人們能輕松享受生活。出門在外,您可以通過電話、電腦來遠程遙控您的家居各智能系統(tǒng),例如在回家的路上提前打開家中的空調(diào)和熱水器;到家開門時,安卓密碼鎖功能開啟,系統(tǒng)會自動打開電子門鎖,安防撤防.開啟家中的照明燈具和窗簾迎接您的歸來.回到家里,使用安卓手機您可以方便地控制房間內(nèi)各種電器設(shè)備,可以通過智能化照明系統(tǒng)選擇預(yù)設(shè)的燈光場景,讀書時營造書房舒適的安靜;臥室里營造浪漫的燈光氛圍這一切

2、,主人都可以安坐在沙發(fā)上從容操作,一個控制器可以遙控家里的一切,比如拉窗簾,給浴池放水并自動加熱調(diào)節(jié)水溫,調(diào)整窗簾、燈光、音響的狀態(tài).智能家居能做的事情還有很多,在此就不一一累述了。總之,智能家居系統(tǒng)能夠有時間享受生活的舒適,同時更能節(jié)約用電。正如比爾蓋茨所言:在不遠未來,沒有智能家居系統(tǒng)的住宅會像今天不能上網(wǎng)的住宅那樣不合潮流。 科易公司研發(fā)團隊開發(fā)的模擬教學(xué)的智能家居的套件,安卓部分采用串口數(shù)據(jù)發(fā)送軟件來操作,控制部分采用ARDUINO 單片機來控制,目的是讓大家能通過這種方式了解智能家居的系統(tǒng)。二.清單:1.ARDUINO UNO R3開發(fā)板 1個2.ARDUINO XBEE V5.0傳

3、感器擴展板 1個3.bluebee藍牙模塊 1個4.LCD1602 I2C液晶模塊1個5.4路繼電器模塊1個6.紅色食人魚LED模塊1個7.綠色食人魚LED模塊1個8.藍色食人魚LED模塊1個9.3WLED模塊1個10.有源蜂鳴模塊1個11.無源源蜂鳴模塊1個12.光敏電阻模塊1個 13.可調(diào)電位器模塊1個14.土壤濕度傳感器1個 15.煙霧傳感器模塊1個 16.輝盛9克舵機 2個17.6節(jié)5號電池盒18.3PIN連接線 12條19.母對母杜邦線 2020USB連接線1條三.教程一覽:1.LED燈閃爍2.PWM調(diào)光3.交通燈實驗4.蜂鳴器實驗5.模擬值讀取6.光控聲音7.舵機控制8.繼電器控制

4、9.I2C 1602液晶控制10.土壤濕度實驗11.藍牙控制12.藍牙智能家居系統(tǒng)實驗四.Arduino單片機介紹 Arduino是源自意大利的一個開放源代碼的硬件項目平臺,該平臺包括一塊具備簡單I/O功能的電路板以及一套程序開發(fā)環(huán)境軟件。Arduino可以用來開發(fā)交互產(chǎn)品,比如它可以讀取大量的開關(guān)和傳感器信號,并且可以控制電燈、電機和其他各式各樣的物理設(shè)備;Arduino也可以開發(fā)出與PC相連的周邊裝置,能在運行時與PC上的軟件進行通信。Arduino是一個開放源碼電子原型平臺,擁有靈活、易用的硬件和軟件。要給Arduino下一個最準(zhǔn)確的定義,最好用一些實例來描述。您想當(dāng)咖啡煮好時,咖啡壺就

5、發(fā)出“吱吱”聲提醒您嗎?您想當(dāng)郵箱有新郵件時,電話會發(fā)出警報通知您嗎?想要一件閃閃發(fā)光的絨毛玩具嗎?想要一款具備語音和酒水配送功能的X教授蒸汽朋克風(fēng)格輪椅嗎?想要一套按下快捷鍵就可以進行實驗測試蜂音器嗎?想為您的兒子自制一個銀河戰(zhàn)士手臂炮嗎?想自制一個心率監(jiān)測器,將每次騎腳踏車的記錄存進存儲卡嗎?想過自制一個能在地面上繪圖,能在雪中馳騁的機器人嗎? Arduino都可以為您實現(xiàn)。 Arduino驅(qū)動的安裝我們先來下載Arduino的開發(fā)軟件,web地址:http:/arduino.cc/en/Main/Software下載下來的文件是一個arduino-0023.zip的壓縮文件夾,解壓出來到

6、硬盤。將Arduino UNO R3開發(fā)板通過USB線連接到Windows時,就會提示有名為“Arduino UNO R3“的新USB設(shè)備找到, 接著Windows會引導(dǎo)我們進入“找到新的硬件向?qū)А贝翱冢x取其中的“否,暫時不”選項后單擊“下一步”按鈕:接下來的步驟需要安裝Arduino UNO R3所需的驅(qū)動,選取其中的“從列表或指定位置安裝(高級)”選項后單擊“下一步”按鈕:Arduino UNO R3驅(qū)動放在Arduino 0023安裝目錄下的drivers目錄中,我們需要為Windows指明該目錄為安裝驅(qū)動時搜索的目錄:單擊“下一步”按鈕后,Windows就開始查找并安裝Arduino

7、 驅(qū)動程序:如果一切正常的話,我們將看到如下的成功界面:Arduino驅(qū)動安裝成功之后,我們可以在Windows設(shè)備管理器中找到相應(yīng)的Arduino串口:*五. 實驗課程這里大家應(yīng)該對Arduino有一個初步的了解了,我們下面通過實際操作來學(xué)習(xí).例程1 LED 閃爍實驗LED 小燈實驗是比較基礎(chǔ)的實驗之一,我們用高亮LED發(fā)光模塊來完成這個實驗。實驗器材如下:Arduino uno R3*1Arduino IO 口擴展板V5*1高亮LED發(fā)光模塊*1 3PIN傳感器連接線*1 小燈實驗原理圖 實物圖按照上圖鏈接好電路后,就可以開始編寫程序了,我們還是讓LED 小燈閃爍,點亮1 秒熄滅1 秒。這

8、個程序很簡單與Arduino 自帶的例程里的Blink 相似只是將13 數(shù)字接口換做10 數(shù)字接口。int ledPin = 10; /定義數(shù)字10 接口void setup()pinMode(ledPin, OUTPUT);/定義小燈接口為輸出接口void loop()digitalWrite(ledPin, HIGH); /點亮小燈delay(1000); /延時1 秒digitalWrite(ledPin, LOW); /熄滅小燈delay(1000); / 延時1 秒編好后點擊下載緊接著我們就可以看到我們接到IO口10腳上 的高亮LED燈模塊在閃爍了,這樣我們的小燈閃爍實驗就完成了。*

9、注意:Arduino 開發(fā)軟件的選擇TOOLS欄板卡的選項是UNO,通訊端口要選擇初次安裝出現(xiàn)的串口兩項缺一不可,否則不能下載程序。*例程2 PWM 調(diào)光PWM(Pulse-width modulation)脈寬調(diào)制PWM是使用數(shù)字手段來控制模擬輸出的一種手段。使用數(shù)字控制產(chǎn)生占空比不同的方波(一個不停在開與關(guān)之間切換的信號)來控制模擬輸出。一般來說端口的輸入電壓只有兩個0V與5V。如我我想要3V的輸出電壓怎么辦。有同學(xué)說串聯(lián)電阻,對,這個方法是正確滴。但是如果我想1V,3V,3.5V等等之間來回變動怎么辦呢?不可能不停地切換電阻吧。這種情況下。就需要使用PWM了。他是怎么控制的呢,對于ard

10、uino的數(shù)字端口電壓輸出只有LOW與HIGH兩個開關(guān),對應(yīng)的就是0V與5V的電壓輸出,咱本把LOW定義為0,HIGH定義為1.一秒內(nèi)讓arduino輸出500個0或者1的信號。如果這500個全部為1,那就是完整的5V,如果全部為0,那就是0V。如果010101010101這樣輸出,剛好一半一半,輸出端口就感覺是2.5V的電壓輸出了。這個和咱們放映電影是一個道理,咱們所看的電影并不是完全連續(xù)的,它其實是每秒輸出25張圖片,在這種情況下人的肉眼是分辨不出來的,看上去就是連續(xù)的了。PWM也是同樣的道理,如果想要不同的電壓,就控制0與1的輸出比例控制就ok當(dāng)然。這和真實的連續(xù)輸出還是有差別的,單位時

11、間內(nèi)輸出的0,1信號越多,控制的就越精確。在下圖中,綠線之間代表一個周期,其值也是PWM頻率的倒數(shù)。換句話說,如果arduino PWM的頻率是500Hz,那么兩綠線之間的周期就是2毫秒。 analogWrite() 命令中可以操控的范圍為0-255, analogWrite(255)表示100%占空比(常開), analogWrite(127)占空比大約為50%(一半的時間)。本次實驗通過PWM來控制一盞LED燈,讓它慢慢變亮再慢慢變暗,如此循環(huán)。同樣我們還是把高亮LED模塊接到數(shù)字IO口的10腳,下面是接線圖:我們來編程:int brightness = 0; / how bright t

12、he LED isint fadeAmount = 5; / how many points to fade the LED byvoid setup() / declare pin 10 to be an output: pinMode(10, OUTPUT); void loop() / set the brightness of pin 10: analogWrite(10, brightness); / change the brightness for next time through the loop: brightness = brightness + fadeAmount;

13、/ reverse the direction of the fading at the ends of the fade: if (brightness = 0 | brightness = 255) fadeAmount = -fadeAmount ; / wait for 30 milliseconds to see the dimming effect delay(30); 同樣我們還是下載到ARDUINO就這樣我們用編程的手法讓LED漸明漸暗,如同呼吸一般,所以我們給它起了一個神奇的名字,呼吸燈。例程3 交通燈設(shè)計實驗上面我們已經(jīng)完成了單個小燈的控制實驗,接下來我們就來做一個稍微復(fù)雜

14、一點的交通燈實驗,其實聰明的朋友們可以看出來這個實驗就是將上面單個小燈的實驗擴展成3 個顏色的小燈,就可以實現(xiàn)我們模擬交通燈的實驗了。我們完成這個實驗所需的元件除了Arduino兼容 控制器和下載線還需要的硬件如下:紅色LED模塊*1 藍色LED模塊*1綠色LED模塊*13PIN線*3準(zhǔn)備好上述元件我們就可以開工了,我們可以按照上面小燈閃爍的實驗舉一反三,下面是我們提供參考的原理圖,我們使用的分別是數(shù)字10、7、4、接口.下面我們來編程:int redled =10; /定義數(shù)字10 接口int blueled =7; /定義數(shù)字7 接口int greenled =4; /定義數(shù)字4 接口vo

15、id setup()pinMode(redled, OUTPUT);/定義紅色小燈接口為輸出接口pinMode(blueled, OUTPUT); /定義藍色小燈接口為輸出接口pinMode(greenled, OUTPUT); /定義綠色小燈接口為輸出接口void loop()digitalWrite(redled, HIGH);/點亮紅色小燈delay(1000);/延時1 秒digitalWrite(redled, LOW); /熄滅紅色小燈digitalWrite(blueled, HIGH);/點亮藍色小燈delay(200);/延時0.2 秒digitalWrite(blueled

16、, LOW);/熄滅藍色小燈digitalWrite(greenled, HIGH);/點亮綠色小燈delay(1000);/延時1 秒digitalWrite(greenled, LOW);/熄滅綠色小燈既然是交通燈模擬實驗,紅藍綠三色小燈閃爍時間就要模擬真實的交通燈,我們使用Arduino 的delay()函數(shù)來控制延時時間,相對于C 語言就要簡單許多了。點擊下載到ARDUINO下載程序完成后就可以看到我們自己設(shè)計控制的交通燈。例程4 蜂鳴器發(fā)聲實驗用Arduino 可以完成的互動作品有很多,最常見也最常用的就是聲光展示了,前面一直都是在用LED 小燈在做實驗,本個實驗就讓大家的電路發(fā)出聲

17、音,能夠發(fā)出聲音的最常見的元器件就是蜂鳴器和喇叭了,兩者相比較蜂鳴器更簡單和易用所以我們本實驗采用蜂鳴器。以下是要準(zhǔn)備的元件:蜂鳴器模塊*13PIN線*1 連接圖:連接電路時要注意一點就是蜂鳴器有正負極之分,下面右側(cè)實物圖可看到蜂鳴器有紅黑兩種接線。連接好電路程序這方面就很簡單了,與前面按鍵控制小燈是實驗程序類似,因為蜂鳴器的控制接口也是數(shù)字接口輸出高低電平就可以控制蜂鳴器的鳴響。下面我們來編程:int buzzer=8;/設(shè)置控制蜂鳴器的數(shù)字IO腳void setup() pinMode(buzzer,OUTPUT);/設(shè)置數(shù)字IO腳模式,OUTPUT為輸出 void loop() unsi

18、gned char i,j;/定義變量while(1) for(i=0;i80;i+)/輸出一個頻率的聲音 digitalWrite(buzzer,HIGH);/發(fā)聲音delay(1);/延時1ms digitalWrite(buzzer,LOW);/不發(fā)聲音delay(1);/延時ms for(i=0;i100;i+)/輸出另一個頻率的聲音 digitalWrite(buzzer,HIGH);/發(fā)聲音delay(2);/延時2ms digitalWrite(buzzer,LOW);/不發(fā)聲音delay(2);/延時2ms 點擊下載到ARDUINO),下載完程序,蜂鳴器實驗就完成了.例程5 模

19、擬值讀取實驗本實驗我們就來開始學(xué)習(xí)一下模擬I/O 接口的使用Arduino 有模擬0模擬5 共計6 個模擬接口,這6 個接口也可以算作為接口功能復(fù)用,除模擬接口功能以外,這6 個接口可作為數(shù)字接口使用,編號為數(shù)字14數(shù)字19,簡單了解以后,下面就來開始我們的實驗。電位計是大家比較熟悉的典型的模擬值輸出元件,本實驗就用它來完成。所需元器件有:電位計模塊*1 3PIN線*1本實驗我們將電位計的阻值轉(zhuǎn)化為模擬值讀取出來,然后顯示到屏幕上,這也是我們以后完成自己所需的實驗功能所必須掌握的實例應(yīng)用。我們先要按照以下電路圖連接實物圖我們使用的是模擬0 接口。程序的編寫也很簡單,一個analogRead()

20、;語句就可以讀出模擬口的值,Arduino 328是10 位的A/D 采集,所以讀取的模擬值范圍是0-1023,本個實驗的程序里還有一個難點就是顯示數(shù)值在屏幕這一問題,學(xué)習(xí)起來也是很簡單的。首先我們要在voidsetup()里面設(shè)置波特率,顯示數(shù)值屬于Arduino 與PC 機通信,所以Arduino 的波特率應(yīng)與PC 機軟件設(shè)置的相同才能顯示出正確的數(shù)值,否則將會顯示亂碼或是不顯示,在Arduino 軟件的監(jiān)視窗口右下角有一個可以設(shè)置波特率的按鈕,這里設(shè)置的波特率需要跟程序里void setup()里面設(shè)置波特率相同,程序設(shè)置波特率的語句為Serial.begin();括號中為波特率的值。其

21、次就是顯示數(shù)值的語句了,Serial.print();或者Serial.println();都可以,不同的是后者顯示完數(shù)值后自動回車,前者不是,更多的關(guān)于語句的講解前面有介紹這里就不再多說了,我們來寫程序:int potpin=0;/定義模擬接口0int ledpin=13;/定義數(shù)字接口13int val=0;/將定義變量val,并賦初值0void setup()pinMode(ledpin,OUTPUT);/定義數(shù)字接口為輸出接口Serial.begin(9600);/設(shè)置波特率為9600void loop()digitalWrite(ledpin,HIGH);/點亮數(shù)字接口13 的LED

22、delay(50);/延時0.05 秒digitalWrite(ledpin,LOW);/熄滅數(shù)字接口13 的LEDdelay(50);/延時0.05 秒val=analogRead(potpin);/讀取模擬接口0 的值,并將其賦給valSerial.println(val);/顯示出val 的值點擊(下載到ARDUINO),*下面就是讀出的模擬值。本實驗到這里就完成了,當(dāng)您旋轉(zhuǎn)電位計旋鈕的時候就可以看到屏幕上數(shù)值的變化了,讀取模擬值這個方法將一直陪伴我們,模擬值讀取是我們很常用的功能,因為很多傳感器都是模擬值輸出,我們讀出模擬值后再進行相應(yīng)的算法處理,就可以應(yīng)用到我們需要實現(xiàn)的功能里了。例

23、程 6 光控聲音實驗 光敏電阻器(photovaristor)又叫光感電阻,是利用半導(dǎo)體的光電效應(yīng)制成的一種電阻值隨入射光的強弱而改變的電阻器;入射光強,電阻減小,入射光弱,電阻增大。光敏電阻器一般用于光的測量、光的控制和光電轉(zhuǎn)換(將光的變化轉(zhuǎn)換為電的變化)。光敏電阻可廣泛應(yīng)用于各種光控電路,如對燈光的控制、調(diào)節(jié)等場合,也可用于光控開關(guān)。本次實驗我們先進行一個較為簡單的光敏電阻的使用實驗1、實驗器件 n光敏電阻模塊:1個 n有源蜂鳴器模塊:1個 3PIN線*22、實驗連線 3、實驗原理 本程序應(yīng)用前面幾節(jié)讀取模擬口電壓值的方法,直接將光敏電阻接在數(shù)字口。當(dāng)有光照時,光敏電阻的阻值減小,蜂鳴器不

24、響。遮擋光敏電阻模塊時,正常發(fā)出聲音,下面我們來編程:int val;void setup()val = 0;Serial.begin(9600);pinMode( 10 , OUTPUT);void loop()val = analogRead(A0) ;Serial.print( light: );Serial.print( val );Serial.println();if ( ( val ) = ( 50 ) )digitalWrite( 10 , HIGH );delay( 1000 );elsedigitalWrite( 10 , LOW );delay( 1000 ); 點擊(下

25、載到ARDUINO),就可以通過光的亮度來控制蜂鳴器的發(fā)聲。掌握本程序后,大家可以自己動手設(shè)計實驗,也可以用光敏電阻控制led燈亮度。例程7 舵機控制實驗舵機是一種位置伺服的驅(qū)動器,主要是由外殼、電路板、無核心馬達、齒輪與位置檢測器所構(gòu)成。其工作原理是由接收機或者單片機發(fā)出信號給舵機,其內(nèi)部有一個基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms 的基準(zhǔn)信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。經(jīng)由電路板上的IC 判斷轉(zhuǎn)動方向,再驅(qū)動無核心馬達開始轉(zhuǎn)動,透過減速齒輪將動力傳至擺臂,同時由位置檢測器送回信號,判斷是否已經(jīng)到達定位。適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。當(dāng)

26、電機轉(zhuǎn)速一定時,通過級聯(lián)減速齒輪帶動電位器旋轉(zhuǎn),使得電壓差為0,電機停止轉(zhuǎn)動。一般舵機旋轉(zhuǎn)的角度范圍是0 度到180 度。舵機有很多規(guī)格,但所有的舵機都有外接三根線,分別用棕、紅、橙三種顏色進行區(qū)分,由于舵機品牌不同,顏色也會有所差異,棕色為接地線,紅色為電源正極線,橙色為信號線。舵機的轉(zhuǎn)動的角度是通過調(diào)節(jié)PWM(脈沖寬度調(diào)制)信號的占空比來實現(xiàn)的,標(biāo)準(zhǔn)PWM(脈沖寬度調(diào)制)信號的周期固定為20ms(50Hz),理論上脈寬分布應(yīng)在1ms到2ms 之間,但是,事實上脈寬可由0.5ms 到2.5ms 之間,脈寬和舵機的轉(zhuǎn)角0180相對應(yīng)。有一點值得注意的地方,由于舵機牌子不同,對于同一信號,不同牌

27、子的舵機旋轉(zhuǎn)的角度也會有所不同。了解了基礎(chǔ)知識以后我們就可以來學(xué)習(xí)控制一個舵機了,本實驗所需要的元器件很少只需要舵機一個、跳線一扎就可以了。RB412 舵機*1 面包板跳線*1 扎用Arduino 控制舵機的方法有兩種,一種是通過Arduino 的普通數(shù)字傳感器接口產(chǎn)生占空比不同的方波,模擬產(chǎn)生PWM 信號進行舵機定位,第二種是直接利用Arduino 自帶的Servo 函數(shù)進行舵機的控制,這種控制方法的優(yōu)點在于程序編寫,缺點是只能控制2 路舵機,因為Arduino 自帶函數(shù)只能利用數(shù)字9、10 接口。Arduino 的驅(qū)動能力有限,所以當(dāng)需要控制1 個以上的舵機時需要外接電源。這里我們通過電位

28、器模塊控制一個舵機轉(zhuǎn)動使用原件:arduino 控制板*1電位器模塊*19克舵機*1傳感器連接線*1這里要注意,不要使用電腦usb供電,因為如果電流需求大于500ma,會有燒毀usb的可能,推薦使用電池外置供電。我們來編程:#include int _ABVAR_1_val;int _ABVAR_2_servo;Servo servo_pin_9;void setup()_ABVAR_1_val = 0;servo_pin_9.attach(9);_ABVAR_2_servo = 0;void loop()_ABVAR_1_val = analogRead(A0) ;_ABVAR_2_serv

29、o = map ( _ABVAR_1_val , 0 , 1023 , 0 , 180 ) ;servo_pin_9.write( _ABVAR_2_servo );編好后點擊(下載到ARDUINO)把程序燒到開發(fā)板里面,我們就可以利用電位器控制舵機了。例程8 繼電器控制我們先來認識一下繼電器模塊繼電器是一種當(dāng)輸入量(激勵量)的變化達到規(guī)定要求時,在電氣輸出電路中使被控量發(fā)生預(yù)定的階躍變化的一種電器。本公司生產(chǎn)的繼電器模塊可以接在 240V 交流或 28V 直流電源中對各種其它電器件進行控制。利用單片機可以實現(xiàn)定時控制開關(guān)的目的。可以應(yīng)用于防盜,報警,玩具,建設(shè)等領(lǐng)域。繼電器是一種電控制器件。

30、它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路)之間的互動關(guān)系。通常應(yīng)用于自動化的控制電路中,它實際上是用小電流去控制大電流運作的一種“自動開關(guān)”。故在電路中起著自動調(diào)節(jié)、安全保護、轉(zhuǎn)換電路等作用。特別適合于單片機控制強電裝置。在控制和使用上也非常方便,只需要給繼電器的輸出端輸入相應(yīng)不同的電平,即可達到通過控制繼電器控制其它設(shè)備的目的,另外,在多路繼電器 PCB 布局上采用了兩行式布局,方便用戶引出線的連接。同時在電路中了加了一個直流二極管大大提高了繼電器模塊的搞電流能力防止三極管被燒壞。另外我們在這款繼電器中增加了一個電源指示燈(一路繼電器除外),指示燈為紅色。在各路繼電器中也增加

31、了一個狀態(tài)指示燈??梢宰尨蠹覍崟r觀察繼電器的開關(guān)狀態(tài)。主要用途繼電器是具有隔離功能的自動開關(guān)元件,廣泛應(yīng)用于遙控、遙測、 通訊、自動控制、機電一體化及電力電子設(shè)備中,是最重要的控制元件之一。歸結(jié)起來有如下的作用:1) 擴大控制范圍:例如,多觸點繼電器控制信號達到某一定值時,可以按觸點組的不同形式,同時換接、開斷、接通多路電路。 2) 放大:例如,靈敏型繼電器、 中間繼電器等,用一個很微小的控制量,可以控制很大功率的電路。 3) 綜合信號:例如,當(dāng)多個控制信號按規(guī)定的形式輸入多繞組繼電器時,經(jīng)過比較綜合,達到預(yù)定的控制效果。 4) 自動、遙控、監(jiān)測:例如,自動裝置上的繼電器與其他電器一起,可以組

32、成程序控制線路,從而實現(xiàn)自動化運行注意事項1)額定工作電壓:是指繼電器正常工作時線圈所需要的電壓, 也就是控制電路的控制電壓。根據(jù)繼電器的型號不同,可以是交流電壓,也可以是直流電壓。 2)直流電阻:是指繼電器中線圈的直流電阻,可以通過萬用表測量。 3)吸合電流:是指繼電器能夠產(chǎn)生吸合動作的最小電流。在正常使用時,給定的電流必須略大于吸合電流,這樣繼電器才能穩(wěn)定地工作。而對于線圈所加的工作電壓,一般不要超過額定工作電壓的 1.5 倍,否則會產(chǎn)生較大的電流而把線圈燒毀。 4) 釋放電流: 是指繼電器產(chǎn)生釋放動作的最大電流。當(dāng)繼電器吸合狀態(tài)的電流減小到一定程度時,繼電器就會恢復(fù)到未通電的釋放狀態(tài)。這

33、時的電流遠遠小于吸合電流。 5)觸點切換電壓和電流:是指繼電器允許加載的電壓和電流。它決定了繼電器能控制電壓和電流的大小,使用時不能超過此值,否則很容易損壞繼電器的觸點。模塊測試下面是關(guān)于繼電器控制的一個簡單測試程序: int relay = 10; /繼電器導(dǎo)通觸發(fā)信號-高電平有效;void setup()pinMode(relay,OUTPUT); /定義端口屬性為輸出;void loop()digitalWrite(relay,HIGH); /繼電器導(dǎo)通;delay(1000);digitalWrite(relay,LOW); /繼電器開關(guān)斷開;delay(1000);在以上的介紹中我只

34、是介紹了四路繼電器里面一路的控制,其實四路的繼電器它們不論在接線還是控制上都是一樣的。例程9 I2C1602液晶控制一、產(chǎn)品介紹大家都知道,LCD 以及數(shù)碼管之類的顯示器它們雖然極大豐富了人機交互性,但是我們有個共同的特點就是,與控制器連接是都要占用較多的 IO 口線,這對一些外圍接口不夠豐富的控制器是一大難題,同時也限制了控制器的其他功能,針對這點,我們的帶I2C 接口的 LCD1602 就能很好的解決這個問題,而且使用起來也是比較簡單。二、產(chǎn)品特點接口:I2C 接口 I2C 地址:0x27管腳定義:VCC、GND、SDA、SCL工作電壓:+5V 尺寸:27.7mm42.6mm 對比度調(diào)節(jié):

35、通過電位器 只使用兩個 IO 接口三、使用說明由于該模塊是 I2C 接口的,所以我們再使用時要遵循 I2C 的協(xié)議,要包含相應(yīng)的頭文件才行,并且一定要加到庫中,下面會有介紹。還是先來看看它與 Arduino 控制板是如何連接的那么在使用時我們只要按照這個原理圖接線就可以了,具體細節(jié)后續(xù)介紹。四、模塊測試硬件要求1、Arduino 控制器 12、USB 數(shù)據(jù)線 13、I2C LCD1602 模塊 1測試要求的東西就那么多,同上次的一樣,我們這次做個簡單測試,我們在 LCD 上顯示一行字符“”;好了,先看測試代碼#include #include LiquidCrystal_I2C lcd(0x2

36、7,16,2); / set the LCD address to 0x27 for a 16 chars and 2 line displayvoid setup()lcd.init(); / initialize the lcd / Print a message to the LCD.lcd.backlight();lcd.print( );void loop()在測試代碼的時候一定要將 Wire、LiquidCrystal_I2C 這兩個頭文件添加到我們的庫中,這是該模塊工作的保證!好了,我們下次使用 LCD 就不會那么費勁了。例程10土壤濕度傳感器控制我們先來看實物這是一個簡易的水份

37、傳感器可用于檢測土壤的水份,當(dāng)土壤缺水時,傳感器輸出的模擬值將減小,反之將增大。使用這個傳感器制作一款自動澆花裝置,當(dāng)您長時間不在家或過了澆水的時間,它可以感測到您的植物是否已經(jīng)渴了。防止植物枯萎了才知道是缺水造成的。配合Arduino控制器讓您的植物更舒適,花園更智能。土壤濕度傳感器模塊,它并不是什么高深的東西, 但是如果你需要在工程中用到對土壤濕度的檢查,它將是你最好的選擇。通過讀取兩個電極之間的電流的變化,傳感器使用兩個探頭,電流通過土壤,然后讀取該電阻得到的水分含量。水比較多的情況下,使土壤更容易地進行電力(減少阻力),而干燥的土壤導(dǎo)電性差(電阻)。 傳感器表面做了金屬化處理,可以延長

38、它的使用壽命。將它插入土壤,然后使用AD轉(zhuǎn)換器讀取它。在它的幫助下,植物會提醒您:我要喝水了,請給我我一點水喝。技術(shù)規(guī)格供電電壓:3.3V或5V工作電流:小于20mA輸出電壓:0-2.3V【2.3V是完全浸泡在水中的電壓值】,5V供電,濕度越大輸出電壓越大。傳感器類型:模擬輸出包裝方式:靜電袋密封接口定義:1腳信號,2腳地,3腳電源正使用壽命:大約1年(表面鍍金處理,加強了導(dǎo)電性和抗腐蝕性)模塊尺寸:20X60mmArduino 測試代碼:測試代碼:/* # Example code for the moisture sensor# Connect the sensor to the A0(A

39、nalog 0) pin on the Arduino board # the sensor value description # 0 300 dry soil # 300700 humid soil # 700950 in water*/void setup() Serial.begin(57600);void loop() Serial.print(Moisture Sensor Value:); Serial.println(analogRead(0); delay(100);代碼下載到ARDUINO里面后,我們就可以通過串口監(jiān)測看到土壤的濕度了。例程11藍牙控制藍牙-這個名稱來自于第

40、十世紀(jì)的一位丹麥國王 Harald Blatand , Blatand 在英文里的意思可以被解釋為 Bluetooth( 藍牙 )。所謂藍牙(Bluetooth)技術(shù),實際上是一種短距離無線電技術(shù),利用“藍牙”技術(shù),能夠有效地簡化掌上電腦、筆記本電腦和移動電話手機等移動通信終端設(shè)備之間的通信,也能夠成功地簡化以上這些設(shè)備與因特網(wǎng)(Internet)之間的通信,從而使這些現(xiàn)代通信設(shè)備與因特網(wǎng)之間的數(shù)據(jù)傳輸變得更加迅速高效,為無線通信拓寬道路。Bluetooth Bee 藍牙無線數(shù)傳模塊采用XBEE造型設(shè)計,體積尺寸緊湊,兼容XBEE的擴展底座,適用于各種3.3V的單片機系統(tǒng),模塊可以使用AT指令

41、設(shè)置波特率和主從機模式,默認波特率:9600,配對密碼1234,從機模式。參數(shù)1)藍牙協(xié)議:藍牙 2.1+EDR 標(biāo)準(zhǔn)2)USB 協(xié)議:USB v1.1/2.03)工作頻率:2.4GHz ISM 頻段4)調(diào)制方式:高斯頻移鍵控5)發(fā)射功率: 4dBm,第二級6)靈敏度: -84dBm at 0.1% 誤信率7)傳輸速率:2.1Mbps(Max)/160 kbps(Asynchronous);1Mbps/1Mbps(Synchronous)8)安全特性:認證和加密9)支持配置:藍牙串口(主和從)10)供電電壓:+3.3 VDC 50mA 11)工作溫度:-20 到 55 攝氏度 因為是初次與藍牙

42、模塊打交道,今天還是先來小試牛刀,讓Arduino與手機成功通信吧。先來接線,當(dāng)藍牙模塊成功的和手機連接后,藍牙模塊連接指示燈綠燈會點亮。 下面就來看看程序吧,我就讓Arduino接收到我手機輸入的r后,是pin13接口的LED閃爍一下,再輸出keyes字樣。程序如下:char val;int ledpin=13;void setup() Serial.begin(9600); pinMode(ledpin,OUTPUT);void loop() val=Serial.read(); if(val=r) digitalWrite(ledpin,HIGH); delay(500); digita

43、lWrite(ledpin,LOW); delay(500); Serial.println(keyes); 怎么樣,藍牙的基本原理你掌握了沒有。藍牙通訊在日常的生活中是很常見的,希望大家能熟練掌握藍牙的操作。例程12藍牙智能家居綜合應(yīng)用我們先看藍牙智能家居的原理圖通過上圖我們不難看出,這套智能家居套裝,是應(yīng)用ARDUINO 和安卓系統(tǒng)的交互。其原理就是手機上的安卓系統(tǒng)通過藍牙發(fā)送指令,來控制ARDUINO單片機控制外圍模塊的動作,和讀取外圍的傳感器的值。正是由于ARDUINO 和安卓兩大系統(tǒng)開源特性,所以我們有機會把未來流行的智能家居建立在其基礎(chǔ)之上。當(dāng)然,今天我們只是初步的勾勒出了一個智能

44、家居的模型,主要是提供想學(xué)習(xí)又苦于沒有資料的愛好者的一個入門的學(xué)習(xí)。離真正的智能家居,我們還有很長的一段路要走。再看接線示意圖通過前面11節(jié)的學(xué)習(xí),大家應(yīng)該對這個接線圖不會陌生了吧,圖示的每個IO口對應(yīng)的XBEE V5.0擴展板上的電子積木接口。注意,因為接了舵機,所以要用ARDUINO 主板要用外接電源,就用6節(jié)5號電池供電,還要注意,程序燒好之后才能插藍牙,不然無法下載程序。廢話不說,上程序:/*/*科易互動科技-安卓智能家居程序*/*Write by LAYHOYA COPY by zuo*/*http:/keyes-*/*Date:2013.5.9*/*#include #includ

45、e #include #include pitches.hLiquidCrystal_I2C lcd(0x27,16,2); / set the LCD address to 0x27 for a 16 chars and 2 line displayint melody = NOTE_E4, NOTE_E4, NOTE_E4, NOTE_C4, NOTE_E4, NOTE_G4, NOTE_G3, NOTE_C4, NOTE_G3, NOTE_E3, NOTE_A3, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_E4, NOTE_G4, NOTE_A4

46、, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_B3, NOTE_C4, NOTE_G3, NOTE_E3, NOTE_A3, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_B3, NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_GS3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C

47、4, NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_C5, NOTE_C5, NOTE_C5, NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_GS3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_DS4, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_A3, NOTE_G3, NOT

48、E_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_A3, NOTE_G3;int duration = 110; Servo myservo;Servo myservo2;int analogInPin0 = A0;/定義模擬信號1在A0腳位int analogInPin1 = A1;/定義模擬信號2在A1腳位int analogInPin2 = A2;/定義模擬信號3在A2腳位int analogInPin3 = A3;/定義模擬信號4在A3腳位int delay_counter = 0;int sensorValue = 0; int sensorValue1 = 0; int sensorValue2 = 0; int sensorValue3 = 0; int R_LED = 6;/定義三色RGB的紅色腳位int G_LED = 5;/定義三色RGB的綠色腳位int B_LED = 3;/定義三色RGB的藍色腳位int W3w_LED = 13;/定義3W LED 腳位int value = 0;int Pass

溫馨提示

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

評論

0/150

提交評論