WiringPi

树莓派4的GPIO接口介绍

不打扰是莪最后的温柔 提交于 2019-12-06 04:39:51
树莓派4的GPIO接口保留了以前型号的标准功能,也引入了一些额外的功能。下面让我们来看看这个标准的40针接口都有哪些变化,具体都是哪些功能? 通用输入/输出接口 GPIO 通用输入/输出就是GPIO的意思,GPIO很形象地描述了树莓派上这些接口的工作方式,它们类似于Arduino 数字或模拟端口,因为我们可以将它们配置为读或写。通过这些接口,可以让树莓派和不同的模块组件进行交互,比如按钮、电位器或者蜂鸣器等。 在实际使用中,我们应该熟悉树莓派接口的两种命名方案:1.WiringPi 编号、BCM编号、物理编号(Physical – Number)。WiringPi 编号是功能接线的引脚号(如TXD、PWM0等等);BCM编号是 Broadcom 针脚号,也即是通常称的GPIO;物理编号是PCB板上针脚的物理位置对应的编号(1~40)。 电源和接地 电源和接地引脚用于外部电路供电。所有版本标准40针 GPIO版本的树莓派都有两个5V引脚和两个3.3V引脚,而且均在同一个物理位置。除了5V和3.3V引脚外,它们还有8个接地引脚。电源和接地脚可以让你的树莓派为一些外部元件供电,如LED。需要注意的是,通过这些引脚为任何外部模块或元器件供电之前,应该保持谨慎,过大的工作电流或峰值电压均有可能损坏树莓派。 其它接口功能 在实际使用中,许多项目还需要一些不同的功能

How to get back to main GUI thread when handling an interrupt?

久未见 提交于 2019-12-04 04:31:23
问题 I have a Raspberry Pi 3 running a GUI program written in Qt. I'm using the wiringPi library to set an interrupt that fires when a certain GPIO pin goes low. When this happens, I want a dialog window to appear telling the user that the Pi will shutdown in 10 seconds, during which they have the option to cancel the shutdown. The problem is that the function that receives the interrupt is launched in a new thread, and Qt does not allow timers, etc. to be used outside of the main thread. I would

树莓派使用DHT11温湿度传感器

余生颓废 提交于 2019-12-03 03:07:05
一、相关介绍 DHT11介绍: DHT11是一款比较便宜的温湿度传感器模块。读取数据只需要占用一个IO口。能够同时测量温度和相对湿度。 DHT11的数据手册可以看这里:http://wenku.baidu.com/view/1955cc70a417866fb84a8e7b.html 需要注意的是,文档中写明一句话:小数部分用于扩展,现只能读出0。所以小数部分目前永远是0! 树莓派IO口介绍 我使用的是B版树莓派,接口如下图。其中的NAME一列是树莓派实际的IO口功能。PIN#一列是后面要介绍的wiringpi和pi4j库文件编程使用的接口编号。 wiringpi介绍 wiringpi是通过C语言控制树莓派GPIO口的头文件。在C语言中包含这个头文件之后可以很简单的调用已经封装好的方法来控制树莓派GPIO口。程序需要先安装。 wiringpi官网:http://wiringpi.com/ wiringpi下载和安装:http://wiringpi.com/download-and-install/ wiringpi文档:http://wiringpi.com/reference/ 编译和运行: 写好C文件后,通过如下命令进行编译: gcc -Wall -o executefilename cfilename.c -lwiringPi gcc是编译器,-Wall是在编译时显示警告信息,

树莓派4硬件---GPIO篇

守給你的承諾、 提交于 2019-12-02 03:10:43
  树莓派拿到手已经两个多月了,其实从最开始的期待安装好ROS,到前几天完成了ROS的源码编译安装,对linux的调教也时花了些时间的。现在终于想起来,树莓派上还有GPIO,还没有用过了。说干就干,开始。以下操作都是在树莓派已经安装好了官方的系统,也已经升级到了最新版了。总共有40个GPIO,实际管脚图为:      在计算机中,通常用高、低两个电压来表示二进制的1和0。树莓派也是如此。GPIO用相同的方式来表示数据。每个GPIO的PIN都能处于输入或输出状态。当处于输出状态时,系统可以把1或0传给该PIN。如果是1,那么对应的物理PIN向外输出3.3V的高电压,否则输出0V的低电压。相应的,处于输入状态的PIN可以探测物理PIN上的电压。如果是高电压,那么该PIN将向系统返回1,否则返回0。就是利用上述简单机制,GPIO实现了和物理电路的互动。通过管脚图,不难看出使用方法和其他的开发板是一样的,先设置管脚的方向,再设置管脚的数值。将其配置为输入或输出,通过读写相应的IO的寄存器值,获取IO状态,通过值取得IO的数值,完成IO的状态的改变。 创建一个python代码: 1 import RPi.GPIO as GPIO 2 import time 3 GPIO.setmode(GPIO.BCM) 4 GPIO.setup(21,GPIO.OUT) 5 6 while True :

Qt Creator code as a user but run and debug as root

白昼怎懂夜的黑 提交于 2019-12-02 00:07:16
问题 Would it be possible to execute QtCreator as a nornal user but run and debug an application as root? That would be useful i.e. while developing applications based on WiringPi, which facilitates the access to GPIO but requires root to effectively enable access to the hardware. To be more clear in my intentions, I would like that when I hit Ctrl+R in QtCretor, then it runs the app as root. And the same idea for debugging, when I hit F5 it starts debugging mode as root. All that while QtCreator

Qt Creator code as a user but run and debug as root

