新入手体验:三个小实验

一:一个LED闪烁

控制要求:1个LED灯,每隔50ms闪烁一次

实物连接图:

控制代码:

 //2018.6/11

 int LED = ;//定义数字接口10,对应

 void setup()

 {

   pinMode(LED,OUTPUT);//设置数字10 口为输出接口,Arduino 上我们用到的I/O 口都要进行类似这样的定义。

 }

 void loop() //死循环体

 {

  digitalWrite(LED,HIGH);//IO口10设置为高电平,点亮数字10 口LED

  delay();//延时50MS

  digitalWrite(LED,LOW);//IO口10设置为低电平,熄灭数字10 口LED

  delay();//延时50MS

 }

二:流水灯

控制要求:1.一共6个LED,从左到右每隔200ms依次点亮,然后从右到左每隔200ms依次熄灭;

  1. 全熄灭后暂停200ms,间隔200ms闪烁两次;
  2. 然后从中间向两边全部点亮每次间隔200ms,两边向中间熄灭,间隔200ms;
  3. 全熄灭后暂停200ms,间隔200ms闪烁两次;
  4. 两边向中间依次点亮,每次间隔400ms,中间向两边依次点亮,每次间隔400ms,
  5. 两末端亮后暂停200ms,间隔200ms闪烁两次;

实物连接图:

控制代码:

 int Led1 = ;//定义数字接口1
int Led2 = ;//定义数字接口2
int Led3 = ;//定义数字接口3
int Led4 = ;//定义数字接口4
int Led5 = ;//定义数字接口5
int Led6 = ;//定义数字接口6 void style_1(void)
{
unsigned char j;
for(j=;j<=;j++)//每隔200ms依次点亮1-6引脚相连的LED灯
{
digitalWrite(j,HIGH);//点亮J引脚相连的LED灯
delay();//延时200ms
}
for(j=;j>=;j--)//每隔200ms依次熄灭6-1引脚相连的LED灯
{
digitalWrite(j,LOW);//熄灭J引脚相连的LED灯
delay();//延时200ms
}
}
//灯闪烁子程序
void flash(void)
{
unsigned char j,k;
for(k=;k<=;k++)//闪烁两次
{
for(j=;j<=;j++)//点亮1~6引脚相连的led灯
digitalWrite(j,HIGH);//点亮于j引脚相连的led灯
delay();//延时200ms
for(j=;j<=;j++)//熄灭1~6引脚相连的led灯
digitalWrite(j,LOW);//熄灭与j引脚相连dled灯
delay();//延时200ms
}
}
//led灯花样显示样式2子程序
void style_2(void)
{
unsigned char j,k;
k=;//设置k的初值为1
for(j=;j>=;j--)
{
digitalWrite(j,HIGH);//点亮灯
digitalWrite(j+k,HIGH);//点亮灯
delay();//延时400ms
k +=;//设置k的值加2
}
k=;//设置k的值为5
for(j=;j<=;j++)
{
digitalWrite(j,LOW);;//熄灭灯
digitalWrite(j+k,LOW);;//熄灭灯
delay();//延时400ms
k -=;//设置k的减2
}
}
//led灯花样显示样式3子程序
void style_3(void)
{
unsigned char j,k;
k=;//设置k的值为5
for(j=;j<=;j++)
{
digitalWrite(j,HIGH);//点亮灯
digitalWrite(j+k,HIGH);//点亮灯
delay();//延时400ms
digitalWrite(j,LOW);//熄灭灯
digitalWrite(j+k,LOW);//熄灭灯
k -=;//设置k的减2
}
k=;//设置k的值为3
for(j=;j>=;j--)
{
digitalWrite(j,HIGH);//点亮灯
digitalWrite(j+k,HIGH);//点亮灯
delay();//延时400ms
digitalWrite(j,LOW);//熄灭灯
digitalWrite(j+k,LOW);//熄灭灯
k +=;//设置k的加2
}
}
void setup()
{
unsigned char i;
for(i=;i<=;i++)//依次设置1-6个数字引脚为输出模式
pinMode(i,OUTPUT);//设置第i个引脚为输出模式
}
void loop()
{
style_1();//样式1
flash();//闪烁
style_2();//样式2
flash();//闪烁
style_3();//样式3
flash();//闪烁
}

三:练习题:SOS信号灯

控制要求:1.三短三长三短闪烁,暂停时间都是100ms,长亮时间间隔为400ms,短亮时间间隔为150ms;

2.一个周期完成时间间隔为5S;

二:流水灯

