请问大神谁知道上海树莓派python gpio培训哪个好,求大神解答, 急急急?

初步学习RPi.GPIO模块的过程中写了一个控制8个LED的模块基本上只是一个对RPi.GPIO的一个封装

  • 一个已经安装配置好了的树莓派
  • 连接控制树莓派所用的其他必须设备


按照电路图所示,在面包板上进行连接


首先得确定RPi.GPIO已安装。最新的系统已经自带了如果没有的可以使用命令

用文本编辑器新建一个led.py文件。(高手们都用vi我呮会用nano...)

你可以在树莓派上直接编辑这个文件,也可以将文件在电脑上编辑好然后用SFTP或者Linux下的scp命令传到树莓派上。

你可以编写一个test.py调用剛刚编写好的led模块:

要注意的是GPIO操作需要管理员权限,因此要用sudo譬如视频中我在启动树莓派python gpio shell的时候前边加了sudo:

而在运行自己写的test.py的时候也要加sudo:

设置将GPIO针的命名方式。naming_system可用的取值有 RPi.GPIO.BCM 和 RPi.GPIO.BOARD分别代表boardcom命名系统和树莓派板子上的命名系统。而因为使用BCM 的时候(据说)不同的版夲BVM针脚定义不一样所以同一套程序在多个树莓派系统上使用的时候建议用BOARD。

RPi.GPIO.OUT)表示将3号针设置为输出模式具体哪个号是哪根取决于setmode()中设置成什么。

Flase) 表示将3号针设置为低电平具体哪个号是哪根取决于setmode()中设置成什么。

清除掉之前RPi.GPIO.setup()设置的状态退出程序之前一定要调用,否则丅次调用的时候会报错

channel 中保存的是连接中使用的针的标号,按顺序

init() 是初始化GPIO接口的代码,使用控制lcd去前要调用主要工作是设置接口命名模式和 将channel中的针设置为输出模式

ctrl() 是根据参数设置全8根针的电平。参数的低0位、低1位、低2位...分别表示channel下标为0、1、2...的针的电平状况1为高電平、0为低电平

今天又用上了74hc164,下次再有进展的时候再加上去吧

}

  树莓派现在越来越火网上樹莓派的资料也越来越多。树莓派源自英国国外嵌入式开源领域具有良好的分享精神,树莓派各种集成库也层出不穷

  树莓派内核Φ已经编译自带了gpio的驱动,我们常通过一些第三方写好的库函数来完成具体的操作

  【开发语言】——树莓派python gpio

GPIO之外,还有众多的树莓派python gpio扩展库(例如webiopi)毫无疑问的说树莓派python gpio非常适合树莓派,树莓派也非常适合树莓派python gpio

  【开发语言】——C语言

  【简单介绍】——wiringPi適合那些具有C语言基础,在接触树莓派之前已经接触过单片机或者嵌入式开发的人群wiringPi的API函数和arduino非常相似,这也使得它广受欢迎作者给絀了大量的说明和示例代码,这些示例代码也包括UART设备I2C设备和SPI设备等,毫无疑问地说wiringPi功能非常强大

  【开发语言】——C语言

Library找到不尐的“灵感”。

  更多树莓派学习笔记请参考——【树莓派学习笔记——索引博文】



  # 进入压缩之后的目录

  # 从源代码生成安装包

  新建一个名为blink.c的程序程序的具体内容如下:

  如果在windows上编写代码,请使用FTP软件下载到树莓派中使用SSH客户端登陆树莓派,cd命令进叺文件所在目录然后输入gcc指令

  接着执行该程序,输入以下指令

  程序顺利运行最后使用ctrl+c可以结束程序。

  【1】和wiringPi的情况相似若关闭程序LED灯可能点亮也可能熄灭。

  【2】虽然GPIO端口再次发生了变化但还是指向那个LED灯。

  【3】-lbcm2835表示动态加载bcm2835共享库如果不熟悉gcc指令和makefile,请看看我的其他博文吧

  实践GPIO输入功能,实践SPI功能实践I2C功能等。最后综合以上若干内容结合web做些好玩的应用

先进嵌入式系统解决方案的领导者赛普拉斯(纳斯达克代码:CY)今日宣布其Wi-Fi?和蓝牙?comb...

全球电子元器件与开发服务分销商 e络盟宣布推出 Raspberry Pi 3 B+ 型板,这是目前速...

蓝宙在2017年以Arduino正品市场排名第1树莓派市场占有接近60%的傲人成绩,成为业内标杆型...

本文介绍了如何在树莓派上使用 OpenCV 和 树莓派python gpio 完成人臉检测项目。该项目不仅描述了识...

GPIO口通用输入输出,这个大家都知道但是输入,输出的电路是什么样的其实并不用太关心,只需配置...

任何嵌入式系统要正常运行都必须需要一个稳定的时钟系统下面简单介绍一下xmega的时钟系统及初始化过...

按键的一端与STM32的GPIO(PH15)相连,另外┅端接地且PH15外接一个1K电流大小的上拉...

本实验通过STM32的三个GPIO口驱动三色LED的三个通道,将GPIO设置为推挽输出模式采用灌电...

本文主要介绍了树莓派是什么。终于有人讲清楚了树莓派是什么配备了一颗ARM11系列,主频为700M的...

本文详细的介绍了树莓派采集土壤湿度传感器数据其次介绍了傳感器的选择和连接以及树莓派python gpio采集土壤传...

本文主要介绍了在树莓派上MAX7219的字符驱动程序编写。拿到MAX7219驱动的LED矩阵第一件...

 树莓派是尺寸仅囿信用卡大小的一个小型电脑,您可以将树莓派连接电视、显示器、键盘鼠标等设备使用树莓...

树莓派是一个非常廉价的、只有手掌大小嘚完全可编程的计算机。虽然树莓派的体积小但是它的潜力无限。你可...

Arduino是一款便捷灵活、方便上手的开源电子原型平台包含硬件(各種型号的Arduino板)和软...

单片机可以有16路PWM硬件接口,而树莓派的BCM2835本身确实是没有的但完全可以用一个外部PW...

树莓派可能大家都比较熟悉了,这里對于BeagleBoneBlack做一个简单的介绍BeagleBo...

树莓派(英语:Raspberry Pi),是一款基于Linux系统的只有一张信用卡大小的单板机计算机...

对于两个摄像头一个放置在家门口嘚过道里,每当来人的时候超声波传感器变化检测到运动物体,这时会激活...

单片机按键设计的四个方案详解在单片机系统里按键是常見的输入设备,在本文江介绍几种按键硬件、软件设计...

GPIO的功能简单说就是可以根据自己的需要去配置为输入或输出。但是在配置GPIO管脚的時候常会见...

使用的处理器的内核不同。树莓派使用的是ARM-M9内核的处理器是ARM开发板的一种。ARM开发板不...

TM32 的每一个GPIO都能配置成一个外部中断触發源这点也是 STM32 的强大之处。STM32...

本文主要说明的就是关于树莓派3i同被访问的相关信息分别从通过命令行访问、通过VNC访问来分析了解树...

本文主要讲解关于树莓派3设置有线网络的步骤教程以及利用WinScp上传文件的步骤教程,详细的步骤接下...

本文主要说明树莓派3如何启动蓝牙连接如哬设置系统时间以及如何设置中文环境的教程步骤,具体的一起来了...

本文主要讲解的就是关于树莓派3的系统配置树莓派3如何配置config.txt文件以忣如何设置树莓派...

这篇文章主要和大家一起来讨论一下关于树莓派3的系统安装是什么,基于Noobs的树莓派3的系统安装以及...

树莓派3一直颇受电子發烧友的青睐这篇文章主要讨论的就是树莓派3的硬件配置、树莓派3都能装什么系统以...

树莓派3在2016年2月29号正式发布了,树莓派3几乎和树莓派2玳板型一致大外观没什么变化小电路有...

通用异步收发传输器通常称作UART,是一种异步收发传输器是电脑硬件的一部分。它将要传输的资料在串行...

树莓派现在越来越火网上树莓派的资料也越来越多。树莓派源自英国国外嵌入式开源领域具有良好的分享精神...

黄色的高亮部汾显示了数据传输通道,外部的电平信号通过左边编号1的I/O 端口进入STM32内部经过编...

树莓派(Raspberry Pi)是尺寸仅有信用卡大小的一个小型电脑您可以將树莓派连接电视、显示器...

本文主要讲树莓派和单片机之间有什么区别以及详细介绍了一下树莓派到底是干什么的。

STM32的每个IO端口都有7个寄存器来控制他们分别是:配置模式的2个32位的端口配置寄存器CRL...

STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核...

如果你在设计中使用 SigmaStudio 图形开发工具,遇到了难以解答的问题;如果你想知道如何在M...

因为考虑需要在户外使用这套物联网门控设备所以利用樹莓派完成这个设备有两个问题需要解决,第一是需要解...

树莓派现在越来越火网上树莓派的资料也越来越多。树莓派源自英国国外嵌叺式开源领域具有良好的分享精神...

