树莓派的GPIO编程】的更多相关文章

作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 树莓派除了提供常见的网口和USB接口 ,还提供了一组GPIO(General Purpose Input/Output)接口.这组GPIO接口大大拓展了树莓派的能力.GPIO不仅能实现通信,还能直接控制电子元器件,从而让用户体验到硬件编程的乐趣. GPIO简介 在树莓派3上,GPIO接口由40个针脚(PIN)组成.每个针脚都可以用导线和外部设备相连.你可以通过焊接的方式来把导线固定在PIN上,也可以用母…
树莓派我们编程一般都直接用高效的python,针对于GPIO编程,python也是有这一方面的库的,这里最有名也是最常用的就是RPI.GPIO了.这个库是专门为树莓派GPIO编程所设计的,利用它你可以愉快的像Arduino那样轻松控制GPIO管脚. 安装: sudo apt-get -y python-pip #安装pip sudo pip install rpi.gpio #安装RPI.GPIO 安装完成后在实际运用的时候,我们也会像arduino那样去设置输入输出,设置高低电平,获取针脚值等…
网上的教程,一般Python用RPi.GPIO来控制树莓派的GPIO,而C/C++一般用wringpi库来操作GPIO,RPi.GPIO过于简单,很多高级功能不支持,比如i2c/SPI库等,也缺乏高精度定时等高级特性.相比之下,wiringpi则功能丰富的多,其实wringpi已经有了python绑定,可以非常简单的在python中使用这个库.鉴于网上基本没有这个库的中文说明,我一边学习,一边以做笔记的形式,写几篇关于这个库的基本使用的文章. 安装:首先安装python-pip: 我用的Arch…
本博文仅作本人操作过程的记录,留作备忘.自强不息 QQ12226981 1.树莓派接口对照,一定要找到对应的引脚,不要接错了.我画上箭头. 2.安装 下载地址,https://git.drogon.net/?p=wiringPi;a=summary 10 days ago Gordon Henderson Bumped Version to 2.31 master 2.31 commit | commitdiff | tree | snapshot 选择snapshot进行下载,我得到的是wir…
7个寄存器 是R1-R16.(当然,里面有很多是分几个模式的,所以总共有37个)类似于单片机的R0-R7. GPXCON,GPXDAT等等是另外的寄存器,应该叫,特殊功能寄存器,类似于单片机的P0,P1,TCON,等等. GPXCON:是X管脚的控制寄存器,控制它们的模式,比如输出模式,输入模式……GPXDAT:是X管脚的数据寄存器,存储它们的数据, GPIO ,通用的输入输出,其引脚可供编程使用,对于简单的外部设备,比如控制一个LED 灯的亮灭,自然 只需要一位 信号就够了. 使用传统的 串行…
串口是计算机上一种很通用设备通信的协议,经常使用PC机上包括的是RS232规格的串口,具有连接线少,通讯简单,得到广泛的使用. Linux对全部设备的訪问是通过设备文件来进行的,串口也是这样,为了訪问串口,仅仅需打开其设备文件就可以操作串口设备.在linux系统以下,每个串口设备都有设备文件与其关联,设备文件位于系统的/dev文件夹以下.如linux下的/ttyS0,/ttyS1分别表示的是串口1和串口2. 树莓派UARTport的位置:见下图的GPIO14(TXD).GPIO 15(RXD)…
DHT11是一款有已校准数字信号输出的温湿度传感器. 精度湿度+-5%RH, 温度+-2℃,量程湿度20-90%RH, 温度0~50℃. 我买的封装好的模块,上边自带了上拉电阻,直接查到树莓派上即可灰.紫.蓝分别代表数据.3.3V.0V,接到树莓派的3,1,10脚,分别对应PIN8,3.3V,0V. DHT11与单片机通讯协议为单线协议(1-wire),其实单线协议蛮厉害的,一个GPIO就能实现数据的读取,但是这个协议没有同步脉冲,所以对时序要求比较高,比如DHT11对高低电平定义如下: 低电平…
GPIO库的核心功能,当然就是操作GPIO了,GPIO就是"通用输入/输出"接口,比如点亮一个LED.继电器等,或者通过iic spi 1-wire等协议,读取.写入数据,这都是GPIO的用处,可以说没有GPIO,树莓派只能当小电脑用,有了GPIO,就升级成一个控制器了.先来说说怎么操作一个数字量(高低电平). 先看代码: import wiringpi2 as gpio from wiringpi2 import GPIO gpio.wiringPiSetup() #初始化 gpio…
       wiringPi适合那些具有C语言基础,在接触树莓派之前已经接触过单片机或者嵌入式开发的人群.wiringPi的API函数和arduino很相似,这也使得它广受欢迎.作者给出了大量的说明和演示样例代码,这些演示样例代码也包含UART设备,I2C设备和SPI设备等,毫无疑问地说wiringPi功能很强大. 首先要做的当然就是wiringPi的安装了.wiringPi使用GIT工具维护个更新代码. 假设在你的平台上还没有安装GIT工具,能够输入下面命令: sudo apt-get in…