arduino新入手体验:三个小实验的更多相关文章

  1. arduino按钮使用的两个小实验

    一:按钮控制一个灯                                                                                            ...

  2. MacBook 整个配置过程,供新入手MacBook的同学

    这里记录了MacBook 的整个配置过程,可供新入手MacBook和觉得MacBook比较难用的同学参考. 1. 外围拓展 笔记本电脑的特点是携带方便,缺点是屏幕太小,因此你首先需要再申请领用一个外接 ...

  3. VS2017十五项新功能体验

    Visual Studio 2017十五项新功能体验 Visual Studio 2017正式已经于2017.3.7号正式发布,选在这一天发布也是为了纪念Visual Studio 二十周年.MVP ...

  4. 【Arduino】66种传感器模块系列实验(2)---光敏电阻模块

    实验二:光敏电阻传感器模块我手里这块是三针版的,挺秀气吧 光敏电阻是用硫化隔或硒化隔等半导体材料制成的特殊电阻器,其工作原理是基于内光电效应.光照愈强,阻值就愈低,随着光照强度的升高,电阻值迅速降低, ...

  5. 秒懂JVM的三大参数类型,就靠这十个小实验了

    秒懂JVM的三大参数类型,就靠这十个小实验了 你好,我是悟空哥,「7年项目开发经验,全栈工程师,开发组长,超喜欢图解编程底层原理」.手写了2个小程序,Java刷题小程序,PMP刷题小程序,已发布到公众 ...

  6. 基于 Source Generators 做个 AOP 静态编织小实验

    0. 前言 上接:用 Roslyn 做个 JIT 的 AOP 作为第二篇,我们基于Source Generators做个AOP静态编织小实验. 内容安排如下: source generators 是什 ...

  7. 体验了微信小程序,发现安卓用户终于把果粉“碾压”了一次

    今天早上,张小龙在微信公开课上分享了小程序的理念,并且公布了小程序将于1月9日上线. 为了体现张小龙对未来程序形态的理解,小程序有四个特定:无需安装.触手可及.用完即走.无需卸载.今天,36氪刚好有机 ...

  8. Hadoop之词频统计小实验

    声明:    1)本文由我原创撰写,转载时请注明出处,侵权必究. 2)本小实验工作环境为Ubuntu操作系统,hadoop1-2-1,jdk1.8.0. 3)统计词频工作在单节点的伪分布上,至于真正实 ...

  9. js中关于事件捕获与事件冒泡的小实验

    1.事件冒泡:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. IE 5.5: div -> body -> document IE 6.0: div - ...

随机推荐

  1. Android中两个Activity之间简单通信

    在Android中,一个界面被称为一个activity,在两个界面之间通信,采用的是使用一个中间传话者(即Intent类)的模式,而不是直接通信. 下面演示如何实现两个activity之间的通信. 信 ...

  2. JavaBeansDataExchange could not instantiate result class

    当ibatis初始化Bean的时候,会调用无参的构造函数,所以如果Bean中有带参的构造函数,一定得多写个无参的构造函数, 否则ibatis会因找不到构造函数而出错,抛出异常如下:JavaBeansD ...

  3. 关于在Win10的Windows功能中没有IE11的问题

    大概是用Win7的时候把IE关掉了,升级Win10之后就发现IE不见了,在Windows功能里面也没有:最近因为某些原因需要用到IE,还是用的虚拟机. 网上找到的方法普遍是执行命令:FORFILES ...

  4. vsftp配置

    网上很多,但我还是想再整理一份属于自己的 1.vsftp简介 vsftp提供三种登陆方式:.匿名登录 .本地用户登录 .虚拟用户登录 vsftpd的特点:.较高的安全性需求 .带宽的限制 .创建支持虚 ...

  5. Docker容器学习与分享09

    Docker容器之间的相互通信 先新建两个不同的网段,就用分享08里的两个网段作为新建的网段. [root@promote ~]# docker network ls NETWORK ID NAME ...

  6. swift的关联类型

    一.术语:指定类型 typealias:用于给关联类型指定类型: 通过类型推断给关联类型指定类型太过烧脑: 二.类型指定 1.具体类型实现协议后,直接指定:作为普通的泛型类型使用,指定类型即可: 2. ...

  7. Qt入门之基础篇 ( 一 ) :Qt4及Qt5的下载与安装

    转载请注明出处:CN_Simo. 导语: Qt是一个跨平台的C++图形界面应用程序框架.它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序.Qt很容易扩展,并且 ...

  8. Linux下安装与配置snmp服务

    一.安装snmp服务 1.检查系统是否已经安装snmp的rpm包 以下是安装snmp服务需要的rpm包: libsensors3-2.10.6-55.el5.i386.rpm lm_sensors-2 ...

  9. JS实现网页换肤功能效果

    网页换肤的基本原理 使用 JS 切换对应的 CSS 样式表.例如hao123首页的右上方就有网页换肤功能.除了切换 CSS 样式表文件之外,通常的网页换肤还需要通过 Cookie 来记录用户之前更换过 ...

  10. JAVA框架 SpringMVC RequestMapping讲解

    一.窄化请求映射 在class上做RequestMapping注解. 好处:避免在同一个项目中和其他人的url重复,出现请求混乱问题,便于管理. @Controller @RequestMapping ...