2018級(jí)Arduino小組學(xué)習(xí)任務(wù)

推薦學(xué)習(xí)資料:

  1. 官網(wǎng)參考資料 https://www.arduino.cc/reference/en/
  2. Arduino公開(kāi)課 http://ardui.co/basic
  3. 一個(gè)內(nèi)容非常豐富的網(wǎng)站 https://randomnerdtutorials.com/projects-arduino/

目錄

項(xiàng)目1:Arduino基本輸入輸出電路(任務(wù)序號(hào) 1)
項(xiàng)目2:PWM實(shí)現(xiàn)變色LED燈 (任務(wù)序號(hào) 2)
項(xiàng)目3:用電位器實(shí)現(xiàn)調(diào)光LED燈 (任務(wù)序號(hào) 3)
項(xiàng)目4:用模擬溫度傳感器LM35實(shí)現(xiàn)溫度測(cè)量(任務(wù)序號(hào) 4)
項(xiàng)目5:用光敏電阻實(shí)現(xiàn)手機(jī)的自動(dòng)屏幕亮度效果(任務(wù)序號(hào) 5)
項(xiàng)目6:用蜂鳴器演奏簡(jiǎn)單的樂(lè)曲(任務(wù)序號(hào) 6、7)
項(xiàng)目7:利用一位數(shù)碼管實(shí)現(xiàn)0-9數(shù)字的顯示(任務(wù)序號(hào) 8、9)
項(xiàng)目8:利用四位數(shù)碼管實(shí)現(xiàn)動(dòng)態(tài)掃描顯示(任務(wù)序號(hào) 10、11)
項(xiàng)目9:利用MAX7219點(diǎn)陣模塊實(shí)現(xiàn)形狀符號(hào)顯示(任務(wù)序號(hào) 12)
項(xiàng)目10:利用數(shù)字溫度傳感器18B20+四位數(shù)碼管顯示溫度值(任務(wù)序號(hào) 13)
項(xiàng)目11:利用數(shù)字溫濕度傳感器DHT11+四位數(shù)碼管顯示溫濕度值(任務(wù)序號(hào) 14)
項(xiàng)目12:按鍵消抖(任務(wù)序號(hào) 15)
項(xiàng)目13:Arduino外部中斷(任務(wù)序號(hào) 16)
項(xiàng)目14:定時(shí)器中斷(任務(wù)序號(hào) 17)
項(xiàng)目15:實(shí)時(shí)時(shí)鐘 + 四位數(shù)碼管顯示時(shí)間 + 按鍵調(diào)表 (任務(wù)序號(hào) 18、19、20)

項(xiàng)目1. Arduino基本輸入輸出電路(任務(wù)序號(hào) 1)

(由一個(gè)小組獨(dú)立完成)

圖文教程詳細(xì)目錄

  1. Arduino的基本輸入輸出函數(shù)
    (詳細(xì)介紹pinMode、digitalWrite、digitalRead三個(gè)函數(shù)的參數(shù)及用法)
  2. 上拉電阻在輸入電路中的作用
    (結(jié)合pinMode函數(shù)的參數(shù)介紹何謂上拉電阻、在讀取按鍵輸入時(shí),分別使用無(wú)上拉、內(nèi)置上拉和外置上拉,編程演示其異同)
  3. 限流電阻在輸出電路中的作用
    (查資料了解Arduino GPIO端口能夠輸入和輸出的最大電流是多少,查資料了解紅、綠、藍(lán)三色LED正常工作的電流范圍是多少,說(shuō)明在GPIO端口接LED為何要串接限流電阻,一般串接多大阻值的限流電阻)
  4. 大電流驅(qū)動(dòng)電路
    (由于Arduino GPIO端口輸出電流有限,不能直接驅(qū)動(dòng)電機(jī)、繼電器等需要較大電流的設(shè)備,因此需要使用三極管或場(chǎng)效應(yīng)管設(shè)計(jì)驅(qū)動(dòng)電路,畫出三極管或場(chǎng)效應(yīng)管驅(qū)動(dòng)繼電器的電路圖,并說(shuō)明其工作原理)

