Arduino 自学笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Arduino教程
1.Arduino的介绍
●什么叫arduino?
Arduino是一块基于开放原始代码的Simple i/o平台,并且具有开发语言和开发环境都很简单,易理解的特点。可以让你轻松利用arduino做出有趣的东西。
他是一个能够用来感应和控制现实物理世界的一套工具。他由一个基于单片机并且开放源码的硬件平台和一套为arduino板编程软件的开发环境组成。
Arduino可以用来开发交互产品,比如它可以用来读取大量开关和传感器的信号,并且可以控制各种各样的灯,电机和其他物理设备。Arduino项目可以是单独的也可以和你的电脑上的软件程序(例如:flash,processing,maxMsp 等)进行通讯。Arduino开源的IDE可以免费下载得到
●Arduino的特点
1.开放原始码的电路图设计,开放界面免费下载,也可以依需求自己修改
2.下载程序简单,方便。
3.可简单的与传感器,各种各样的电子元件连接(如:LED灯,蜂鸣器,
开关,光敏电阻等),做出各种各样的有趣的东西。
4.使用高效的微处理器
5.开发语言和开发环境都非常的简单,对初学者来说很容易上手
●Arduino的性能
1.Digital I/O数字输入/输出端口0-13.
2.Analog I/O模拟输入/输出0-5.
3.支持ISP下载功能。
几个比较特殊的端口说明
●VIN端口:VIN是input voltage的缩写,表示有外部电源是的输入端
口。如果不使用USB供电时,外部电源可以通过此引脚提供电压(如电
池供电,电池正极接VIN引脚,负极接GND引脚)。
●AREF:Reference voltage for the analog input(模拟输入的基准电
压)。使用analogReference()命令使用。
2.流水灯的设计
●实验原理
在生活中我们经常看到一些有各种颜色组成的广告灯,广告灯上各个位置的LED灯不断的两咩变化,就形成各种不同的效果,本届实验就
是利用led灯编程做一个流水灯的效果,在程序中我们设置led灯的亮
灭的次序与时间就可以实现流水灯的效果
本次实验我们用6个led灯作流水灯,通过控制各个led的亮灭次序与时间,就可以实现流水灯的效果。
一排6个led灯,首先依次点亮,再依次熄灭;然后6灯齐闪3次;
最后实现两个两个一起闪3次。
●实验器材
1.Led灯:6个
2.220欧姆电阻:6个
3.面包板以及跳线:若干
4.Arduinio板子一块,数据线等
●程序代码
●int LED1=8;
●int LED2=9;
●int LED3=10;
●int LED4=11;
●int LED5=12;
●int LED6=13;
●int n;
●void setup()
●{ //设置各个引脚的初始状态
●for(n=8;n<=13;n++)
●{
● pinMode(n, OUTPUT);
●}
●}
●void loop()
●{
● turn1();//顺序点亮,顺序熄灭
● clean(); //灭掉所有灯
●
● turn2();//6灯齐闪
● clean();//灭掉所有灯
●
● turn3();
● clean();//灭掉所有灯
●}
●void turn1() //顺序点亮,顺序熄灭●{
●{
● digitalWrite(n,HIGH);
● delay(300);
●}
● for(n=8;n<=13;n++)
●{
● digitalWrite(n,LOW);
● delay(300);
●}
●}
●void turn2()//6灯齐闪3次
●{ for(int x=0;x<=2;x++)
●{
● for(n=8;n<=13;n++)
●{
● digitalWrite(n,HIGH); ●}
●delay(300);
● for(n=8;n<=13;n++)
●{
● digitalWrite(n,LOW);
●
●}
●delay(300);
●}
●}
●void turn3()//两个两个一起闪3次●{
● for(int x=0;x<=2;x++)
● {
● digitalWrite(8,HIGH);
● digitalWrite(9,HIGH);
● digitalWrite(n,LOW);
● }
● delay(300);
● digitalWrite(10,HIGH);
● digitalWrite(11,HIGH);
● digitalWrite(8,LOW);
● digitalWrite(9,LOW);
● digitalWrite(12,LOW);
● digitalWrite(13,LOW);
● delay(300);
● digitalWrite(12,HIGH);
● digitalWrite(13,HIGH);
● for(n=8;n<=11;n++){
● digitalWrite(n,LOW);
● }
● delay(300);
●}
●}
●void clean()
●{ for(n=8;n<=13;n++)
●{
● digitalWrite(n,LOW); ●
●}
●delay(300);
●代码回顾