RPi.GPIO是通过Python/C API实现的,C代码操作底层寄存器, python通过Python/C API调用这些C接口. 这是关于RPi.GPIO项目的介绍. 其中提到了有python 垃圾回收机制,并不适合于实时要求的应用. https://pypi.org/project/RPi.GPIO/ This package provides a class to control the GPIO on a Raspberry Pi. Note that this module is…
一.初步认识S3C2440A [S3C2440A简介] S3C2440A是三星公司推出的基于ARM920t内核的32/16位RISC微处理器.主要用于手持设备和中高端电子产品中.它内部集成16k数据cashe.16k指令cashe,内存管理单元MMU,4KBSRAM(片内内存), nandflash控制器,LCD控制器,USB控制器,中断控制器,支持60个中断源,4通道PWM定时器,1个看门狗定时器.24个外部中断源,两通道SPI.具有PLL片上时钟发生器.片内集成RTC实时时钟芯片.8通道10…
wiringpi2显然也把i2c驱动带给了Python,手头上正巧有一个DS3231的模块,上边带了一个DS3231 RTC(实时时钟),与一片24C32,两个芯片均为iic总线设备,与树莓派接线如下: 也就是VCC GND SDA SCL四个脚分别接到树莓派的1(3.3v).9(0v).3(SDA.1).5(SCL.1)上,因为树莓派的I2C接口默认是关闭的,需要先编辑一下/boot/config.txt,去掉 device_tree_param=i2c_arm=on上的注释(Archlinu…
学过单片机的同学应该清楚,我们在编写传感器驱动时,需要用到高精度的定时器.延时等功能,wiringpi提供了一组函数来实现这些功能,这些函数分别是: micros() #返回当前的微秒数,这个数在调用wiringPiSetup()后被清零并重新计时 millis() #返回当前的毫秒数,同上,这个数在调用wiringPiSetup()后被清零并重新计时 delayMicroseconds() #高精度微秒延时 delay() #毫秒延时. python相对于C,一个很大的问题就是执行速度慢,所以…
如果你的raspi没有安装python那么先   sudo apt-get update sudo apt-get install python-dev   例如想要控制35管脚的亮灭: 先建一个文本,写入一下程序: import  RPi.GPIO  as  GPIO import time  // GPIO.setmode(GPIO.BORAD) GPIO.setup(35,GPIO.OUT) while True:        GPIO.output(35,GPIO.HIGH)     …
一.接线方式与GPIO调用方法: 电源接入+5v和GND In1-4分别接GPIO1-4 正转时,GPIO1-4分次传入:[1,0,0,0],[sleep],[0,1,0,0],[sleep],[0,0,1,0],[sleep],[0,0,0,1] 逆转时,GPIO1-4分次传入:[0,0,0,1],[sleep],[0,0,1,0],[sleep],[0,1,0,0],[sleep],[1,0,0,0] 停止时,GPIO1-4一次传入:[0,0,0,0]  二.电机图  …
一个完整的使用GPIO捕捉中断的程序: #include<stdlib.h> #include<stdio.h> #include<string.h> #include<unistd.h> #include<fcntl.h> #include<poll.h> #define MSG(args...) printf(args) //函数声明 static int gpio_export(int pin); static int gpio…
概述 通过 sysfs 方式控制 GPIO,先访问 /sys/class/gpio 目录,向 export 文件写入 GPIO 编号,使得该 GPIO 的操作接口从内核空间暴露到用户空间,GPIO 的操作接口包括 direction 和 value 等,direction 控制 GPIO 方向,而 value 可控制 GPIO 输出或获得 GPIO 输入.文件 IO 方式操作 GPIO,使用到了4个函数 open.close.read.write. 首先,看看系统中有没有“/sys/class/…
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import RPi.GPIO as GPIO from flask import Flask, request, jsonify app = Flask(__name__) pwm_dict = {} # set the mode of raspberry pi # when mod = 10 set the mode as GPIO.BOARD # when mod = 11 set the mod…
一.上图 二.上图…
温湿度传感器 参考许老师教程:https://gitee.com/hihopeorg/ 下载源码git clone https://github.com/xusiwei/harmonyos-aht20 设置CONFIG_I2C_SUPPORT=y,文件./vendor/hisi/hi3861/hi3861/build/config/usr_config.mk: 编译烧录,查看串口打印信息,能看到温度(temperature)和湿度(humidity)的实时打印: oled显示屏 下载源码git…
https://www.raspberrypi.org/documentation/usage/gpio/README.md 2016/6/25 GPIO: 树莓派A和B ##介绍GPIO和在树莓派上进行物理编程 树莓派的强大特性就是那一排在板子周围的GPIO(一般目的的输入输出)插针,就在黄色的视频输出插孔的旁边. GPIO pins 这些pin是pi和外界世界的物理接口.最简单,你可以把他们当作可以打开和关闭的开关(输入)或者树莓派可以打开或者关闭(输出).26个插针的17个是GPIO插针,…
作者:陈拓 chentuo@ms.xab.ac.cn 2018.06.09/2018.07.05 0.  概述 本文介绍树莓派 Zero W的GPIO控制,并用LED看效果. 0.1 树莓派GPIO编号方式 功能物理引脚 从左到右,从上到下:左边奇数,右边偶数:1-40 BCM 编号侧重CPU寄存器,根据BCM2835的GPIO寄存器编号. wiringPi 编号侧重实现逻辑,把扩展GPIO端口从0开始编号,这种编号方便编程.如图 WiringPi一栏. 操作GPIO时一定先要清楚使用那一套编号…
0.前言     树莓派现在越来越火,网上树莓派的资料也越来越多.树莓派源自英国,国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷,下面推荐几个. [[开发语言]——python [[开发语言]——C语言 [[开发语言]——C语言    [简单介绍]BCM2835 C Library可以理解为使用C语言实现的相关底层驱动,它给我的感觉更像STM32的库函数,BCM2835 C Library的驱动库包括GPIO.SPI和UART等,可以通过学习BCM2835 C Library熟…
[前言] 一个热爱技术的人一定向往有一个科技感十足的环境吧,那何不亲自实践一下属于技术人的座右铭:“技术改变世界”. 就让我们一步步动手搭建一个属于自己的“智能家居平台”吧(不要对这个名词抬杠啦,技术在手,怎么设计实现因人而异),本文只做抛砖引玉,各路大神如果有更好的想法可以各显神通,当然能在评论区留下更好的想法让大家共同学习是再好不过啦. 在文章最后附有所有源代码,有需要的可以自行下载,感谢Star~ [系列目录] 树莓派GPIO简介(Python版) 温湿度数据采集存储(DHT11,MySq…
上回老周在说准备工作的时候,提到过树莓派用金属盒散热的事情.有朋友会说,加了金属盒子接线不方便,就算用了"T"形板,毕竟是把导线延长了的.其实扩展板就是把原有的引脚引出(类似于延长),有的引出后使用并联电路来"复制"出几套接口.所以你买一块插孔多的面包板,自己也可以并联出许多扩展接口来,何况树莓派好一点的扩展板也比较贵. 如果你不运行桌面,不看岛国片,只是执行命令和运行代码,完全不用散热措施.老周直接用裸板试验过,只是运行程序的话,温度平均在 40 度上下,受室温影…
配置环境 系统:Raspbian11(64位) 设备:树莓派CM4 一.写在前面 主要为了测试我捡漏买的CM4的拓展版 拓展板子没有焊接引脚,但是预留的接口 手动焊接一下 测试成功 ,说明我捡的这块板子的GPIO基本是正常的,而且没有引脚被挡到,赚到了! 使用传感器:激光头传感器模块 KY-008 二.树莓派使用GPIO口的基础知识 1.GPIO 引脚的定义(编号方法) 在树莓派上使用GPIO一般就用下面三种,第一种就是板子上的1.2.3.....40,用起来傻瓜式,只是仅能在树莓派上用,一般用…
树莓派GPIO通过PWM来控制RGB彩色LED灯,可以显示任何我们想要的颜色. RGB模块简介 这个RGB彩色LED里其实有3个灯,分别是红灯.绿灯和蓝灯.控制这三个灯分别发出不同强度的光,混合起来就能发出各种颜色的光了. LED灯上的4根引脚分别是GND,R,G,B. GND需要接地.我们把它连到树莓派的电源地上. R,G,B分别是红绿蓝灯的正极接口.我们把它们连接到树莓派的GPIO口上. RGB彩色LED灯模块.jpg 硬件连接 R接到树莓派GPIO18 G连接树莓派GPIO15 B连接树莓…
树莓派使用GPIO接口来控制LED灯,自制五彩炫光的节日彩灯. 1.硬件准备 a. 树莓派(Raspberry Pi)一个 b. 彩色RGB二极管 c. 杜邦线 d. 5V电源引脚 以上所有零件均可在某宝上 买到,都很便宜. LED灯上的4根引脚分别是VCC,R,G,B. VCC需要接到电源正极.我们把它连到树莓派的5V引脚上. R,G,B分别是红绿蓝灯的负极接口.我们把它们连接到树莓派的GPIO口上. 然后跟前一篇一样,使用PWM来控制3个小灯的明暗程度即可混合出各种不同颜色的光. 2.组装图…
树莓派 Learning 003 - GPIO 001 - 点亮LED 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 树莓派 Learning 003 GPIO 001 点亮LED 编写一个让 LED 闪烁的 Python 脚本程序 讲解 blinkledpy 代码 在 Python 交互式终端中控制 LED 点亮和熄灭 先按照下面这个图 连线:(对于LED,负极的那面内部的铁片很大.) 编写一个让 LED 闪烁的 Python 脚本…
本文由正点原子STM32F407探索者开发板的led和beep实验,总结了gpio编程的套路. 下文中以hardware 来称呼可能的硬件外设,如led或beep等. 新建项目后主要用到三个文件:hardware.c ,hardware.h, main.c hardware.h #ifndef __HARDWARE_H #define __HARDWARE_H #include "sys.h" void HARDWARE_Init(void); #endif hardware.c #i…