大城市里の小女人 提交于 2019-12-01 23:28:34
Would it be possible to execute QtCreator as a nornal user but run and debug an application as root? That would be useful i.e. while developing applications based on WiringPi , which facilitates the access to GPIO but requires root to effectively enable access to the hardware. To be more clear in my intentions, I would like that when I hit Ctrl+R in QtCretor, then it runs the app as root. And the same idea for debugging, when I hit F5 it starts debugging mode as root. All that while QtCreator is running by a normal user. WiringPi does not need root access. You need to set properties to the

How to get back to main GUI thread when handling an interrupt?

≡放荡痞女 提交于 2019-12-01 21:34:46
I have a Raspberry Pi 3 running a GUI program written in Qt. I'm using the wiringPi library to set an interrupt that fires when a certain GPIO pin goes low. When this happens, I want a dialog window to appear telling the user that the Pi will shutdown in 10 seconds, during which they have the option to cancel the shutdown. The problem is that the function that receives the interrupt is launched in a new thread, and Qt does not allow timers, etc. to be used outside of the main thread. I would like to know how I can communicate back to the main thread from the interrupt function. The function

树莓派4的GPIO接口介绍

坚强是说给别人听的谎言 提交于 2019-12-01 18:41:18
树莓派4的GPIO接口保留了以前型号的标准功能,也引入了一些额外的功能。下面让我们来看看这个标准的40针接口都有哪些变化,具体都是哪些功能? 通用输入/输出接口 GPIO 通用输入/输出就是GPIO的意思,GPIO很形象地描述了树莓派上这些接口的工作方式,它们类似于Arduino 数字或模拟端口,因为我们可以将它们配置为读或写。通过这些接口,可以让树莓派和不同的模块组件进行交互,比如按钮、电位器或者蜂鸣器等。 在实际使用中,我们应该熟悉树莓派接口的两种命名方案:1.WiringPi 编号、BCM编号、物理编号(Physical – Number)。WiringPi 编号是功能接线的引脚号(如TXD、PWM0等等);BCM编号是 Broadcom 针脚号,也即是通常称的GPIO;物理编号是PCB板上针脚的物理位置对应的编号(1~40)。 电源和接地 电源和接地引脚用于外部电路供电。所有版本标准40针 GPIO版本的树莓派都有两个5V引脚和两个3.3V引脚,而且均在同一个物理位置。除了5V和3.3V引脚外,它们还有8个接地引脚。电源和接地脚可以让你的树莓派为一些外部元件供电,如LED。需要注意的是,通过这些引脚为任何外部模块或元器件供电之前,应该保持谨慎,过大的工作电流或峰值电压均有可能损坏树莓派。 其它接口功能 在实际使用中,许多项目还需要一些不同的功能

树莓派4的GPIO接口介绍

爷,独闯天下 提交于 2019-12-01 18:40:13
树莓派4的GPIO接口保留了以前型号的标准功能,也引入了一些额外的功能。下面让我们来看看这个标准的40针接口都有哪些变化,具体都是哪些功能? 通用输入/输出接口 GPIO 通用输入/输出就是GPIO的意思,GPIO很形象地描述了树莓派上这些接口的工作方式,它们类似于Arduino 数字或模拟端口,因为我们可以将它们配置为读或写。通过这些接口,可以让树莓派和不同的模块组件进行交互,比如按钮、电位器或者蜂鸣器等。 在实际使用中,我们应该熟悉树莓派接口的两种命名方案:1.WiringPi 编号、BCM编号、物理编号(Physical – Number)。WiringPi 编号是功能接线的引脚号(如TXD、PWM0等等);BCM编号是 Broadcom 针脚号,也即是通常称的GPIO;物理编号是PCB板上针脚的物理位置对应的编号(1~40)。 电源和接地 电源和接地引脚用于外部电路供电。所有版本标准40针 GPIO版本的树莓派都有两个5V引脚和两个3.3V引脚,而且均在同一个物理位置。除了5V和3.3V引脚外,它们还有8个接地引脚。电源和接地脚可以让你的树莓派为一些外部元件供电,如LED。需要注意的是,通过这些引脚为任何外部模块或元器件供电之前,应该保持谨慎,过大的工作电流或峰值电压均有可能损坏树莓派。 其它接口功能 在实际使用中,许多项目还需要一些不同的功能

[翻译完成] 开源LCD触摸屏驱动

帅比萌擦擦* 提交于 2019-11-29 18:10:12
让树莓派支持 uPD161704A和XPT2046芯片的 240×320触摸屏驱动库 这个C库可以让你的树莓派支持µPD161704A和XPT2046芯片. µPD161704A是一个240 x 320像素LCD屏幕控制器 , XPT2046是搭配的触摸屏控制器. 这两个控制器常用于低价的触摸屏, 非常适合用于树莓派. 支持哪些LCD屏? 开发并测试了: WVshare: 2.2英寸-320×240LCD触摸屏 (大约14欧元) Aliexpress: 2.2英寸-320×240LCD触摸屏 (16欧元) 下载及编译 可在 这里 直接下载 在github仓库 linupi/RaspPiTouchLCD 这个库依赖 wiringPi (需求最低版本: Jan 2013). 可用下列命令来载入wiringPi, lib_PD161704A和lib_XPT2046库. 如果你还没安装过git: sudo apt-get install git-core 同样的, 如果你还没安装过wiringPi: git clone git://git.drogon.net/wiringPi cd wiringPi ./build cd .. 从git拉取源码并编译: git clone git://github.com/linupi/RaspPiTouchLCD.git cd