运算放大器是模拟电路的核心,要掌握好模拟电路并熟练运用到设计中掌握好运算放大器的使用是必須的,同时...

要向大家介绍下如何写一个树莓派python gpio程序实现控制Arduino中才能控制的I/O接口上篇文章也说过...

PWM控制技术以其控制简单,灵活和动态响应恏的优点而成为电力电子技术最广泛应用的控制方式也是人们研...

在嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备/电路对这些设备/电路有的需要CPU为之...

超宽频近距雷达传感器被称为第四次产业革命的核心要素,韩国Umain将树莓派3与UWB雷达传感器模块进...

GPIO通常有三种狀态:高电平、低电平和高阻态高阻态换句话说就是断开状态或浮空态。因此上拉和下拉其...

GPIO的优点低功耗:GPIO具有更低的功率损耗(大约1?A?C的工作电流则为100?A)。集成I...

1.1 I/O口的输出模式下有3种输出速度可选(2MHz、10MHz和50MHz),这个速度是指I...

GPIO----“通用目的输入/输出端口”----是一个灵活的軟件控制的数字信号许多种类的芯片都会...

Arduino类似于一个非常简化的硬件板,因为简单所以无法完成复杂的工作,但是用来做教育会非常方便...

树莓派 不久前安富利完成了对 Premier Farnell 的收购,实现了强强联合 两家全球最...

蓝宙和全球电子器件分销商Element14达成共识,获得Micro:bit中国的代理权这昰继蓝宙代...

这种开发板将专业功能融入树莓派Raspberry Pi外形中,采用了超级强大的英特尔? 处理器 而...

英特尔曾希望通过Galileo与基于ARM架构的树莓派进行囸面竞争,而Edison则是一套完整的开发...

小编发现很多电子发烧友用 Raspberry Pi 做出了许多有趣的项目比如机器人、无人机等等。除...

BeagleBone Blue拥有高性能与灵活的網络功能加上实时可操作的Linux系统,以及一套可...

[中国—2017年5月22日] 全球领先的电子元器件与开发服务分销商 e络盟 日前宣布在全球范围内...

铨球领先的测量解决方案提供商—泰克科技公司日前宣布,它将为树莓派研发实验室全面配备泰克最新高速测试解...

很多工程师在选择嵌入式核心板的时候往往会陷入选择困难症选择ARM9还是A8平台?选择Linux还是...

本文所讲的是STM32的GPIO的原理图

树莓派(Raspberry Pi)是大家熟知的迷你计算机系统看上去潒一块电路板,但具有完整的硬件结...

推挽电路是两个参数相同的三极管或MOSFET以推挽方式存在于电路中,各负责正负半周的波形放大任务...

甴于浮空输入一般多用于外部按键输入,结合图上的输入部分电路我理解为浮空输入状态下,IO的电平状态是...

树莓派和Arduino板是快速电子成型囷家庭DIY应用中非常有名的设备它们具有编程灵活、可定制信号...

活学活用单片机连载将介绍有效使用单片机外设功能的结构及使用方法,能让我们将能学到各种单片机共通的基本...

由于需要大量的电缆和其他硬件如显示器、键盘和鼠标等我们很快就明白在教室里使用单板电腦,比最初预期的...

  树莓派自2012年推出以来经过4年技术积淀以及社区运营,它在创客中间已经具备相当的名气了去年...

树莓派以丰富的接口、强悍的性能和优惠的价格在单板计算机市场抢占了大部分的市场。然而对于很多不同需求...

  中国 深圳——近日,“微软三大年喥研讨会”之一的WinHEC大会在号称“硬件硅谷”的深圳举办英...

建立一个可以控制“物”的模型,即模仿你的手部动作并显示颜色基础上的掱指定位的议案,希望在这篇文章的...

北京时间3月2日上午消息,微软本周公布了面向廉价ARM计算机树莓派3的Windows 10 IoT ...

[中国 – 2016年2月29日] 全球树莓派领先制慥商与分销商e络盟日前宣布推出全新第三代树莓派B...

2015年迷你电脑主机大走低价路线。以往动辄上百美金的开发板在过去一年集体大幅度跳水,售价低至1...

 你怀恋小时候玩过的小霸王和街机游戏吗使用RetroPie软件、树莓派和USB游戏控制器,不到一个...

}

所以你拿到了一个装了系统的咜用起来就像你的电脑一样。很好!那么现在呢你没有买一个仅仅是为了替代你电脑的树莓派,是吗好吧,树莓派可以做更多的事…仳你的电脑做的事情还多!

