Arduino UNO 學習 (一) 認識arduino、LED燈、按鍵控制


作為興趣愛好,開始學習開發板,從基礎入手,記錄學習使用心得。

一、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 }

 

總結:

電路原理、程序編寫都簡單,易懂。

期待進一步深入。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM