通過了解學習arduino,感覺特別適合一些業余愛好者們使用,新人容易上手。Arduino 你不需要知道單片機編程繁瑣的細節,提供給你的是一套容易使用的工具包。 但同其它系統相比Arduino在很多地方更具有優越性:價格便宜,編程環境簡單,與Processing 編程環境很相似。
Arduino是一款能夠用來感應和控制現實物理世界的一套工具(積木式硬件拼接方式),它是一款開放源碼的硬件平臺且資料多,可以自己動手做開發板,有需要的也可以加我一起相互學習,其它啰嗦的話就不多說了,也靠平時網上查資料一點點積累,所以還是總結一下學到的一些知識點,方便以后查看,分享,當然也參考了別人的一下筆記(表示感謝)。 arduino平臺的基礎就是AVR指令集單片機(主要芯片Atmega328P-PU、Atmega2560)。開發軟件版本 Arduino 1.6.4 已有更新版本。
以Atmega328為例:
Digital I/O 數字輸入/輸出端口0—13。
Analog I/O 模擬輸入/輸出端口0-5。
下圖為自制的Mage2560:(Arduino Uno版本Atmega328的忘記拍照了)
51hei.png (242.45 KB, 下載次數: 93)
下載附件
2021-5-21 17:22 上傳
1、Arduino基礎、基本函數梳理 (詳見后面3):
unsigned long millis(); //返回時間函數(單位ms)
delayMicroseconds(1000); //微秒延時函數 1000微妙=1毫秒
delay(1000) ; //毫秒延時函數 1000毫秒=1秒
Serial.read(); //讀取持續輸入的數據。
Serial.print(數據,數據的進制); //串行0輸出數據。
Serial.print(數據); //默認為十進制等于Serial.print(數據,DEC)。
Serial.println(數據,數據的進制); //從串行端口輸出數據,跟隨一個回車和一個換行符。這個函數所取得的值與 Serial.print()一樣。
pinMode(pin, mode) ;
下面以引腳2為例,其它引腳根據具體自身開發使用的引腳來定義:
pinMode(2, OUTPUT); 設置引腳2為輸出模式
pinMode(2, INPUT); 設置引腳2為輸入模式
digitalWrite(2, LOW); 控制引腳2輸出低電平
digitalWrite(2, HIGH); 控制引腳2輸出高電平
boolean flag = digitalRead(2) ; 讀取引腳2的電平(1 or 0)
analogWrite(5,num); 引腳5輸出模擬量(PWM),num的數值范圍0~255,腳位通常會在3、5、6、9、10與11,具體根據開發板的。
unsigned int num= analogRead(A3); 引腳A3讀取電壓值0~5V(數值:0~1023)
矩陣按鍵4*4的程序應用:
#include "Keypad.h" //頭文件
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1','2','3','4'},
{'5','6','7','8'},
{'A','B','9','C'},
{'*','0','#','D'} };
byte rowPins[ROWS] = {39, 41, 43, 45}; //矩陣按鍵端口
byte colPins[COLS] = {44, 42, 40, 38}; //
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
int key = keypad.getKey();//讀取到的鍵值
2、開發板介紹:
因其開源特性,生產arduino控制板的廠商眾多,多種顏色。
對于一些對電路板大小要求比較嚴格的地方,arduino團隊提供了arduino Nano開發板,此板體積做的非常小。
arduino開發板特殊端口的說明:
VIN端口:VIN是input voltage的縮寫,表示有外部電源時的輸入端口。
AREF: Reference voltage for the analog inputs(模擬輸入的基準電壓)。使用analogReference()命令調用。
ICSP:也有稱為ISP(In System Programmer),就是一種線上即時燒錄,目前比較新的芯片都支持這種燒錄模式。只需要準備一條R232線(連接燒錄器),以及一條連接燒錄器與燒錄芯片針腳的連接線就可以。電源的+5V,GND,兩條負責傳輸燒錄信息的針腳,再加上一個燒錄電壓針腳,這樣就可以燒錄了。
3、實例及C語言關鍵字:
void setup()
{
Serial.begin(9600); // 打開串口,設置波特率為9600 bps
}
void loop()
{
int val;
val=analogRead(5);//傳感器接到模擬口5,數值根據自己的需要可變
Serial.println(val,DEC);//從串口發送字符串并換行
delay(100);
}
/*************基礎C語言*************/
結構
• void setup() 初始化變量,管腳模式,調用庫函數等
• void loop() 連續執行函數內的語句 即主函數main
關鍵字:
• if
• if...else
• for
• switch case
• while
• do... while
• break
• continue
• return
• goto
語法符號:
• ;
• {}
• //
• /* */
完整的Word格式文檔51黑下載地址:
Arduino學習筆記 陸 龍.doc
(8.24 MB, 下載次數: 47)
2021-5-21 13:13 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|