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优化.导航.分页.购物车.订单.产品管 ...
随机推荐
- CSS3中border-radius、box-shadow与gradient那点事儿
一.border-radius border-radius用于添加圆角边框,用处非常广泛. 1)一个值,代表了四个角 .radius-one { /* Safari 3-4, iOS 1-3.2, A ...
- 1Z0-053 争议题目解析685
1Z0-053 争议题目解析685 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 685.In your test database: -You are using Recover ...
- hibernate笔记--基于主键的单(双)向的一对一映射关系
上一节介绍的基于外键的一对一映射关系中,在Person表中有一个外键列idCard_id,对应的idCard表的主键id,至于基于主键的一对一映射关系,就是指Person表中抛弃了idcard_id这 ...
- 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4
系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...
- C++异常处理: try,catch,throw,finally的用法
写在前面 所谓异常处理,即让一个程序运行时遇到自己无法处理的错误时抛出一个异常,希望调用者可以发现处理问题. 异常处理的基本思想是简化程序的错误代码,为程序键壮性提供一个标准检测机制. 也许我们已经使 ...
- C#怎样保证弹出窗体是唯一并居中显示
Winform窗体中,假如我从Form1窗体要弹出Form2窗体,写法是这样的: Form2 f2 = new Form2(); f2.Show(); 1.如何使窗体打开时居中显示 //初始化默认窗体 ...
- 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox
[源码下载] 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox 作者:webabcd 介绍背水一战 Windows 10 之 控件(文本类) AutoSug ...
- LNMP环境搭建完整步骤
零.resource http://pan.baidu.com/s/1o83r3S2 一.centos 6.4.VirtualBox 5.0.14 二.nginx 1.9.9 安装 [root@p ...
- 从零开始学 Java - log4j 项目中的详细配置
你还会用笔来写字么 我是不怎么会了,有时候老是拿起笔之后不知道这个字怎么写,这时候就会拿起手机去打出来:有时候还会写出来这个字之后越看越不像,这时候就开始怀疑自己的能力了:有时候写出来了一大堆字之后, ...
- 【读书笔记】2016.11.19 北航 《GDG 谷歌开发者大会》整理
2016.11.19 周六,我们在 北航参加了<GDG 谷歌开发者大会>,在web专场,聆听了谷歌公司的与会专家的技术分享. 中午免费的午餐,下午精美的下午茶,还有精湛的技术,都是我们队谷 ...