在前面几篇文章中,我们学习了如何利用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 - 姿态控制灯制作的更多相关文章

  1. Windows on Device 项目实践 2 - 感光灯制作

    在上一篇<Windows on Device 项目实践 1 - PWM调光灯制作>中,我们学习了如何利用Intel Galileo开发板和Windows on Device来设计并完成一个 ...

  2. Windows on Device 项目实践 3 - 火焰报警器制作

    在前两篇<Windows on Device 项目实践 1 - PWM调光灯制作>和<Windows on Device 项目实践 2 - 感光灯制作>中,我们学习了如何利用I ...

  3. Windows on Device 项目实践 1 - PWM调光灯制作

    在前一篇文章<Wintel物联网平台-Windows IoT新手入门指南>中,我们讲解了Windows on Device硬件准备和软件开发环境的搭建,以及Hello Blinky项目的演 ...

  4. Windows on Device 项目实践 4 - 智能风扇制作

    在前面的文章中,我们已经学习并且利用Intel Galileo开发板和Windows on Device制作了火焰报警器.感光灯和PWM调光灯.在这个项目中,我们来利用温度传感器和直流电机,完成一个简 ...

  5. Jenkins使用FTP进行一键部署及回滚2(Windows)(项目实践)

     转载:http://www.cnblogs.com/EasonJim/p/6295372.html Jenkins使用FTP进行一键部署及回滚2(Windows)(项目实践) 前提: 这一篇是继上一 ...

  6. Hangfire项目实践分享

    Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget jobs) 延迟任务执行(De ...

  7. Windows平台分布式架构实践 - 负载均衡(下)

    概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效 ...

  8. Hangfire项目实践

    Hangfire项目实践分享 Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget ...

  9. MVC项目实践,在三层架构下实现SportsStore-08,部署到IIS服务器

    SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...

随机推荐

  1. CSS3中border-radius、box-shadow与gradient那点事儿

    一.border-radius border-radius用于添加圆角边框,用处非常广泛. 1)一个值,代表了四个角 .radius-one { /* Safari 3-4, iOS 1-3.2, A ...

  2. 1Z0-053 争议题目解析685

    1Z0-053 争议题目解析685 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 685.In your test database: -You are using Recover ...

  3. hibernate笔记--基于主键的单(双)向的一对一映射关系

    上一节介绍的基于外键的一对一映射关系中,在Person表中有一个外键列idCard_id,对应的idCard表的主键id,至于基于主键的一对一映射关系,就是指Person表中抛弃了idcard_id这 ...

  4. 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4

    系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识 ...

  5. C++异常处理: try,catch,throw,finally的用法

    写在前面 所谓异常处理,即让一个程序运行时遇到自己无法处理的错误时抛出一个异常,希望调用者可以发现处理问题. 异常处理的基本思想是简化程序的错误代码,为程序键壮性提供一个标准检测机制. 也许我们已经使 ...

  6. C#怎样保证弹出窗体是唯一并居中显示

    Winform窗体中,假如我从Form1窗体要弹出Form2窗体,写法是这样的: Form2 f2 = new Form2(); f2.Show(); 1.如何使窗体打开时居中显示 //初始化默认窗体 ...

  7. 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox

    [源码下载] 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox 作者:webabcd 介绍背水一战 Windows 10 之 控件(文本类) AutoSug ...

  8. LNMP环境搭建完整步骤

    零.resource   http://pan.baidu.com/s/1o83r3S2 一.centos 6.4.VirtualBox 5.0.14 二.nginx 1.9.9 安装 [root@p ...

  9. 从零开始学 Java - log4j 项目中的详细配置

    你还会用笔来写字么 我是不怎么会了,有时候老是拿起笔之后不知道这个字怎么写,这时候就会拿起手机去打出来:有时候还会写出来这个字之后越看越不像,这时候就开始怀疑自己的能力了:有时候写出来了一大堆字之后, ...

  10. 【读书笔记】2016.11.19 北航 《GDG 谷歌开发者大会》整理

    2016.11.19 周六,我们在 北航参加了<GDG 谷歌开发者大会>,在web专场,聆听了谷歌公司的与会专家的技术分享. 中午免费的午餐,下午精美的下午茶,还有精湛的技术,都是我们队谷 ...