Arduino 实验套件(Arduino UNO控制器,面包板,跳线,USB数据线)
5mm 发光二极管 红色 * 2 个、黄色 * 2 个、绿色 * 2 个
470欧姆直插电阻 * 6 个
准备实验需要用到的硬件,如图所示:
如下图所示进行硬件的连接,此步我们先不连接发光二极管,只需将Arduino UNO控制器连接到电脑
将下列程序复制到Arduino IDE中,如下图所示: 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() //顺序点亮,顺序熄灭{ for(n=8;n<=13;n++){ 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); for(n=10;n<=13;n++){ 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);}
如图所示,选择正确的板卡型号和端口,将程序上传到控制器中。
如图所示,程序上传无误的情况下 Arduino IDE 软件会显示如下结果
按照下图中的电路,进行实验硬件的连接
实验效果如图所示:程序中turn1()函数作用是使6个LED顺序点亮,再顺序熄灭;turn2()函数作用使6个LED一齐闪烁频率为300ms;turn3()函数作用是两两灯闪烁;clean()函数熄灭6只LED,6个LED发光二极管会循环执行几种效果,直到Arduino UNO 控制器断电为止。
代码回顾:(1)for(n=8;n<=13;n++) 循环语句for循环开头有3个部分:(初始化;条件;增量计数){ //语句 }“初始化”只在循环开始执行一次。每次循环,都会检测一次条件;如果条件为真,则执行语句和“增量计数”,之后再检测条件。当条件为假时,循环终止。(2)void turn1()声明功能函数,声明后,可以在loop()语句中调用。在程序中的位置如下图所示:
为了方便大家实验,防止在复制代码的时候出现错误,特将代码和电路图Fritzing源文件上传至网盘供大家下载学习。下载地址:http://pan.baidu.com/s/1nuSL9Mx,打开链接后,如图所示,点击下载即可
如果经验帮到您,就给我投一票吧!谢谢~