Arduino基础1
引言
本文內容來自《Arduino程序設計基礎(第二版)》,以下為讀書筆記!
第一章 初識Arduino
Arduino不僅是一個開發板,還是一個開放的電子開發平臺 1、Uno是目前應用最廣泛的開發板,具有arduino的所有功能。 2、MEGA提供了更多的輸入/輸出接口,可以控制更多的設備,以及擁有更多的程序空間和內存。 3、Zero提供debug調試端口Uno的組成
第二章 基礎篇
setup與loop
setup只執行一次,用來初始化配置;loop是一個死循環,用來完成程序的主要功能
break與continue
break可以終止當前的結構或循環結構,使程序轉到后續的語句運行;continue用于跳過此次循環后面的語句,并且判斷是否開啟下一次循環。
I/O口的使用
數字I/O引腳模式
1)輸入模式
2)輸出模式
3)輸入上拉模式:無信號輸入時輸入端的信號為高電平,在輸入信號為低電平,輸入端的電平也應該為低電平。
第三章 I/O口高級應用
3.1、調聲函數
1、tone()
功能:可以讓指定引腳產生一個占空比為50%的指定頻率的方波。
語法:tone(pin , frequency) ; tone(pin , frequency , duration) ;
參數:pin——需要輸出方波的引腳;frequency——輸出的頻率;duration——頻率持續的時間。
2、noTone()
功能:停止指定引腳的方波輸出。
語法:noTone(pin);
PS:同一時間tone()函數只能作用于一個引腳。若由多個引腳需使用tone()函數,則用noTone()停止之前的引腳,再用tone()開啟下一個指定引腳。
3、無源蜂鳴器模塊
4、項目:簡易電子琴
3.2、脈沖寬度測量函數與超聲波測距
1、pulseIn()
功能:檢測指定引腳的脈沖信號寬度
語法:pulseIn(pin ,value); pulseIn(pin ,value ,timeout);
參數:value——讀取的脈沖類型,為HIGH或LOW;timeout——超時時間,單位為微秒;返回值——換行返回脈沖寬度,單位為微秒。
PS:沒有設置timeout則默認一秒鐘超時時間;規定時間內沒有檢測到脈沖,則返還0 。
2、超聲波測距
SR04超聲波傳感器:四個引腳功能
3.3、設置ADC參考電壓
analogRead(pin)函數返回值=被測電壓/參考電壓×1023
當用戶沒有設置參考電壓時,Arduino會默認使用工作電壓作為參考電壓。
通過AREF引腳給Arduino輸入參考電壓,同時需使用analogReference()函數來設置外部參考電壓。
analogReference(type);
參數:DEFAULT;INTERNAL;INTERNAL2V56;EXTERNAL。
3.4、外部中斷
用來實時響應處理事件
中斷程序可以看成一段獨立于主程序之外的程序,當中斷被觸發時,控制器會暫停當前運行的主程序,跳轉去運行中斷程序,當中斷程序運行結束后,再回到之前暫停的位置,繼續運行主程序。
了解中斷引腳的位置,根據外部設備選擇中斷模式,編寫中斷觸發后執行的中斷函數。
1、中斷引腳位置
2、中斷觸發模式:LOW;CHANGE;RISING;FALLING。
——上升沿觸發:當檢測信號電位由低到高的變化時觸發成功
3、中斷函數:不能帶有任何參數,且返還類型為空。
1)attachInterrupt(interrupt , function , mode);
功能:對中斷引腳進行初始化配置
參數:interrupt——中斷編號(非引腳編號);function——中斷函數名;mode——中斷模式
2)detachInterrupt(interrupt)
功能:禁止外部中斷
4、實驗:外部中斷觸發蜂鳴器報警
創建.h文件
總結
以上是生活随笔為你收集整理的Arduino基础1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ecu根据什么信号对点火提前角_汽车EC
- 下一篇: 详解边缘计算系统逻辑架构:云、边、端协同