查看“第十二课--Microduino 光照指示器/zh”的源代码
←
第十二课--Microduino 光照指示器/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language|Lesson_12--Microduino_"Light_indicator" }} {| style="width: 800px;" |- | ==目的== 上节课讲到了光敏电阻实验,只把光线分为两个等级,强或弱,今天深入一下,做个光照指示器,用4个LED等指示,把光强分为5个等级,光敏电阻感受到的光越强,就点亮越多的LED来达到指示的目的。 ==设备== *'''[[Microduino-Core]]''' *'''[[Microduino-FT232R]]''' *其他硬件设备 **面包板跳线 一盒 **面包板 一块 **光敏电阻 一个 **220欧 四个 **10K 一个 **led发光二级管 四个 **USB数据连接线 一根 [[File:lesson11All.jpg|600px|center|thumb]] ==原理图== [[File:第十二课原理图.jpg|600px|center|thumb]] 这次光敏电阻接法与上次相反,目的是想大家更加明白光敏电阻的用法。光敏电阻一端直接接电源,另一端通过电阻接地。初始状态下为低,随着光照强度的增加电压越来越高。 ==程序== <source lang="cpp"> void setup () { Serial.begin(115200); for(int i=2; i<=5;i++) //使用循环方式创建2-5号数字口为输出模式 { pinMode(i,OUTPUT); } } void loop () { int n =analogRead(A0); //读取光敏电阻的读数 //Serial.println(n); if (n>=100) //各个颜色层级判断,各个层级数值,大家可根据自己的使用环境进行相应调整,最小0,最大1023 { digitalWrite(2,HIGH); digitalWrite(2,LOW);//当不再这个等级下,灯会熄灭 } if(n>250) { digitalWrite(3,HIGH); digitalWrite(3,LOW); } if(n>400) { digitalWrite(4,HIGH); digitalWrite(4,LOW); } if(n>550) { digitalWrite(5,HIGH); digitalWrite(5,LOW); } // delay(100); } </source> ==结果== 当光照很弱,低于设置的最小值时,所有灯都灭。随着光的增加,每到一个设定的级别就点亮一个LED,达到指示的效果。实际上LED灯一直在闪烁,因为为了使光强不在某一等级,要熄灭此等级的灯,就直接在点亮之后立即熄灭,在执行过程中没加延时,只要还在该等级,就循环处理,所以看起来就好像一直亮着。 |} [[File:lesson11Result.jpg|600px|center|thumb]]
该页面使用的模板:
模板:Language
(
查看源代码
)
模板:Nmbox
(
查看源代码
)
返回至
第十二课--Microduino 光照指示器/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息