項(xiàng)目2. PWM實(shí)現(xiàn)變色LED燈 (任務(wù)序號(hào) 2)

(由一個(gè)小組獨(dú)立完成)
要求:使用Arduino Nano + 三色LED模塊,實(shí)現(xiàn)從串口輸入RGB值,LED顯示對(duì)應(yīng)的顏色,如串口輸入255,0,0,LED為純紅色,輸入255,255,0,LED為黃色。

圖文教程詳細(xì)目錄:

  1. 什么是PWM?有何用途?
  2. Arduino 產(chǎn)生PWM信號(hào)的兩種方式
    2.1 適用于所有GPIO的純軟件編程方式
    (講解此方式需給出一個(gè)用PWM信號(hào)控制板載LED燈亮度變化的示例代碼)
    2.2 僅適用于6個(gè)端口的硬件方式
    (講解此方式重點(diǎn)介紹AnalogWrite函數(shù)的用法)
    3 串口輸入輸出的基本方法(給出最簡(jiǎn)單的代碼示例)
    4 串口控制變色燈的實(shí)現(xiàn)(Fritzing繪制的電路圖、工作原理的說(shuō)明、包含完整注釋的源代碼、map函數(shù)的用法)

項(xiàng)目3. 用電位器實(shí)現(xiàn)調(diào)光LED燈(任務(wù)序號(hào) 3)

(由一個(gè)小組獨(dú)立完成)
要求:通過(guò)旋轉(zhuǎn)電位器(可變電阻)改變一個(gè)外接LED燈的亮度

  1. Arduino 模數(shù)轉(zhuǎn)換函數(shù) AnalogRead的用法
    (在哪些引腳上可用,給出一個(gè)以可變電阻分壓為輸入,從串口輸出模數(shù)轉(zhuǎn)換數(shù)值的例程)
    2.1 用電位器實(shí)現(xiàn)調(diào)光LED燈(使用AanlogWrite函數(shù),即項(xiàng)目2中的2.2方式)
    (Fritzing繪制的電路圖、工作原理的說(shuō)明,包含完整注釋的源代碼)
    2.2 用電位器實(shí)現(xiàn)調(diào)光LED燈(使用軟件編程的方法,即項(xiàng)目2中的2.1方式)
    (工作原理的說(shuō)明,包含完整注釋的源代碼,與2.1代碼的比較)

項(xiàng)目4. 用模擬溫度傳感器LM35實(shí)現(xiàn)溫度測(cè)量(任務(wù)序號(hào) 4)

(由一個(gè)小組獨(dú)立完成)
要求:使用LM35傳感器,從串口輸出當(dāng)前環(huán)境溫度

圖文教程詳細(xì)目錄

  1. 如何通過(guò)https://www.alldatasheet.com/網(wǎng)站檢索LM35的datasheet(說(shuō)明書)
  2. 如何對(duì)照datasheet來(lái)分辨LM35的引腳和了解工作原理
  3. 用萬(wàn)用表測(cè)量LM35電壓輸出引腳的電壓并手動(dòng)換算溫度
    (不接Arduino的情況下,用萬(wàn)用表測(cè)量LM35輸出引腳的電壓并手動(dòng)換算溫度,改變LM35所處環(huán)境的溫度,觀察電壓的變化,此節(jié)的目的是理解原理)
  4. 實(shí)現(xiàn)溫度測(cè)量 (Fritzing繪制的電路圖、工作原理的說(shuō)明、包含完整注釋的源代碼、map函數(shù)的用法)

項(xiàng)目5. 光敏電阻實(shí)現(xiàn)手機(jī)的自動(dòng)屏幕亮度效果(任務(wù)序號(hào) 5)

(由一個(gè)小組獨(dú)立完成)
要求:在光線強(qiáng)的地方,自動(dòng)增強(qiáng)LED的亮度,在光線弱的地方,自動(dòng)增強(qiáng)LED的亮度

圖文教程詳細(xì)目錄

  1. 5506型光敏電阻的主要參數(shù)及其在測(cè)光電路中的接法
    (參數(shù)主要介紹亮電阻和暗電阻,可參考購(gòu)買的網(wǎng)店頁(yè)面介紹 https://detail.tmall.com/item.htm?spm=a1z10.3-b.w4011-3660415149.42.621365aerMcRtl&id=574358540746&rn=91d85a52ccf5c88842b7a54e9754504a&abbucket=19
  2. 用萬(wàn)用表測(cè)量光敏電阻的阻值,觀察其阻值隨光線強(qiáng)弱的變化情況
    此節(jié)的目的是理解原理)
  3. 實(shí)現(xiàn)亮度測(cè)量(將光敏電阻的分壓值進(jìn)行模數(shù)轉(zhuǎn)換,并通過(guò)串口輸出) (Fritzing繪制的電路圖、工作原理的說(shuō)明、包含完整注釋的源代碼)
  4. 實(shí)現(xiàn)手機(jī)的自動(dòng)屏幕亮度效果(Fritzing繪制的電路圖、工作原理的說(shuō)明、包含完整注釋的源代碼)

項(xiàng)目6. 用蜂鳴器演奏簡(jiǎn)單的樂(lè)曲(任務(wù)序號(hào) 6、7)

(兩個(gè)小組合作完成,自主分工)

圖文教程詳細(xì)目錄

  1. 什么是無(wú)源蜂鳴器和有源蜂鳴器(有什么特點(diǎn),適用于什么場(chǎng)景)
  2. 寫一個(gè)用旋轉(zhuǎn)電位器連續(xù)改變蜂鳴器音調(diào)的程序
    (Fritzing繪制的電路圖、工作原理的說(shuō)明、包含完整注釋的源代碼)
  3. Arduino中與音調(diào)有關(guān)的兩個(gè)函數(shù)(tone 和 noTune)
  4. 寫一個(gè)連續(xù)播放7個(gè)音符,每個(gè)音符時(shí)長(zhǎng)1秒的程序 (包含完整注釋的源代碼)
  5. 把樂(lè)譜轉(zhuǎn)換為播放程序的基本方法(需要哪些變量,以什么方式存儲(chǔ))
  6. 編程實(shí)現(xiàn)播放《兩只老虎》(包含完整注釋的源代碼)
  7. 微動(dòng)開(kāi)關(guān)(按鍵)的結(jié)構(gòu)、引腳及電路連接方法
  8. 實(shí)現(xiàn)7鍵電子琴 (Fritzing繪制的電路圖、工作原理的說(shuō)明、包含完整注釋的源代碼)

項(xiàng)目7. 利用一位數(shù)碼管實(shí)現(xiàn)0-9數(shù)字的顯示(任務(wù)序號(hào) 8、9)

(兩組合作,一組完成1-4,另一組完成5-7)

圖文教程詳細(xì)目錄

  1. 一位數(shù)碼管的結(jié)構(gòu)原理
    (何謂共陰、共陽(yáng)?在電路連接和軟件編程方面有何區(qū)別)
  2. 一位數(shù)碼管與Arduino的連接電路
  3. 設(shè)計(jì)0-9數(shù)字顯示用的字形表
    (如何設(shè)計(jì)?共陰和共陽(yáng)有何區(qū)別?如何在程序中存儲(chǔ)?能顯示哪些英文字母?)
  4. 編寫三個(gè)例程(包含完整注釋的源代碼)
    4.1 串口輸入數(shù)字n,則顯示數(shù)字n
    4.2 0-9循環(huán)顯示,每個(gè)數(shù)字顯示1秒
    4.3 連接一個(gè)微動(dòng)開(kāi)關(guān)(按鍵),按一下,顯示一個(gè)數(shù)字,0-9循環(huán)。(Friting繪制電路圖)
  5. 74HC595的引腳及其功能
    (下載74HC595的datasheet,了解其引腳和功能)
  6. 74HC595實(shí)現(xiàn)串入并出
    (不用Arduino,用微動(dòng)開(kāi)關(guān)(按鍵)+8個(gè)LED+1片74HC595,實(shí)現(xiàn)一個(gè)按鍵驅(qū)動(dòng)的移位亮燈,目的是理解74HC595的基本工作原理)
  7. 用74HC595實(shí)現(xiàn)4.2程序
    (使用Arduino的shiftOut函數(shù),重點(diǎn)介紹函數(shù)用法、電路連接,F(xiàn)ritzing繪出電路圖)