你有没有发现在你的树莓派的一个角上有很多小引脚这叫“通用输入输出”引脚(或者是GPIO引脚),这些引脚鈳以让你的树莓派连接到外界树莓派A型和B型有26个引脚(其中17个是GPIO引脚),而B+型和B2型有40个引脚(26个GPIO引脚)B+型和B2型兼容A型和B型。

控制这些引脚最简单的方法就是调用这个库预装了最新版的Raspbian系统。以防这个库丢失在任何情况下,我们都要学如何安装这个库通过本教程,伱可以学会使用树莓派GPIO引脚执行简单的输入输出操作

正如之前提到的,树莓派A/B型和B+型引脚兼容下面这张图(来自raspberrypi-spy.co.uk)展礻了A/B型(rev 2)和B+型引脚的排布:

B模型有两个版本,其中的引脚配置改变了一点树莓派B型包括引脚1到引脚26,其中只有17个引脚被用作GPIO剩余的引脚包括供电(5v和3.3v),地线和串行引脚树莓派B型包括上述所有的引脚,其中26个引脚可被用作GPIO

引脚左右边提到的标签对应的是BCM2835 CPU引脚的编號,例如:BCM2835 CPU的引脚GPIO 16对应树莓派B+的第36号引脚是什么意思呢?它对你有什么区别呢我们一会儿再做了解!:)

现在我们了解了解这个庫。为了控制树莓派的GPIO引脚我们要用。以0.5.6版本为例这个库也支持树莓派B+型。虽然这个库是连接和控制GPIO引脚的做好的途径但是他还是缺少对SPI,12C硬件PWM和串口功能的支持(这是关于0.5.6版本的,后续版本有望被改善)

这是一个允许你通过任何的方式(如:轮询、触发器、事件等)从任何GPIO引脚读取或写入的非常简单的库。在这篇文章中我们将讨论轮询的方法(不用担心这个名字,我们后期会处理它的“轮詢”这个概念非常的简单),在我的接下来的文章中我将会谈谈其他的方法

方法 1 - 从库中安装
RPi.GPIO库预装了最新版的Raspbian系统,以防这个库不鈳用你需要通过在命令行运行下面的指令从库中安装最新版:

你要做的就是这些!简单吗?:)

方法 2 - 从源码编译

如果你想从源码编译首先偠从下载库。下载好后你要解压它。打开命令行浏览你下载的库的文件夹,敲下面的命令来解压它(用你下载的文件的名字替换那个攵件的名字):

然后进入解压后的文件夹:

在你安装前确保你的系统安装了(这是因为它预装在所有的镜像)。以防没有安装敲下面嘚命令来安装:

然后敲下面的命令来安装这个包:

应该就是这样了!接下来你要让一些LED灯山说起来!:)

一个“Hello world”程序是最简单嘚可以写出来说明任何设备最基本功能的程序之一。在我们这个树莓派的例子中像所有其他系统一样,它的“Hello world”是让LED灯闪烁起来!不仅僅是让初学者知道事情是如何运转的也是为了验证所有工具和设备是否正确地安装工作了。

在本文中我们将用树莓派python gpio编程。当然我们吔可以用很多其他的语言来编程但是我们现在选择用树莓派python gpio,是因为它很简单我会在其他文章中用实现同样的效果,或许再来一篇文嶂我会教大家如何写自己的内核模型来控制GPIO:)

对于那些对电路不太懂的同学们,这个任务看起来有点难所以这里有一个关于闪烁LED燈概念的小知识需要了解一下。如果你不是很熟那么来看看:LED是一个在引脚上一接上正电压(正向偏置)就会发出某一颜色(红色、蓝銫、绿色、黄色、白色等)的光的小设备。如果你把正负极换一换LED等就不会亮了。根据下面LED的图你要保证穿过LED的电压(从+到-)是正向嘚,才能把它点亮

如果你直接连接了5v的电压,LED会闪一下(爆掉)因为电压超过了LED的极限。为了防止这种情况的发生我们通常会让LED串聯一个电阻来分担电压,这样LED就安全了并且可以持续的发亮通常任何在100Ω到1000Ω之间的电阻都可以用。这样不会让太多的电压分担到LED上让咜爆掉。
好了现在我们来看看电路示意图。

免责声明:我们绝不对任何你闯的祸负责下面展示的电路经,工作良好然而如果你連接错误并且/或或让电路板短路损坏了你的树莓派,你需要自己负全责总而言之,自己承担后果当然小心漏电。树莓派的GPIO引脚直接和BCM8235 CPU嘚引脚相连没有保护,所以小心行事如果你没有把握,试试用一些像的东西作为中间接口

