作為興趣愛好,開始學習開發板,從基礎入手,記錄學習使用心得。
一、arduino
Arduino是一款便捷靈活、方便上手的開源電子原型平台。包含硬件(各種型號的Arduino板)和軟件(ArduinoIDE)。
由一個歐洲開發團隊於2005年冬季開發。其成員包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、
David Mellis和Nicholas Zambetti等。
它構建於開放原始碼simple I/O介面版,並且具有使用類似Java、C語言的Processing/Wiring開發環境。主要包含兩個的部分:
硬件部分是可以用來做電路連接的Arduino電路板;另外一個則是Arduino IDE,你的計算機中的程序開發環境。
你只要在IDE中編寫程序代碼,將程序上傳到Arduino電路板后,程序便會告訴Arduino電路板要做些什么了。
Arduino能通過各種各樣的傳感器來感知環境,通過控制燈光、馬達和其他的裝置來反饋、影響環境。
板子上的微控制器可以通過Arduino的編程語言來編寫程序,編譯成二進制文件,燒錄進微控制器。
對Arduino的編程是通過 Arduino編程語言 (基於 Wiring)和Arduino開發環境(基於 Processing)來實現的。
基於Arduino的項目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上運行的軟件,
他們之間進行通信 (比如 Flash, Processing, MaxMSP)來實現。
——————from baike.baidu.com
Arduino UNO是基於ATmega328P的Arduino開發板。它有14個數字輸入/輸出引腳(其中6個可用於PWM輸出)、6個模擬輸入引腳,
一個16 MHz的晶體振盪器,一個USB接口,一個DC接口,一個ICSP接口,一個復位按鈕。它包含了微控制器所需的一切,
你只用簡單地把它連接到計算機的USB接口,或者使用AC-DC適配器,再或者用電池,就可以驅動它。
“Uno” 在意大利語中意思是“一”。Arduino UNO是Arduino系列的一號開發板,Arduino IDE 1.0是Arduino IDE的第一個正式版本,
Arduino UNO硬件和Arduino IDE軟件建立了一套Arduino開發標准,此后的Arduino開發板和衍生產品都是在這個標准上建立起來的
———————from https://blog.csdn.net/m0_37738838/java/article/details/85045066
從arduino.cc下載IDE
(二)面包板
面包板是由於板子上有很多小插孔,專為電子電路的無焊接實驗設計制造的。由於各種電子元器件可根據需要隨意插入或拔出,免去了焊接,
節省了電路的組裝時間,而且元件可以重復使用,所以非常適合電子電路的組裝、調試和訓練。
(三)LED燈
流水燈
代碼
1 int val; 2 int BASE = 2; 3 int NUM = 6; 4 5 void setup() { 6 // put your setup code here, to run once: 7 for (int i = BASE; i < BASE+NUM; i++){ 8 pinMode(i, OUTPUT); 9 } 10 } 11 12 void loop() { 13 // put your main code here, to run repeatedly: 14 for (int i = BASE; i < BASE+NUM; i++){ 15 digitalWrite(i, LOW); 16 delay(200); 17 } 18 19 for (int i = BASE; i < BASE+NUM; i++){ 20 digitalWrite(i, HIGH); 21 delay(200); 22 } 23 }
交通燈
代碼
1 int redled = 10; 2 int yellowled = 7; 3 int greenled = 4; 4 void setup() { 5 // put your setup code here, to run once: 6 pinMode(redled, OUTPUT); 7 pinMode(yellowled, OUTPUT); 8 pinMode(greenled, OUTPUT); 9 } 10 11 void loop() { 12 // put your main code here, to run repeatedly: 13 digitalWrite(greenled, HIGH); 14 delay(5000); 15 digitalWrite(greenled, LOW); 16 for(int i = 0; i < 3; i++){ 17 delay(500); 18 digitalWrite(yellowled, HIGH); 19 delay(500); 20 digitalWrite(yellowled, LOW); 21 } 22 delay(500); 23 digitalWrite(redled, HIGH); 24 delay(5000); 25 digitalWrite(redled, LOW); 26 }
(四)按鍵控制
代碼
1 int ledpin = 10; 2 int inpin = 7; 3 int val; 4 5 void setup() { 6 // put your setup code here, to run once: 7 pinMode(ledpin, OUTPUT); 8 pinMode(inpin, OUTPUT); 9 } 10 11 void loop() { 12 // put your main code here, to run repeatedly: 13 val = digitalRead(inpin); 14 if (val == HIGH){ 15 digitalWrite(ledpin, HIGH); 16 } 17 else{ 18 digitalWrite(ledpin, LOW); 19 } 20 }
總結:
電路原理、程序編寫都簡單,易懂。
期待進一步深入。