項(xiàng)目8. 利用四位數(shù)碼管實(shí)現(xiàn)動(dòng)態(tài)掃描顯示(任務(wù)序號(hào) 10、11)

(兩個(gè)小組完成,共同完成1-2,分別完成3、4)

圖文教程詳細(xì)目錄

  1. 探究視覺(jué)暫留效應(yīng)與掃描現(xiàn)實(shí)刷新速率
    (用4個(gè)LED串接470歐限流電阻后接到Arduino板相鄰的四個(gè)口線上,編寫簡(jiǎn)單的“流水燈”程序,改變每個(gè)LED點(diǎn)亮的時(shí)間,確定人眼看上去四個(gè)LED同時(shí)亮且感覺(jué)不到閃爍的點(diǎn)亮?xí)r間是多少)
  2. 四位數(shù)碼管的電路結(jié)構(gòu)與顯示原理
    (什么是位選、什么是段選、共陰與共陽(yáng)的區(qū)別、顯示4位數(shù)字,需要多少條口線?顯示n位數(shù)字呢?)
  3. Arduino直接連接四位數(shù)碼管實(shí)現(xiàn)四位阿拉伯?dāng)?shù)字顯示
    (Friting繪制電路圖(注意每個(gè)段都要加470歐姆限流電阻),程序原理說(shuō)明,包含完整注釋的源代碼)
  4. Arduino + 74HC595 + 四位數(shù)碼管實(shí)現(xiàn)動(dòng)態(tài)掃描顯示
    (Friting繪制電路圖(注意每個(gè)段都要加470歐姆限流電阻),程序原理說(shuō)明,包含完整注釋的源代碼,可參考項(xiàng)目6的相關(guān)代碼)

項(xiàng)目9. 利用MAX7219點(diǎn)陣模塊實(shí)現(xiàn)形狀符號(hào)顯示(任務(wù)序號(hào) 12)

圖文教程詳細(xì)目錄

  1. MAX7219顯示驅(qū)動(dòng)芯片的功能特性
    (從http://www.alldatasheet.com檢索并下載MAX7219說(shuō)明書,介紹:芯片主要功能、性能參數(shù)、引腳、工作原理等)
  2. 8x8LED點(diǎn)陣屏的內(nèi)部結(jié)構(gòu)與原理(與項(xiàng)目8第2節(jié)的內(nèi)容相類比,本質(zhì)上是一樣的)
  3. Arduino + MAX7219 + 8x8點(diǎn)陣的硬件電路連接
    (分別畫出連接1片8x8點(diǎn)陣的電路和多個(gè)MAX7219+8x8點(diǎn)陣級(jí)聯(lián)的情況)
  4. 顯示8x8點(diǎn)陣圖形的程序?qū)崿F(xiàn)(包含完整注釋的源代碼)
    (順便介紹一下取字模軟件的用法)

項(xiàng)目10:利用數(shù)字溫度傳感器DS18B20+四位數(shù)碼管顯示溫度值(任務(wù)序號(hào) 13)

Guide for DS18B20 Temperature Sensor with Arduino | Random Nerd Tutorials https://randomnerdtutorials.com/guide-for-ds18b20-temperature-sensor-with-arduino/

