作为兴趣爱好,开始学习开发板,从基础入手,记录学习使用心得。
一、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 }
总结:
电路原理、程序编写都简单,易懂。
期待进一步深入。