查看: 34581|回复: 41

Arduino教程——五向倾斜模块的使用

[复制链接]
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2012-11-17 20:48 | 显示全部楼层 |阅读模式
    五向倾斜模块,内部由一个金属球和4个触点组成,可以检测倾斜方向。相较于陀螺仪,它的成本更低,更简单易用,可以检测4个倾斜方向和水平位置,共五种状态,可以满足很多互动场合的要求.
    tilt.jpg


    使用方法:
    很简单,依次把四个脚连接到arduino的任意四个IO口即可
    t.jpg

    例程:
    使用以下例程,打开串口监视器,就可以看到结果啦{:soso__14380647936255941966_3:}

    kittenblock中小学创客名师推荐的图形化编程软件

    
    //Author:OPEN JUMPER-奈何col
    //2012-11-17
    String Tilt(int T1,int T2,int T3,int T4) {
       pinMode(T3,OUTPUT);
       pinMode(T1,INPUT_PULLUP);
       pinMode(T2,INPUT);
       digitalWrite(T3,LOW);
       int F31=digitalRead(T1);
       if (F31==LOW) return "d";
       /*-------------------------*/  
       pinMode(T1,OUTPUT);
       pinMode(T2,INPUT_PULLUP);
       pinMode(T4,INPUT);
       digitalWrite(T1,LOW);
       int F12=digitalRead(T2);
       if (F12==LOW) return "a";
       /*-------------------------*/
       pinMode(T2,OUTPUT);
       pinMode(T4,INPUT_PULLUP);
       pinMode(T3,INPUT);
       digitalWrite(T2,LOW);
       int F24=digitalRead(T4);
       if (F24==LOW) return "b"; 
       /*-------------------------*/
       pinMode(T4,OUTPUT);
       pinMode(T3,INPUT_PULLUP);
       pinMode(T1,INPUT);
       digitalWrite(T4,LOW);
       int F43=digitalRead(T3);
       if (F43==LOW) return "c"; 
       /*-------------------------*/
       return "0";
     }
     
     void setup() {                
       Serial.begin(9600);
     }
     void loop() {                
       String S=Tilt(2,3,4,5);//模块1\2\3\4脚分别连接到arduino的D2\D3\D4\D5数字IO上
       Serial.println(S);
       delay(100);
     }
    如果以上内容对你有帮助,你可以通过打赏支持作者

    该用户从未签到

    发表于 2012-11-18 19:36 | 显示全部楼层
    这货不错~{:soso_e179:}

    该用户从未签到

    发表于 2012-11-19 00:46 | 显示全部楼层
    同意楼上,不过,灵敏度怎样?
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

     楼主| 发表于 2012-11-19 08:03 | 显示全部楼层
    乡间河太急 发表于 2012-11-19 00:46
    同意楼上,不过,灵敏度怎样?

    这个内部就是四个触点,一个钢珠,倾角达到45度,就可以检测到了
    如果以上内容对你有帮助,你可以通过打赏支持作者
  • TA的每日心情
    无聊
    2017-1-24 10:00
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2012-11-21 17:10 | 显示全部楼层
    DUE。。。。。。OJ已经开始用小小二做教程了。。。。。。高富帅呀。。。。。。。坐等OJ的DUE出来~~~先看看吧~~~DUE不着急入手呢(直接说没有攒够钱呢好么。。。。。。)。。。。这周末先把2560寄回去~~奈何。。。。先告诉我寄到哪呀%>_<%。。。。。。。。。

    该用户从未签到

    发表于 2012-11-21 19:14 | 显示全部楼层
    弱弱的问一句 这个串口监视器怎么打开呢
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

     楼主| 发表于 2012-11-21 23:12 | 显示全部楼层
     _.禪軒 发表于 2012-11-21 19:14
    弱弱的问一句 这个串口监视器怎么打开呢

    IDE自带的,在界面的右上角
    如果以上内容对你有帮助,你可以通过打赏支持作者

    该用户从未签到

    发表于 2012-11-23 21:18 | 显示全部楼层
    不明白为什么T3可以定义为DO,接着又可以被定义为DI??
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

     楼主| 发表于 2012-11-24 01:36 | 显示全部楼层
    hihendry 发表于 2012-11-23 21:18
    不明白为什么T3可以定义为DO,接着又可以被定义为DI??

    3组触点为一组,轮流切换IO状态,来检测哪边导通
    如果以上内容对你有帮助,你可以通过打赏支持作者

    该用户从未签到

    发表于 2012-11-24 10:21 | 显示全部楼层
    本帖最后由 hihendry 于 2012-11-24 10:24 编辑
    奈何col 发表于 2012-11-24 01:36
    3组触点为一组,轮流切换IO状态,来检测哪边导通

    我明白了,Tilt是个函数,在一个情况下,其它的三个情况就变成无用的操作了,楼主大大是这样吗?
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    博哥零基础教你玩转ESP8266(四) 认识一下ESP8266WiFi库
    博哥零基础教你玩转ESP826
    帖子导航: 博哥零基础教你玩转ESP8266(一) 重识ESP8266 博哥零基础教你玩转ESP8266
    博哥零基础教你玩转ESP8266(一) 重识ESP8266
    博哥零基础教你玩转ESP826
    https://blog.csdn.net/wubo_fly 帖子导航: 博哥零基础教你玩转ESP8266(一) 重识
    无线遥控四个灯泡
    无线遥控四个灯泡
    我有一个遥控器,一个接收板,还有四个灯泡,不知道如何连接在一起,然后控制灯亮
    AS608指纹模块在MEGA2560上的发出滋滋滋的声音
    AS608指纹模块在MEGA2560
    各位大佬求助!近日萌新在做一个门禁系统的毕设,老师要求买个指纹模块,我就去淘宝买
    求助~~!完全不懂的小白只想做一个简单的东西,大神请进。
    求助~~!完全不懂的小白只
    事情是这样,我想做一个通过人体红外感应模块控制电机的装置,这个电机只有一个,
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表