arduino新入手体验:三个小实验
新入手体验:三个小实验

一:一个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依次熄灭;
- 全熄灭后暂停200ms,间隔200ms闪烁两次;
- 然后从中间向两边全部点亮每次间隔200ms,两边向中间熄灭,间隔200ms;
- 全熄灭后暂停200ms,间隔200ms闪烁两次;
- 两边向中间依次点亮,每次间隔400ms,中间向两边依次点亮,每次间隔400ms,
- 两末端亮后暂停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新入手体验:三个小实验的更多相关文章
- arduino按钮使用的两个小实验
一:按钮控制一个灯 ...
- MacBook 整个配置过程,供新入手MacBook的同学
这里记录了MacBook 的整个配置过程,可供新入手MacBook和觉得MacBook比较难用的同学参考. 1. 外围拓展 笔记本电脑的特点是携带方便,缺点是屏幕太小,因此你首先需要再申请领用一个外接 ...
- VS2017十五项新功能体验
Visual Studio 2017十五项新功能体验 Visual Studio 2017正式已经于2017.3.7号正式发布,选在这一天发布也是为了纪念Visual Studio 二十周年.MVP ...
- 【Arduino】66种传感器模块系列实验(2)---光敏电阻模块
实验二:光敏电阻传感器模块我手里这块是三针版的,挺秀气吧 光敏电阻是用硫化隔或硒化隔等半导体材料制成的特殊电阻器,其工作原理是基于内光电效应.光照愈强,阻值就愈低,随着光照强度的升高,电阻值迅速降低, ...
- 秒懂JVM的三大参数类型,就靠这十个小实验了
秒懂JVM的三大参数类型,就靠这十个小实验了 你好,我是悟空哥,「7年项目开发经验,全栈工程师,开发组长,超喜欢图解编程底层原理」.手写了2个小程序,Java刷题小程序,PMP刷题小程序,已发布到公众 ...
- 基于 Source Generators 做个 AOP 静态编织小实验
0. 前言 上接:用 Roslyn 做个 JIT 的 AOP 作为第二篇,我们基于Source Generators做个AOP静态编织小实验. 内容安排如下: source generators 是什 ...
- 体验了微信小程序,发现安卓用户终于把果粉“碾压”了一次
今天早上,张小龙在微信公开课上分享了小程序的理念,并且公布了小程序将于1月9日上线. 为了体现张小龙对未来程序形态的理解,小程序有四个特定:无需安装.触手可及.用完即走.无需卸载.今天,36氪刚好有机 ...
- Hadoop之词频统计小实验
声明: 1)本文由我原创撰写,转载时请注明出处,侵权必究. 2)本小实验工作环境为Ubuntu操作系统,hadoop1-2-1,jdk1.8.0. 3)统计词频工作在单节点的伪分布上,至于真正实 ...
- js中关于事件捕获与事件冒泡的小实验
1.事件冒泡:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. IE 5.5: div -> body -> document IE 6.0: div - ...
随机推荐
- 在Ubuntu17.04中遇到无法清空回收站解决方法
在Ubuntu17.04下,遇到清空回收站文件时报错,提示”Failed to delete the item from the trash”,无法清空回收站. 回收站其实就是一个文件夹,存放着被删掉 ...
- [Spark Core] Spark 在 IDEA 下编程
0. 说明 Spark 在 IDEA 下使用 Scala & Spark 在 IDEA 下使用 Java 编写 WordCount 程序 1. 准备 在项目中新建模块,为模块添加 Maven ...
- 小渣渣的json和jsonp和ajax的实质和区别
json和jsonp和ajax的实质和区别ajax的两个问题 1.ajax以何种格式来交换数据 2.跨域的需求如何解决 数据跨域用自定义字符串或者用XML来描述 跨域可以用服务器代理来解决jsonp来 ...
- 何为用户体验?附《用户体验的要素》PDF版下载
一.什么是用户体验? 用户体验(User Experience,简称UE/UX)是用户在使用产品过程中建立起来的一种纯主观感受.但是对于一个界定明确的用户群体来讲,其用户体验的共性是能够经由良好设计实 ...
- HTML5中的Canvas详解
什么是Canvas HTML5 <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成.<canvas> 标签只是图形容器,您必须使用脚本来绘制图 ...
- BZOJ 1028 麻将 枚举
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1028 题目大意: 麻将是中国传统的娱乐工具之一.麻将牌的牌可以分为字牌(共有东.南.西 ...
- jQuery做字符串分隔
var str=new String(); var arr=new Array(); str="ddd,dsd,3,dd,g,k"; //可以用字符或字符串分割 arr=str.s ...
- 【转】android Toast大全(五种情形)建立属于你自己的Toast
Toast用于向用户显示一些帮助/提示.下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast. 1.默认效果 代码 Toast.makeText(getApplicationCo ...
- ELK (Elasticsearch+Logstash+Kibana)部署
部署机器: 服务端:dev-server X.X.X.X ( logstash-1.5.4,elasticsearch-1.7.1,kibana-4.1.1 ) 客户端:dev-cli ...
- mysql用户创建与授权
一. 创建用户 命令: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明: username:你将创建的用户名 host:指定该用户 ...