树莓派gpio

树莓派GPIO接口

こ雲淡風輕ζ 提交于 2020-03-13 06:16:42
一、GPIO模式 GPIO分为板上模式和BCM模式 板上模式即为平时百度谷歌搜到的图,按顺序1-40排列(1B是26引脚) BCM模式为CPU分的,在图上一般会单独标记 二、引脚分类 1.电源:3.3V 5V GND GPIO引脚只能接3.3V 2.控制端口:GPIO可控制电平 3.其他:比如SCL、SDA 三、一个比较常见的点亮LED的demo import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) led = 23 GPIO.setup(led, GPIO.OUT) try: while(True): GPIO.output(led, 1) time.sleep(1) GPIO.output(led, 0) time.sleep(1) except Exception as e: print(e) finally: GPIO.cleanup() 四、疑问 在什么情况下,不接保护电阻,树莓会烧? 来源: https://www.cnblogs.com/punkrocker/p/11186299.html

03 树莓派开发注意事项

血红的双手。 提交于 2020-01-08 09:10:59
1 编译GCC文件   gcc -o 要生成的文件名 -lwiringPi -lpthread 源文件名.c 2 假如在window操作系统里面编译了脚本文件 .sh,复制到树莓派里面不能执行,究其原因 \r 与\r\n的区别   sed -i 's/\r$//' 源文件名.sh 3 安装 wiringPi.h    cd /tmp   wget https://project-downloads.drogon.net/wiringpi-latest.deb   sudo dpkg -i wiringpi-latest.deb   检查 gpio -v   gpio readall 4 来源: https://www.cnblogs.com/Record-experience/p/12118609.html

树莓派的GPIO初接触-LED灯

丶灬走出姿态 提交于 2020-01-07 08:48:39
#抬头 import PRI.GPIO as GPIO import time #设置模式GPIO.setmode(GPIO.BOARD) #BOARD编号方式,基于插座引脚编号 #输出模式 GPIO.setup(11,GPIO.OUT) while: GPIO.OUTPUT(11,GPIO.HIGH) time.sleep(1) #1秒 GPIO.OUTPUT(11,GPIO.LOW) time.sleep(1) #1秒    设置模式——GPIO.setmode GPIO.setmode(mode) ,mode参数有两个值,GPIO.BOARD和GPIO.BCM,注意全是大写。 前者是告诉程序按物理位置找GPIO头(或者叫channel),后者按GPIO号。 两种模式各有各的好处,前者方便找,后者方便程序在不同的树莓派版本上跑,具体区别大家自己体会。 设置GPIO头的输入和输出——GPIO.setup GPIO.setup(channel,mode) ,channel就是你要用的GPIO头,mode分为输入GPIO.IN和输出GPIO.OUT。 来源: https://www.cnblogs.com/cripplepx/p/12152047.html

给树莓派添加开关机键

僤鯓⒐⒋嵵緔 提交于 2019-12-19 03:30:14
声明 本文由u013062709原创,禁止二次修改发布。转载及引用内容请注明出处,并标明本站网址。文中程序仅供学习使用,本人不承担任何由使用文中代码产生的法律责任。 给树莓派添加开、关机键 作为一个硬件爱好者、嵌入式系统工程师、技术宅,树莓派肯定是要玩一玩的,但是用的时间长了总会发现它有一些不完美的地方,比如:没有电源键! 常用的关机方法有两种(外接屏幕和键盘的就不说了): 1. 远程登录然后敲命令(这是最合适的关机方法,但是太麻烦,如果没有电脑在身边就没法关机了) 2. 拔电源(简单粗暴,但很容易导致文件损坏) 所以为了愉快的使用树莓派,最好还是给它添加一个像电脑一样的电源键,百度了一大圈发现国内(没错,我就是针对国内,来来回回就那么几篇文章,还反反复复互相抄)只有一种添加电源键的方法,那就是写个python脚本、或者其他脚本、或者编译一个程序,反正原理都是一样的,让这个脚本(或程序)开机启动,程序中一直检测设置为电源键的GPIO,如果被触发则关机。这个方法虽然能解决问题,但真的low爆了!!!而且只能关机,不能开机。 在这里跟大家分享一个非常优雅,能关机也能开机的方法: 其实 /boot/overlays/README 里面已经说的很详细了,为了造福广大人民群众,我就整理一下。 不少人看见英文就头疼,而且这个文件有上千行,很少有人会仔细阅读,这里我就只把电源相关的内容摘录出来

树莓派Scratch

a 夏天 提交于 2019-12-11 04:41:32
树莓派Scratch 陈拓 chentuo@ms.xab.ac.cn 2019/12/05-2019/12/06 1. 概述 Scratch是麻省理工学院的“终身幼儿园团队”开发的图形化编程工具,主要面对青少年开放。官方网站: https://scratch.mit.edu/ Scratch下载是完全免费的。这个开发组织除了保留对“SCRATCH”名称和“软件的图标也是产品标志小猫”LOGO的权利外,公布源码,允许任意修改,发布,传播。已经有不同的改进版本在网上流通,目前最新的官方版本是3.0版。 官方网站的教学影片和介绍在离线编辑器上都是英文的,在官网可以找到部分中文资料。软件是多语言版本,根据操作系统,自动会改成中文界面。在原版中是没有函数调用的。也就是说复杂的功能只用重复编写相同的代码。在自由软件开发组织中有人进一步开发了制作自定义积木(自己编函数)的功能。 截止目前,Scratch 共有3500多万个注册用户,平均每个月新增100万新用户,年龄范围在8-16岁之间。最重要的是,Scratch最初目的并不完全是教授编程技能,而是为了培养创造性思维、逻辑推理和团队协作能力,这是Scratch团队的教育理念的核心,米切尔·雷斯尼克(Mitch Resnick)作为团队的领导者也强调:“在我们开发最新一代的Scratch时,我们特别重视并支持以我们教育方法为核心,通过兴趣引导

