查看: 33015|回复: 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是个函数,在一个情况下,其它的三个情况就变成无用的操作了,楼主大大是这样吗?
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    AT固件无法正常使用
    AT固件无法正常使用
    按照文档烧入AT固件后,串口(9600)输出如下: 发送AT指令没有反应。
    Arduino MEGA 与UNO 通过nRF24L模块通讯
    Arduino MEGA 与UNO 通过n
    之前在深水宝很“实惠”的店铺买了一些原件,随手砍了esp8266以及nRF24L*3 因为缺
    数字传感器与模拟传感器的使用
    数字传感器与模拟传感器的
    很多新人问,如何写XX传感器的驱动,这里说说简单只需要读取一个数字信号或者模拟信号
    基于Esp8266的点阵时钟
    基于Esp8266的点阵时钟
    芯片是ESP8266 12F 配合点阵单元板(64*32,单色),实现自动对时,天气预报,农历,
    做个遥控玩具
    做个遥控玩具
    现在我想做个手工,想用这个当5V马达+5V灯光+5V音乐的遥控器 可以实现吗?还需要买Ar
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表