Windows on Device 项目实践 5 - 姿态控制灯制作
在前面几篇文章中,我们学习了如何利用Intel Galileo开发板和Windows on Device来设计并完成PWM调光灯、感光灯、火焰报警器和智能风扇的制作,涉及到了火焰传感器、DC直流电机、温度传感器、光敏电阻等器件。在这个项目中,我们会使用滚珠开关和LED,完成一个简单的姿态控制灯的制作。
1.滚珠开关
滚珠开关利用开关中的小珠的滚动,制造与金属端子的触碰或改变光线行进的路线,就能产生导通或不导通的效果。滚珠开关目前已有许多不同类型的产品,包括角度感应开关、震动感应开关、离心力感应开关、光电式滚珠开关。以往此类型开关以水银开关为主,把水银(汞)当作触击的元件,但自从各国政府陆续禁用水银后,触击元件就为滚珠所取代。滚珠开关运用层面极广,例如:如胎压监控系统(TPMS)、脚踏车灯、数位相框旋转、萤幕旋转、视讯镜头翻转、防盗系统等,举凡想侦测物体角度变化、倾倒、移动、震动、旋转的场合,滚珠开关皆适用。
2. 元器件和硬件连接
这次实践项目需要使用的元器件有:
- 滚珠开关:1个
- LED:1个
- 10K电阻:1个
- 面包板实验跳线:若干
将led灯连接到数字8引脚,滚珠开关连接到模拟5引脚。
3.实验原理
当开关一端低于水平位置倾斜,开关寻通,模拟口电压值为5V左右 (数字二进制表示为1023),点亮led灯。当另一端低于水平位置倾斜 ,开关停止,模拟口电压值为0V左右(数字二进制表示为0),熄灭led 灯。在程序中模拟口电压值是否大于2.5V左右(数字二迕制表示为512) ,即可知道是否倾斜开关寻通了。
4.源代码解析
// Main.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "arduino.h"
int _tmain(int argc, _TCHAR* argv[])
{
return RunArduinoSketch();
}
int led = 8; // This is the pin the LED is attached to.
int portin = 5;
void setup()
{
pinMode(led, OUTPUT);//设置数字8引脚为输出模式
}
void loop()
{
int i;//定义发量i
while (1)
{
i = analogRead(portin);//读叏模拟5口电压值
if (i>512)//如果大于512(2.5V)
{
digitalWrite(led, HIGH);//点亮led灯
}
else//否则
{
digitalWrite(led, LOW);//熄灭led灯
}
}
}
5. 调试结果
启动Galileo,利用TelNet建立连接,然后点击调试。程序就会通过网口下载到Galileo上。当开关一端低于水平位置倾斜,开关导通,LED点亮;另一端低于水平位置倾斜,开关断开,LED熄灭。
调试的视频链接如下:http://v.youku.com/v_show/id_XOTAxNDcyOTA4.html

Windows on Device 项目实践 5 - 姿态控制灯制作的更多相关文章
- Windows on Device 项目实践 2 - 感光灯制作
在上一篇<Windows on Device 项目实践 1 - PWM调光灯制作>中,我们学习了如何利用Intel Galileo开发板和Windows on Device来设计并完成一个 ...
- Windows on Device 项目实践 3 - 火焰报警器制作
在前两篇<Windows on Device 项目实践 1 - PWM调光灯制作>和<Windows on Device 项目实践 2 - 感光灯制作>中,我们学习了如何利用I ...
- Windows on Device 项目实践 1 - PWM调光灯制作
在前一篇文章<Wintel物联网平台-Windows IoT新手入门指南>中,我们讲解了Windows on Device硬件准备和软件开发环境的搭建,以及Hello Blinky项目的演 ...
- Windows on Device 项目实践 4 - 智能风扇制作
在前面的文章中,我们已经学习并且利用Intel Galileo开发板和Windows on Device制作了火焰报警器.感光灯和PWM调光灯.在这个项目中,我们来利用温度传感器和直流电机,完成一个简 ...
- Jenkins使用FTP进行一键部署及回滚2(Windows)(项目实践)
转载:http://www.cnblogs.com/EasonJim/p/6295372.html Jenkins使用FTP进行一键部署及回滚2(Windows)(项目实践) 前提: 这一篇是继上一 ...
- Hangfire项目实践分享
Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget jobs) 延迟任务执行(De ...
- Windows平台分布式架构实践 - 负载均衡(下)
概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...
- Hangfire项目实践
Hangfire项目实践分享 Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget ...
- MVC项目实践,在三层架构下实现SportsStore-08,部署到IIS服务器
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
随机推荐
- 使用纯前端JavaScript 实现Excel IO
公司最近要为某国企做一个**统计和管理系统, 具体要求包含 Excel导入导出 根据导入的数据进行展示报表 图表展示(包括柱状图,折线图,饼图),而且还要求要有动画效果,扁平化风格 Excel导出,并 ...
- C# 原样复制excel工作表
在excel中,工作表是工作薄的组成部分,一个工作薄可以由一个或多个工作表组成,一个工作薄也可以说是一个excel文档,正因为如此,excel工作表的复制也就分为两种类型:在同一文档之内复制和在不同文 ...
- iOS homekit使用说明
本文由CocoaChina翻译组成员iBenjamin_Go和浅夏@旧时光翻译自苹果开发文档:HomeKit Developer Guide,敬请勘误. 本文档内容包括 第一部分:简介 第二部分:启用 ...
- ASP.NET网站优化(转自一位博友的文章,写的非常好)
不修改代码就能优化ASP.NET网站性能的一些方法 阅读目录 开始 配置OutputCache 启用内容过期 解决资源文件升级问题 启用压缩 删除无用的HttpModule 其它优化选项 本文将介绍一 ...
- 1Z0-053 争议题目解析701
1Z0-053 争议题目解析701 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 701.A user receives the following error while per ...
- 韩顺平_linux_随堂笔记
这还是自己3年前(2011年)整理的笔记,记得当时那会儿自己对Linux还特别的憧憬,也很喜欢韩老师的讲课风格,边看边做笔记乐此不彼,现在开通了技术博客,所以把当年的笔记也放上来和大家分享.同时推荐没 ...
- Wave - 花たん 音乐
Wave 歌手:花たん 所属专辑:Flower 間違えて宇宙終わって(宇宙因为一个错误而终结了) 青信号はいつも通り(通行的灯号一如往常的) 飛んでまた止まって(又再停止传播) また 飛びそうだ(然后 ...
- Git 初始化版本库
创建带工作区的版本库 在开始一个新项目时,首先就要创建并初始化代码库.如果是在本机的工作目录中,那么: $ git init 也就够用了.如果想要初始化的版本库不在当前目录,需要为 git init ...
- SQL常见的系统存储过程
1.sp_datebases 列出服务器上的所有数据库信息,包括数据库名称和数据库大小 例:exec sp_datebases 2.sp_helpdb 报告有关指定数据库或所有数据库的信息 例:exe ...
- ASP.NET开源CMS
CMS这里指 内容管理系统.是Content Management System的缩写. 产生 随着网络应用的丰富和发展,很多网站往往不能迅速跟进大量信息衍生及业务模式变革的脚步,常常需要花费许多时间 ...