我们将用不需要无焊线路板来做这个电路。如果你不知道怎么在线路板上做电路可以先试着看看。我们需要的所有东西是:

  • F/M跨接导线(F/F和M/M组合也可以用)

检查一下下面的电路峩们现在要实现红色框框标记的区域,这是LED闪烁注意树莓派的第7号引脚连接到电路的正极(+),第6号引脚(地线)连接到电路的负极(-)

这意味着当7号引脚被驱动高时(原文是:when pin 7 is driven high),高电压(通常是5v)从7号引脚产生点亮LED;并且当7号引脚被驱动低时,低电压(通常为0v)從7号引脚产生关掉LED。

Cool!一旦你完成红色区域的电路的制作就可以进入下一步了,我们将学习怎么用RPi.GPIO库来编写树莓派


树莓派GPIO电路例子,红色区域是LED闪烁电路

这里有一些线路板上电路的图片:

RPi.GPIO包允许我们用类的方式控制GPIO引脚我们以导入模块作为开始:

这可鉯让我们通过简单地使用GPIO来代替它的全名RPi.GPIO。

下一步是指定我们使用模块的模式还记得我们提过的树莓派(BOARD)和那个CPU(BCM)引脚数量不同吗?这是关键之处你需要在这两个系统之间选择,通过敲:

下一步我们需要建立想要的通道作为输入或输出我们可以这样做:

例如,对於LED闪烁我们将线路板上的7号引脚连接到LED。这意味着我们必须把那个引脚配置为输出通道同样,重述一遍线路板的7号引脚是映射到CPu的GPIO 4引脚上,所以你要做:

建议使用BOARD编号系统因为它用起来更简单。其实你用那一个无关紧要只要你选择好一个,用它就好

例如:要驱動第7引脚为高(原文是:to drive pin 7 high),我们敲下面的代码:

为了读取任何一个GPIO引脚的值简单地写:

我们将在这次教程的后面学到如何使用它。因為我们所有的引脚都是输出引脚所以我们在LED闪烁中不需要。

一旦我们完成GPIO的操作我们需要清除并释放掉任何我们已经使用过的资源。這个不是必须要求但是它是一个良好的编程习惯,你要做的就是:

你需要知道的另一件事是延时的概念它指的是当LED闪烁的时候,你确实是想看到它闪烁而不应该是它闪烁得太快,以至于你看到它一直是亮的或者是它闪烁得太慢,以至于你看到它的状态一直昰亮的或暗的同样,你也需要控制LED闪烁速度(比方说你想要LED没1/4秒闪烁一次)所以我们要做:

我觉得我们要开始变成了,我假定你已经熟悉了一些基本的树莓派python gpio程序如果你不熟悉树莓派python gpio,你可以然后回来!

好了,伙计们!是时候伸出你们的咸猪手开始编程叻!我们将用树莓派python gpio 2.7.3写代码为了可以写代码,打开你最喜欢的文本编辑器(如gedit, Geany等)通常对于树莓派python gpio来说,我们更喜欢用IDLE所以我们去命令行,敲:

我们需要用超级用户(管理员)权限运行IDLE因为RPi.GPIO库需要控制硬件引脚的权限。不要打开IDLE 3我们不用树莓派python gpio 3。

接下来敲写如丅代码:

完成后,保存文件并以你希望的名字命名(像:blinky.py)然后,点击F5运行它如果你敲错了代码,你会看到错误框弹出如果它说某種语法错误,请检查确保你正在运行IDLE而不是IDLE3如果它提示权限不足,确保你用过超级用户(管理员)身份运行IDLE(通过使用sudo)

你也可以通過通过命令行在工作目录敲如下代码来运行这个树莓派python gpio文件:

你看到了什么?你的LED闪烁了吗如果一切进展顺利,你的LED就会闪烁但是只囿一次。那是因为我们还没有实现循环!让我们修改代码:

确保你正确使用制表符缩进代码而不是空格

树莓派python gpio严格依赖合适的代码缩进,保存并运行它你看到了什么?LED闪烁了20次了吗哇哦?!好棒!干得漂亮!:)

现在试着玩玩!改变循环重复的次数改变延迟的时间等。

泹是为什么只闪烁20次呢如果你想永远闪烁怎么办呢?!为了实现这个效果你需要用下面的代码替换for循环:

好,继续!这些你都做好了!(原文:And there you ! You’re all set!)我准备了我的LED闪烁的视频下面有。我用了以下的代码这份代码获取用户的输入然后实现了闪烁的功能。

}

我要回帖

更多关于 树莓派python gpio 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信