圖文教程詳細(xì)目錄

  1. DS18B20 數(shù)字溫度傳感器的功能特性
    (從http://www.alldatasheet.com檢索并下載DS18B20說(shuō)明書,介紹:芯片主要功能、性能參數(shù)、引腳、典型電路連接方法等)
  2. DS18B20所需的OneWire庫(kù)和DallasTemperature庫(kù)的安裝與使用
    2.1 在Arduino IDE中安裝庫(kù)的方法(“項(xiàng)目”—“添加庫(kù)”—“管理庫(kù)”)
    2.2 通過(guò)網(wǎng)絡(luò)下載手動(dòng)安裝庫(kù)的方法
    (OneWire庫(kù)下載地址:https://github.com/PaulStoffregen/OneWire
    (DallasTemperature庫(kù)下載地址:https://github.com/milesburton/Arduino-Temperature-Control-Library
  3. DS18B20+四位數(shù)碼管顯示溫度值
    (硬件電路圖、包含注釋的完整代碼)
  4. 在3的基礎(chǔ)上實(shí)現(xiàn)溫度報(bào)警功能
    (硬件電路圖、包含注釋的完整代碼,當(dāng)溫度高于或低于某設(shè)定值時(shí),蜂鳴器發(fā)出報(bào)警聲)

項(xiàng)目11:利用數(shù)字溫濕度傳感器DHT11+四位數(shù)碼管顯示溫濕度值(任務(wù)序號(hào) 14)

圖文教程詳細(xì)目錄

  1. DHT11 數(shù)字溫度傳感器的功能特性
    (從http://www.alldatasheet.com檢索并下載DHT11說(shuō)明書,介紹:芯片主要功能、性能參數(shù)、引腳、典型電路連接方法等)
  2. DHT11 Arduino庫(kù)的安裝與使用
    2.1 在Arduino IDE中安裝庫(kù)的方法(“項(xiàng)目”—“添加庫(kù)”—“管理庫(kù)”)
    2.2 通過(guò)網(wǎng)絡(luò)下載手動(dòng)安裝庫(kù)的方法
    (該庫(kù)下載地址:https://github.com/adafruit/DHT-sensor-library
  3. DHT11+四位數(shù)碼管顯示溫度值
    (硬件電路圖、包含注釋的完整代碼)
  4. 在3的基礎(chǔ)上實(shí)現(xiàn)溫濕度報(bào)警功能
    (硬件電路圖、包含注釋的完整代碼,當(dāng)溫濕度高于或低于某設(shè)定值時(shí),蜂鳴器發(fā)出報(bào)警聲)

項(xiàng)目12:按鍵消抖(任務(wù)序號(hào) 15)

參考資料:https://blog.csdn.net/tigerrui/article/details/82735721

圖文教程詳細(xì)目錄

  1. 按鍵抖動(dòng)及消抖的基本原理介紹
    (按鍵抖動(dòng)的危害(給出一個(gè)簡(jiǎn)單的示例程序),軟件消抖與硬件消抖的基本原理)
  2. 常用軟件消抖方法
    2.1 純手工編程實(shí)現(xiàn)軟件消抖(分別討論按下消抖、彈起消抖的實(shí)現(xiàn),完整示例程序)
    2.2 利用Bounce2函數(shù)庫(kù)實(shí)現(xiàn)按鍵消抖(庫(kù)的下載安裝及完整示例程序)
  3. 硬件消抖電路及其原理
    (畫出電路圖,說(shuō)明原理)

項(xiàng)目13:Arduino外部中斷(任務(wù)序號(hào) 16)

參考資料:
https://blog.csdn.net/c80486/article/details/52622035
https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/

圖文教程詳細(xì)目錄

  1. 中斷的概念、分類及其用途
    (內(nèi)部中斷與外部中斷的區(qū)別,在Arduino中的具體體現(xiàn))
  2. Arduino中的外部中斷
    2.1 支持外部中斷輸入的引腳
    2.2 Arduino中斷相關(guān)函數(shù)及其用法 (attachInterrupt() 與 detachInterrupt() )
    (重點(diǎn)介紹 attachInterrupt函數(shù)及其參數(shù),編程演示不同的中斷觸發(fā)類型(LOW、CHANGE、RISING、FALLING))
  3. 中斷應(yīng)用示例程序
    3.1 編寫一個(gè)手動(dòng)方式實(shí)現(xiàn)PWM十檔調(diào)光的程序(不使用AnalogWrite函數(shù),手工編寫代碼生成PWM信號(hào)(可參考項(xiàng)目2的2.1節(jié)),外接一個(gè)按鍵,每按一下鍵,亮度在1-10檔間循環(huán),用查詢的方式檢測(cè)按鍵)
    3.2 改為用中斷的方式檢測(cè)按鍵,其他均同上,比較兩者的差別(編程復(fù)雜度方面,實(shí)際使用效果方面)

項(xiàng)目14:定時(shí)器中斷(任務(wù)序號(hào) 17)
參考資料:
https://blog.csdn.net/c80486/article/details/52622035
https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/

圖文教程詳細(xì)目錄

  1. 中斷的概念、分類及其用途
    (內(nèi)部中斷與外部中斷的區(qū)別,在Arduino中的具體體現(xiàn))
  2. Arduino中的定時(shí)器中斷
    2.1 Arduino 定時(shí)器中斷的基本使用方法與注意事項(xiàng)
    2.2 Arduino 定時(shí)器中斷函數(shù)庫(kù) MsTimer2的安裝與使用
    (下載地址:https://github.com/PaulStoffregen/MsTimer2
    2.3 利用Arduino定時(shí)器中斷來(lái)檢測(cè)按鍵時(shí)長(zhǎng)
    (外接一個(gè)按鍵,設(shè)置一個(gè)時(shí)長(zhǎng)為1ms的定時(shí)器中斷,按下按鍵后,統(tǒng)計(jì)中斷發(fā)生的次數(shù),直至按鍵彈起,此時(shí)的次數(shù)即是以ms為單位的按鍵時(shí)長(zhǎng),從串口輸出)
  3. 綜合應(yīng)用案例
    (在2.3的基礎(chǔ)上,完成一個(gè)進(jìn)階的案例:反應(yīng)時(shí)間檢測(cè)。外接一個(gè)按鍵一個(gè)LED等,按下按鍵后,隨機(jī)等待10-20秒,LED燈熄滅,當(dāng)按鍵者看到LED熄滅時(shí),立即松手讓按鍵彈起,從LED熄滅,到按鍵彈起,即為人的反應(yīng)時(shí)間,從串口輸出,精確到1ms)

項(xiàng)目15:實(shí)時(shí)時(shí)鐘 + 四位數(shù)碼管顯示時(shí)間 + 按鍵調(diào)表 (任務(wù)序號(hào) 18、19、20)

圖文教程詳細(xì)目錄

  1. DS3231實(shí)時(shí)時(shí)鐘芯片功能與特性
    (從http://www.alldatasheet.com檢索并下載DS3231說(shuō)明書,介紹:芯片主要功能、性能參數(shù)、封裝形式與引腳、工作原理、典型電路連接方法等)
  2. I2C通信方式原理與應(yīng)用
    (I2C是各類傳感器與模塊與Arduino通信的最常用方式之一,重點(diǎn)介紹I2C的特點(diǎn)、Arduino的相關(guān)引腳、相關(guān)庫(kù)的安裝與使用)
  3. DS3231實(shí)時(shí)時(shí)鐘模塊的原理圖
    (檢索DS3231實(shí)時(shí)時(shí)鐘模塊的電路圖,說(shuō)明電路各部分的功能,說(shuō)明模塊各引腳的功能)
  4. DS3231實(shí)時(shí)時(shí)鐘的基本實(shí)現(xiàn)
    (利用I2C庫(kù)和DS3231庫(kù)實(shí)現(xiàn)從串口每隔1S輸出一次年月日星期時(shí)分秒信息,實(shí)現(xiàn)從串口輸入“YYYYMMDDHHMMSS”格式的信息后,實(shí)現(xiàn)調(diào)表功能,寫出包含完整注釋的代碼)
  5. DS3231 + 四位數(shù)碼管顯示
    (畫出電路圖,寫出包含完整注釋的代碼,MM.DD 與 MM:SS分別顯示5S。)
  6. DS3231 + 四位數(shù)碼管顯示 + 按鍵調(diào)表
    (畫出電路圖,寫出包含完整注釋的代碼,連接幾個(gè)按鍵,實(shí)現(xiàn)從運(yùn)行狀態(tài)到調(diào)表狀態(tài)切換、年月日時(shí)分秒字段的切換、數(shù)值的增減等)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容