树莓派控制开关,树莓派倾斜传感器

  树莓派控制开关,树莓派倾斜传感器

  文章目录前言1。实验设备。实验原理2.1实验接线2.2物理接线图3。代码示例3.1部分代码直接用`==比较字符串解释去抖动操作3.2 Linux编译运行代码3.3运行效果结论前言昨天完成了树莓Pi发起的博客,本专栏的模块都是完整的!

  欢迎将本专栏推荐给其他有兴趣学习草莓派的朋友!

  从这个博客开始,Geany编译器的简单操作就不描述了,所有操作都由linux命令行解决。

  关注本专栏,和我一起学习树莓派开发板30的经典实验!

  c语言代码,0基础分析!

  你还在等什么?心动不如行动!为什么我不关注本专栏的代码仓库?覆盆子-做法

  1.实验设备:草莓派开发板、40p柔性排线、T型转接板、面包板倾斜传感器模块、双色LED模块、一堆跳线。

  上部:倾斜传感器;下部:双色LED

  2.实验原理在倾斜开关中,有一个金属球,用来检测小角度的倾斜。倾斜开关模块的结构是具有双向传输的球形倾斜开关。只要倾斜的力满足条件,开关就会通电,从而输出低电平信号。

  2.1实验接线草莓派

  t形适配器

  倾斜开关

  GPIO 0

  GPIO 17

  做

  5V

  5V

  VCC

  地线

  地线

  地线

  树莓派

  t形适配器

  双色LED

  GPIO 1

  GPIO 18

  r(中间)

  地线

  地线

  GND(-)

  GPIO 2

  GPIO 27

  一般事务人员

  2.2物理接线图

  连接电缆时,倾斜开关模块的PWR-LED指示灯亮起。

  当检测到倾斜角变化时,Do-LED也将点亮,Do引脚将输出低电平,对应值为0。这个原理将在后续的编程中使用。

  3.代码示例以下是C语言的示例代码。

  //倾斜传感器实验

  #包含wiringPi.h

  #包含stdio.h

  #define makerobo_TiltPin 0 //倾斜传感器引脚定义

  #define makerobo_Rpin 1 //红色LED模块引脚定义

  #define makerobo_Gpin 2 //绿色LED模块引脚定义

  //双色LED控制功能

  void double_colorLED(char* color)

  {

  pinMode(makerobo_Rpin,OUTPUT);//设置为输出模式

  pinMode(makerobo_Gpin,输出);//设置为输出模式

  if(color== makerbored )//点亮红色LED灯

  {

  digitalWrite(makerobo_Rpin,高);

  digitalWrite(makerobo_Gpin,低);

  }

  else if(color== makerobogreen )//打开绿色LED。

  {

  digitalWrite(makerobo_Rpin,低);

  digitalWrite(makerobo_Gpin,高);

  }

  其他

  printf(“双色LED错误”);

  }

  int main(void)

  {

  //当初始连接失败时,将消息打印到屏幕上。

  if(wiringPiSetup()==-1){

  printf(安装wiringPi失败!);

  返回1;

  }

  //倾斜传感器引脚设置为输入模式

  pinMode(makerobo_TiltPin,INPUT);

  double _ colorLED( makeroboGREEN );

  while(1){

  //如果没有检测到倾斜,输出高电平1

  //检测到后输出高电平0。

  if(0==digital read(make robo _ tilt pin))

  {//倾斜传感器倾斜。

  延迟(10);//倾斜传感器消除抖动。

  if(0==digital read(make robo _ tilt pin)){

  double _ colorLED( makeroboRED );//点亮红色LED灯

  printf(倾斜!\ n’);//打印出来有倾斜。

  }

  }

  else if(1==digital read(make robo _ tilt pin))

  {//倾斜传感器没有倾斜。

  延迟(10);

  if(1==digital read(make robo _ tilt pin)){

  而(!digital read(make robo _ tilt pin));

  double _ colorLED( makeroboGREEN );//点亮绿色LED灯

  printf(不倾斜!\ n’);//打印没有歪斜。

  }

  }

  }

  返回0;

  }3.1部分代码解释了去抖动操作。因为倾斜开关和触摸开关都是物理结构,所以去抖动操作需要一定的时间延迟。

  用==(color==makeroboGREEN )直接比较字符串这里用的是==直接比较字符串。以前我觉得这样写不对,因为Linux-gcc报错了(但是可以编译可执行文件,正常运行)

  其实这个在VS下可以正常工作,不会报错。

  个人认为,这种直接传入字符串的操作,实际上是在函数中创建一个参数颜色,接收传入的常量字符串,然后==比较字符串在内存中的地址,而不是直接比较字符串本身。

  这段代码中包含的wiringPi函数在之前的博客中已经解释过了。详见实验06?入口

  有不明白的可以在评论区提出来!

  3.2 Linux编译运行代码。输入下面的语句来编译这段代码并生成可执行文件TEST。

  Gcc-wall07tiltswitch.c-o测试-lwiringpi。/测试运行此文件,并按CTRL+C终止程序。

  3.3操作效果抬起倾斜开关,LED变为绿色。放下后就变成默认红灯了。

  结论这个实验到此结束!感觉这个倾斜开关就是手机里的青春版陀螺仪。

  目前我设想在以后的汽车实验中可以用来判断汽车是上坡还是平坡。如果是上坡,电机的输出会增加。嗯,应该是这样的!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 树莓派pip3换源,树莓派pi3b+
  • 树莓派网络配置文件,树莓派上网设置
  • 基于树莓派人脸识别,基于树莓派的人脸识别技术
  • 树莓派安装系统,树莓派 电视系统
  • 树莓派4b温控风扇安装方法,树莓派4散热风扇安装
  • 树莓派数据采集卡,以树莓派为例的数据采集过程介绍
  • 树莓派4 b,玩转树莓派4B新手入门手册pdf
  • 树莓派安装拼音输入法,树莓派中文输入法安装
  • 树莓派tcp通信,树莓派多线程编程
  • 树莓派4b刷ubuntu,树莓派4b ubuntu18.04
  • 树莓派i2s接口,树莓派增加i2c
  • 树莓派检测不到i2c设备,树莓派温度监控
  • 树莓派4b 软路由,树莓派4b做软路由能发挥多少宽带
  • 树莓派打开wifi的命令,树莓派命令行连接wifi
  • can总线 树莓派,树莓派和单片机串口通信
  • 留言与评论(共有 条评论)
       
    验证码: