本实验室利用C语言来检测gpio接口的状态,然后控制led灯显示。灯为输出管脚,触碰传感器为输入管脚,即gpio接口可以定义为输入模式还是输出模式,先是输入模式(检测gpio接口),然后输出控制高电位led灯显示。

0、接口介绍

GPIO(General Purpose I/OPorts)为通用输入/输出端口,就是引脚可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平。

树莓派有26个GPIO接口,其中有一部分是复用接口。

1、引脚3、5为IC总线复用接口

2、引脚7为(GCLK)全局时钟引脚复用接口

3、引脚19、21、23为SPI总线复用接口

4、引脚8、10为串口复用接口,TX发送,RX接收

5、引脚12、32、33、35为PWM复用接口

IC总线,一种串行通讯总线,使用多主从架构。

SDA:数据线

SCL:时钟线

SPI总线,串行外设接口(Serial Peripheral Interface),是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。

MISO:数据输入

MOSI:数据输出

SCLK:时钟信号

SS:使能信号

UART总线,通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。

RX是接收

TX是发送

一、接线图

可以使用led模块(5V供电),也可以直接使用两阵脚的led灯(3.3V供电)。lled灯为wPi24号管脚,触碰传感器为wPi29号管脚。

二、touchsensor程序代码:

#include

#include

#include

//灯为wPi24号管脚,触碰传感器为wPi29号管脚

#define led 24

#define touchsensor 29

int main(void)

{

//灯为输出管脚,触碰传感器为输入管脚

wiringPiSetup();

pinMode(led,OUTPUT);   //定义gpio为输出模式

pinMode(touchsensor,INPUT);   //定义gpio为输入模式

//当点击触碰传感器时灯亮,否则不亮

while(1){

if(digitalRead(touchsensor)==HIGH)  //触碰后

{

digitalWrite(led,HIGH);

printf("1\n");

delay(1000);

}

else{

digitalWrite(led,LOW);

//printf("0\n");

}

}

}

三、编译并运行程序

gcc touchsensor.c -o touchsensor -lwiringPi  #编译C语言

./touchsensor  #运行程序

运行程序后,终端界面在按下触碰传感器后会显示数字1,同时led灯亮。为了保证程序一直执行且不输出,可以使用: nohup ./touchsensor >/dev/null 2>&1

四、实际效果图

c语言传感器串口通信,树莓派上使用C语言检测触碰传感器相关推荐

  1. 树莓派php minicom,用DHT11实践树莓派与Arduino串口通信 | 树莓派实验室

    Arduino具有丰富的外部接口,与树莓派的IO口最大的不同在于Arduino具有模拟输入接口,可以测量IO口上的模拟值.Arduino与Raspberry通过串口(Serial)通信的方案一般有两种 ...

  2. php是最好的语言 梗,php是世界上最好的语言,这个梗怎么来的

    出处 (推荐学习:PHP视频教程) "php是世界上最好的语言"这句话,最早出现在2001年7月的PHP文档中. 而在这之后不久,我们就可以看到更激进的言论了,Because PH ...

  3. python连接传感器_关于树莓派Pi2通过UART连接攀藤G5传感器的python

    1.准备工作:树莓派Pi2板子,攀藤G5传感器 关于树莓派40pin口网上很多,我们只了解与攀藤G5连接的问题 (1)攀藤G5pin1(VCC5v)要注意是5V,有很多板子接的是3V,而树莓派的pin ...

  4. 为什么说python是世界上最好的语言-Python才是世界上最好的语言

    [文末领取限免课程] Python是人工智能的未来. 前不久中国经济学会(CEA)发布了顶级编程语言交互排行榜:Python超越Java高居首位. 而且随着大数据和人工智能的发展,Python受到了越 ...

  5. 感谢C语言吧吧友奉上的C语言小程序练习---初学者练手

    1)输入1个整数,输出它的绝对值. #include<stdio.h> void main() { int a; scanf("%d",&a); if(a> ...

  6. 4.0 树莓派做下位机播放视频、控制电机舵机、超声波检测、paj7620手势传感器控制,树莓派串口通信等程序分析

    文章目录 一.前言 二.Python实现封装打包自己写的代码 参考链接 我的参考 _init_.py setup.py 三. 树莓派的硬件解码播放器--Omxplayer 四.树莓派控制舵机,驱动L2 ...

  7. 树莓派 gpio / 串口通信

    使用树莓派 3B+/4B 测试 gpio,配置硬件串口,测试串口通信. 文章目录 1.GPIO扩展口定义.DB9接口定义 2.串口设置 2.1 开启GPIO串口功能,并使用硬件串口 2.2 禁用串口的 ...

  8. 单片机红外通信c语言,基于C语言的计算机与多单片机红外无线串口通信的实现.doc...

    基于C语言的计算机与多单片机红外无线串口通信的实现 基于C语言的计算机与多单片机红外无线 串口通信的实现 黄文亮 信息学院 电子信息工程专业 指导教师 刘传菊 摘要:计算机与一台或多台单片机的通信系统 ...

  9. python树莓派串口通信实例_Python实现树莓派USB串口通讯及云端对接

    → USB串口通讯 树莓派上自带一个串口,用于连接蓝牙或是串口命令行,串口资源很少,对于嵌入式的应用来说串口设备很多,需要的串口数量也很多,因为通过USB外接串口是一个不错的选择. 1. 我手中的US ...

最新文章

  1. 如何设置可见性Android软键盘
  2. Python图像处理库:PIL中Image,ImageDraw等基本模块介绍
  3. 把存储过程结果集SELECT INTO到临时表
  4. MySQL5.5编译方式安装实战
  5. 物料主数据(MM03)跳转函数
  6. 在Window上使用Jenkins自动发布Java工件
  7. 我就是不敢的openeim002
  8. 蓝桥杯 ALGO-112 算法训练 暗恋
  9. [转载] Pandas:DataFrame对象的基础操作
  10. [项目管理] 如何评估工作量
  11. 心电信号越界怎么回事_心电信号基础
  12. OSChina 十一乱弹 —— 前女友 is Null
  13. 无线传输 android下载,无线文件传输 WiFi File Transfer
  14. linux系统安装geany文本编辑器
  15. 《让子弹飞》系列——不输的汤师爷
  16. Flink(Pometheus监控)
  17. 遭遇“windows已经阻止此软件因为无法验证发行者
  18. Android 使用SeekBar时动态显示进度且随SeekBar一起移动
  19. IPU Saved Model Tool -- User Guide
  20. Linux环境下用Java获取CPU的使用率

热门文章

  1. 25条最简单却最有用的代码,看了能少走几年弯路!
  2. 链接脚本(一)基本概念和格式
  3. 亚马逊与甲骨文互撕,透过迷雾看透数据库的江湖恩怨和大势
  4. 量化交易入门书籍推荐
  5. 这个治脱发的思路,望采纳
  6. Hive学习之路(二):Hive表操作详讲
  7. 太原理工大学计算机学院王华,王华(首都师范大学信息工程学院教授)_百度百科...
  8. 将16进制string转成16进制stream
  9. SSL/TLS 双向认证(一) -- SSL/TLS工作原理
  10. Win32k(1) 图形线程的初始化