零知开源快速入门13-倾斜开关控制你的灯-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3288|回复: 0

零知开源快速入门13-倾斜开关控制你的灯

[复制链接]
发表于 2018-6-26 14:41 | 显示全部楼层 |阅读模式
本帖最后由 零知实验室-roc 于 2018-6-26 20:44 编辑

转载自:零知开源快速入门13-倾斜开关控制你的灯
http://www.lingzhilab.com/forum.php?mod=viewthread&tid=191&fromuid=2
(出处: 零知实验室)

本实验使用一个滚珠开关模块来控制你的LED灯,实验很简单,快动手制作吧。

一、工具原料
  • 电脑,windows系统
  • 零知开发板
  • micro-usb线
  • LED灯一个
  • 220Ω 电阻1个
  • 滚珠开关1个
  • 面包板一个+若干跳线


二、硬件连接
1、电路原理图
主要是用到滚珠开关,当一端倾斜比水平位置低时候,会导通开关,通过测量电压值就可以判断开关的导通状态了。

2、电路连接
   
三、方法步骤
1、打开零知实验室软件开发工具,然后新建项目,输入以下代码:
  • /**
  • *    文件: 倾斜开关LED.ino      by 零知实验室(www.lingzhilab.com)
  • *    -- 零知开源,让电子制作变得更简单! --
  • *    时间: 2018/06/26 14:23
  • *    说明: 使用滚珠开关控制LED
  • **/
  • int port = A0;//滚珠开关连接A0模拟引脚
  • int led = 0;//led连接到0号脚
  • int value = 0;//模拟输入测得值
  • // the setup routine runs once when you press reset:
  • void setup() {
  •     // put your setup code here, to run once:
  •         pinMode(led, OUTPUT);
  • }
  • // the loop routine runs over and over again forever:
  • void loop() {
  •     // put your main code here, to run repeatedly:
  •         value = analogRead(port);
  •         if(value > 4000) //模拟最大数值为4095,这里大于这个值(可以根据实际测量值进行调整到最佳),表示倾斜了,开关通了
  •         {
  •                 digitalWrite(led, LOW);//打开LED
  •         }else
  •         {
  •                 //没有倾斜,水平放置时候,开关断开,读到的值约为0
  •                 digitalWrite(led, HIGH);//关闭LED
  •         }
  • }


[color=rgb(51, 102, 153) !important]复制代码


2、按照之前的方式先【编译】,然后【上传】到开发板中。
四、成果展示
上面步骤成功完成后,我们就可以看到预期的结果了,当我们把面包板倾斜的时候,LED灯亮了,平放的时候LED灯熄灭。





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 06:30 , Processed in 0.095685 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表