树莓派基于scratch2控制GPIO

谁都会走 提交于 2019-12-05 18:12:00
本文通过MetaWeblog自动发布,原文及更新链接: https://extendswind.top/posts/technical/raspberry_scratch2_gpio_control.md 感觉这方面的资料最好优先google英文的,中文博客上竟然连scratch2用的哪套GPIO的编号都找半天… 树莓派的apt仓库里有三个scratch版本,其中scratch为稳定版,scratch2和scratch3还在测试仓库,改成了基于跨平台技术electron的开发。我在树莓派3b上scratch3打开没反应,scratch2虽然是测试版,但使用没发现问题,打开速度上明显比scratch慢。 scratch2相比scratch在GPIO上简化了大量的操作,不用通过广播的形式发送各种GPIO server的消息,将GPIO的操作简化成了两个函数。 1. 安装Scratch2 sudo apt install scratch2 2. 控制相关的GPIO口 更多模块 -> 添加扩展 选择 Pi GPIO 下面会多出两个控制GPIO的函数。 set gpio *id* to *output high* 此函数用于设置gpio口,第一个指定GPIO的id,第二个指定功能,如输出高电平、输入低电平、输入模式。 gpio *id* is high? 此函数用于控制语句中作为条件

树莓派-用GPIO虚拟I2C

久未见 提交于 2019-12-02 19:51:21
前言: 非常不幸,树莓派没用多久,I2C接口无法detect。 抱着试一试的心理,到群里问了问,结果被人喷曰:“现在钱多人傻的人真多,什么都不懂,还玩树莓派”。 我心想,难道树莓派真的很“高大上”? 事情是这样: 前些天树莓派接到6wd机器人扩展板上玩了几天,接着上摄像头,摄像头工作。 但是没多久,可能是供电不足的缘故,树莓派WiFi突然不通,重启几次板子仍然没有解决。 后知后觉的我将树莓派插入电脑USB3.0口,WiFi恢复。 第二天试I2C,却I2C无法detect,犹如晴天霹雳,令人措不及防,修改参数,重装系统... 因为自己不是做硬件的,没设备进行调试,I2C坏掉的原因一直没有查出。 在这里,如果有幸遇上有缘人,能帮忙指导指导,还不吝赐教,万分感激!!! (请勿见怪,不知什么原因,截的图无法上传,直接用了商家的图,如有不妥之处,请@) 废话少说,奉上解决办法: 因为也是刚刚拿到板子,对树莓派的了解知之甚少,摸索了大约两天。 后来找到 Device Trees ,发现里面的dtoverlay非常强大。 曙光出现在 Changing i2c sda1 scl1 pin 这篇文章,文章告诉我树莓派可以通过设置dtoverlay虚拟多个I2C接口。 抱着死马当作活马医的态度,按照文章,我修改dtoverlay,将其设置为i2c-gpio,bus=3,i2c_gpio_delay

树莓派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 :

树莓派4之点亮led

杀马特。学长 韩版系。学妹 提交于 2019-12-01 23:40:08
在配置好树莓派系统后,可以通过显示屏或者电脑远程操作 然后根据树莓派的gpio引脚图了解gpio的分布 然后在终端创建一个python的文件例如:led.py import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(21,GPIO.OUT) while True : GPIO.output(21,GPIO.HIGH) time.sleep(0.05) GPIO.output(21,GPIO.LOW) time.sleep(0.05) 然后直接python led.py 就可以了 这里本应该是闪烁的,限于图片。 来源: https://www.cnblogs.com/miaorn/p/11721580.html

服务器通过树莓派控制继电器

我怕爱的太早我们不能终老 提交于 2019-11-30 19:58:59
服务器返回格式: // 开启,py获取到的是 字符串 ‘1’ 1 // 关闭,py获取到的是 字符串 ‘0’ 0 代码(python): import requests import RPi.GPIO as GPIO import time # 需要sudo才能正常执行 # 设置输出针脚 inPin = 4 # 设置 BCM 模式 GPIO.setmode(GPIO.BCM) # 预先清空 #这里可以不用 GPIO.cleanup() while(1): time.sleep(2) # 获取网页响应 r = requests.get('你的网址') HTMLstatus = r.text print("网页状态" + HTMLstatus) # # 读取阵脚状态 GPIO.setup(inPin, GPIO.IN) # 为了统一类型在这里进行转换为int DEVstatus = str(GPIO.input(inPin)) # if(HTMLstatus == '1'): if DEVstatus == '1': # 点亮 GPIO.setup(inPin,GPIO.OUT) elif(HTMLstatus == '0'): if DEVstatus == '0': # 熄灭 GPIO.output(inPin,GPIO.HIGH) 参考: Python RPi GPIO编程控制