Arduino UNO 学习 (一) 认识arduino、LED灯、按键控制

时间:2024-02-24 14:32:54

作为兴趣爱好,开始学习开发板,从基础入手,记录学习使用心得。

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

 

总结:

电路原理、程序编写都简单,易懂。

期待进一步深入。