Arduino基礎(chǔ)實驗_第1頁
Arduino基礎(chǔ)實驗_第2頁
Arduino基礎(chǔ)實驗_第3頁
Arduino基礎(chǔ)實驗_第4頁
Arduino基礎(chǔ)實驗_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Arduino基礎(chǔ)實驗北郵 信通院孫文生微信公號:模電數(shù)電新浪微博:模電數(shù)電提綱0. 關(guān)于Arduino1. 自動控制路燈2. 數(shù)字溫度計3. 智能溫控風(fēng)扇4. 同向比例運算你需要這個開發(fā)板Arduino UNO R3微控制器:ATmega328p時鐘:16MHz,F(xiàn)lash: 32KB (1萬次擦寫)SRAM: 2KB,EEPROM: 1KB (10萬次擦寫)數(shù)字I/O口14個 (6個提供PWM輸出)模擬輸入口6個集成開發(fā)環(huán)境Arduino IDEArduino 1.6.12售價:15-26元你需要這個開發(fā)板你需要這個開發(fā)板你需要這個開發(fā)板你需要這個開發(fā)板或者你有這個板子Digispark

2、kickstarter 微型開發(fā)板微控制器:ATtiny85Flash: 8KB (1萬次擦寫)SRAM: 512B,EEPROM: 512B (10萬次擦寫)數(shù)字I/O口2個 (PWM輸出)模擬輸入口3個集成開發(fā)環(huán)境Arduino IDEArduino 1.6.12售價:5-6元你還需要這些器件Arduino能做什么做萬用表或示波器 A0A7利用analogRead(pin)函數(shù),從指定的引腳 讀取電壓值,測量精度為4.9毫伏,最高讀取頻率約為10kHz電路和編程,必須動手實踐!必須動手!必須動手!做信號發(fā)生器 D3、D5、D6、D9 D11利用analogWrite(pin, value)

3、函數(shù),將模擬值輸 出到管腳,在該引腳將產(chǎn)生一個指定占空比的 矩形波,矩形波頻率為490Hz,value取值0255可用于調(diào)節(jié)發(fā)光二極管的亮度或控制馬達(dá)轉(zhuǎn)速做控制器 D0D13,A0A7利用數(shù)字I/O口控制外圍電路實現(xiàn)復(fù)雜功能寫作是一門藝術(shù),編程也是越來越多的人開始騎自行車學(xué)沫版:More and more people begin to ride bikes.學(xué)渣版:A(n) growing/increasing/expanding number of people begin to cycle.偽學(xué)霸版:Cycling attracts more and more people.學(xué)霸版:Cy

4、cling is now adding its appeal for many citizens.學(xué)神版:Cycling gains its popularity.學(xué)好模電,風(fēng)光無限!DO IT IMMEDIATELY初次使用Arduino UNO R3下載從官網(wǎng)下載ARDUINO 1.6.12 https:/www.arduino.cc/en/Main/Software安裝雙擊arduino-1.6.12-windows.exe,出現(xiàn)安裝導(dǎo)向,依次確認(rèn),默認(rèn)安裝即可。安裝完成后,桌面上會出現(xiàn)Arduino軟件的logo,下次使用時雙擊。配置開發(fā)環(huán)境插入Arduino UNO R3開發(fā)板,系統(tǒng)

5、自動安裝USB驅(qū)動。初次使用Arduino UNO R3配置開發(fā)環(huán)境選擇相應(yīng)的板卡初次使用Arduino UNO R3配置開發(fā)環(huán)境選擇端口 可以通過設(shè)備管理器查看設(shè)備對應(yīng)的端口情況初次使用Arduino UNO R3配置開發(fā)環(huán)境驗證 打開文件,示例,找到Blink程序初次使用Arduino UNO R3配置開發(fā)環(huán)境編譯、上傳初次使用Arduino UNO R3配置開發(fā)環(huán)境串口監(jiān)視器1. 自動控制路燈要求白天光照較強(qiáng)時,路燈關(guān)閉;晚上光照較弱,路燈開啟設(shè)計思路通過光敏元件感知光強(qiáng),并通過mCookie控制路燈光敏電阻發(fā)光二極管光敏電阻無極性,工作電壓可為直流或交流對光線十分敏感無光照時,呈高阻狀

6、態(tài),暗電阻值約為1.5M有光照時,阻值隨光照強(qiáng)度增加而迅速降低,亮電阻值可在1k以下二極管礦石二極管純凈半導(dǎo)體:硅、鍺載流子:電子、空穴P型半導(dǎo)體:摻入3價元素N型半導(dǎo)體:摻入5價元素二極管發(fā)光二極管 (Light Emitting Diodes, LED)半導(dǎo)體中摻入特定雜質(zhì),工作在正偏狀態(tài),電子和空穴復(fù)合釋放能量發(fā)光。激光二極管光敏二極管光敏二極管光敏二極管工作在反偏狀態(tài),反向電流隨光照強(qiáng)度變化。 激光二極管產(chǎn)生紅外激光,效率高。功率:8w二極管LED照明二極管全彩點陣LED二極管七段數(shù)碼管二極管光電耦合器1. 自動控制路燈白天光照較強(qiáng)時,路燈關(guān)閉,晚上光照較弱,路燈開啟。通過光敏元件感知

7、光強(qiáng),并通過Arduino控制路燈。光敏電阻型號:5516發(fā)光二極管注意:發(fā)光二極管在使用時必須加限流電阻!1. 自動控制路燈int threshold =400; /光強(qiáng)值,根據(jù)實際情況調(diào)整void setup ( ) Serial.begin(115200); pinMode(10, OUTPUT); /設(shè)置輸出端口void loop( ) int n = analogRead(A3); /讀取模擬口A3 Serial.println(n); if (nthreshold ) /晚上光線暗,n值變大 digitalWrite(10, HIGH); /點亮路燈 else digitalWri

8、te(10, LOW); /關(guān)閉路燈 delay(100);光敏電阻型號:5516發(fā)光二極管1. 自動控制路燈思考題:如何改成光強(qiáng)警示電路,光照較強(qiáng)時發(fā)光二極管點亮?如何設(shè)計自動調(diào)光臺燈?如何讓發(fā)光二極管變成呼吸燈?如何設(shè)計炫彩臺燈?即控制彩色發(fā)光二極管,根據(jù)不同光強(qiáng)顯示不同顏色的光。光強(qiáng)警示電路int threshold =400; /光強(qiáng)值,根據(jù)實際情況調(diào)整void setup () Serial.begin(115200); pinMode(10,OUTPUT); /設(shè)置輸出端口void loop() int n = analogRead(A3); /讀取模擬口A3 Serial.pri

9、ntln(n); if (n threshold ) /光強(qiáng)越大,n值越小 digitalWrite(10,HIGH); else digitalWrite(10,LOW); delay(100);光敏電阻型號:5516發(fā)光二極管自動調(diào)光臺燈void setup() Serial.begin(115200); pinMode(10,OUTPUT); /設(shè)置輸出端口 void loop() int n = analogRead(A3); /讀取光強(qiáng) Serial.println(n); /光線越暗,n值越大 analogWrite(10, 255-n/4); /PWM占空比越小 delay(20

10、0); 光敏電阻型號:5516發(fā)光二極管呼吸燈int brightness = 0; /LED的亮度int fadeAmount = 5; /亮度變化增量void setup() pinMode(10, OUTPUT); /設(shè)置輸出端口 void loop() analogWrite(10, brightness); /點亮LED brightness = brightness + fadeAmount; if (brightness = 255) fadeAmount = -fadeAmount ; /亮度翻轉(zhuǎn) delay(30); /延時30毫秒 光敏電阻型號:5516發(fā)光二極管【小制作】

11、LED心形流水燈【小制作】幻彩搖搖棒【小制作】幻彩搖搖棒采用mCookie實現(xiàn)彩色搖搖棒原型板【小制作】幻彩搖搖棒【小制作】旋轉(zhuǎn)電子鐘旋轉(zhuǎn)后的樣子遙控對時【小制作】旋轉(zhuǎn)電子鐘旋轉(zhuǎn)后的樣子旋轉(zhuǎn)后的樣子【小制作】礦石收音機(jī)礦石二極管【小制作】礦石收音機(jī)具有調(diào)諧功能的收音機(jī)【小制作】礦石收音機(jī)2. 數(shù)字溫度計要求利用溫度傳感器監(jiān)測環(huán)境溫度當(dāng)環(huán)境溫度高于某一值時,發(fā)出聲光報警2. 數(shù)字溫度計溫度傳感器LM35D輸出為模擬量,輸出電壓與攝氏溫度成正比工作溫度為0-100,工作電壓為4-30V,精度為1,靜態(tài)電流為80uA。2. 數(shù)字溫度計溫度傳感器DS18b20輸出為數(shù)字量,單總線接口,測溫范圍 -55

12、+125 測量結(jié)果以912位數(shù)字量方式串行輸出支持多點組網(wǎng),8個溫度傳感器可以并聯(lián)在一起使用工作電壓:3.05.5V2. 數(shù)字溫度計有源蜂鳴器內(nèi)部帶振蕩源,通電即可發(fā)聲無源蜂鳴器與電磁揚聲器一樣,需接音頻輸出電路才能發(fā)聲用tone(pin, frequency, duration)函數(shù)2. 數(shù)字溫度計溫度傳感器發(fā)光二極管蜂鳴器要求利用溫度傳感器監(jiān)測環(huán)境溫度,溫度越高,發(fā)光二極管越亮當(dāng)環(huán)境溫度高于某一值時,發(fā)出聲光告警unsigned int tempMin = 15; /亮燈溫度unsigned int tempMax = 25; /報警溫度void setup( ) Serial.begin

13、(115200); /串口初始化 analogReference(INTERNAL); /調(diào)用板載1.1V基準(zhǔn)源 pinMode(11, OUTPUT); digitalWrite(11, LOW);void loop( ) double analogVotage = 1.1*(double)analogRead(A3)/1023; double temp = 100*analogVotage; /計算溫度 unsigned int dutyCycle; /占空比 if (temp = tempMin) /小于亮燈門限值 dutyCycle = 0; digitalWrite(11, LOW)

14、; else if (temp tempMax) /小于報警門限 dutyCycle = (temp-tempMin)*255/(tempMax-tempMin); digitalWrite(11, LOW); else /發(fā)光二極管亮度最大值,并啟動聲音報警 dutyCycle = 255; digitalWrite(11, HIGH); analogWrite(10, dutyCycle);/控制發(fā)光二極管發(fā)光 Serial.print(Temp: ); Serial.print(temp); Serial.print( Degrees Duty cycle: ); Serial.prin

15、tln(dutyCycle); delay(100);/ 控制刷新速度2. 數(shù)字溫度計思考題:如何通過彩色發(fā)光二極管顯示環(huán)境溫度變化?如何利用七段數(shù)碼管顯示環(huán)境溫度?如何利用OLED屏顯示環(huán)境溫度?3. 智能溫控風(fēng)扇要求根據(jù)環(huán)境溫度自動調(diào)節(jié)風(fēng)扇轉(zhuǎn)速。設(shè)計思路用溫度傳感器檢測環(huán)境溫度,用PWM控制風(fēng)扇轉(zhuǎn)速。晶體三極管300馬達(dá)晶體三極管NPN型晶體管的結(jié)構(gòu)和電路符號晶體三極管由晶體三極管構(gòu)成的基本放大電路3. 智能溫控風(fēng)扇溫度傳感器馬達(dá)采用溫度傳感器LM35D檢測環(huán)境溫度根據(jù)環(huán)境溫度,采用PWM控制風(fēng)扇轉(zhuǎn)速可調(diào)電位器double analogVotage; /模擬電壓值double temp;

16、/溫度unsigned int dutyCycle; /占空比unsigned int tempMin = 25; /零速溫度unsigned int tempMax = 33; /滿速溫度void setup( ) Serial.begin(115200); /波特率配置串口通訊 analogReference(INTERNAL); /調(diào)用板載1.1V基準(zhǔn)源void loop( ) analogVotage = 1.1*(float)analogRead(A3)/1023; temp = 100*analogVotage; /電壓換算成溫度 if (temp = tempMin) dutyC

17、ycle = 0; else if (temp tempMax) dutyCycle = (temp-tempMin)*255/(tempMax-tempMin); else dutyCycle = 255; analogWrite(10, dutyCycle); /產(chǎn)生PWM,控制電機(jī)轉(zhuǎn)速 Serial.print(Temp: ); Serial.print(temp); Serial.print( Degrees Duty cycle: ); Serial.println(dutyCycle); delay(100); / 控制刷新速度3. 智能溫控風(fēng)扇unsigned int dutyC

18、ycle; /占空比unsigned int tempMin = 300; /零速值unsigned int tempMax = 800; /滿速值void setup( ) Serial.begin(115200); /配置串口波特率void loop( ) int temp= analogRead(A3); /讀取模擬值,范圍:0-1023 if (temp = tempMin) /低于該值電機(jī)停轉(zhuǎn) dutyCycle = 0; else if (temp 50) /高于門限值,則三極管導(dǎo)通 digitalWrite(10,HIGH); /點亮LED else digitalWrite(10,LOW); /熄滅LED Serial.println(n); /串口監(jiān)視 delay(100); /控制刷新速率指尖開關(guān)6. 觸摸電子琴要求通過手指觸摸不同按鍵,彈奏不同的樂曲設(shè)計思路利用Arduino的readCapacitivePin()函數(shù),讀取端口電容值利用tone(pin, frequency)函數(shù),產(chǎn)生不同的音調(diào)MaKey6.

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論