树莓派教程(持续更新)百度网盘免费资源在线学习
wuuj
树莓派教程(持续更新) 中谷教育-Python视频教程(完整版)
游戏镜像 微雪5寸显示器config 树莓派详细资料 视频教程 镜像 Voice kit语音工具包镜像 Etcher-Setup-144-x86镜像烧录工具
exeaiyprojects-2018-04-13imgxz 开启SSH-raspbian-stretchzip ubuntu-mate-16042-desktop-armhf-raspberry-piimgxz StickyFingers-Kali-Pi-armhf-180923imgxz recalboxOS-400-beta5zip 2018-11-13-raspbian-stretchzip
树莓派运行Python程序的方法:
一、RaspBerry系统设置
1、首先在开发板没有通电情况下,连接硬件,以及项目中用到传感器。比如当前项目需要将LED灯插在面包板上,然后通过杜邦线将开发板和面包板连接,硬件平台搭建完毕。
2、其次打开树莓派开发板3B,然后用vnc连接上。
3、打开ssh功能。
如下图,Raspberry Pi Configuration
启用SSH连接功能,然后点击OK。
更改后需要重新启动才能生效。
二、使用ssh连接上开发板Raspberry Pi
1、打开事先安装好的File Zilla,输入IP地址、账户、端口号,连接到树莓派的Linux系统。
2、在当前pi目录上创建存放开发项目的文件夹。在项目文件夹上创建具体的项目文件夹存放项目文件。例如在DIYdemo目录上创建LED灯项目。
3、在PC端写好的python程序文件放到LED文件夹中。
三、运行python代码
1、打开VNC软件,点击菜单--programming--python3(IDLE)
2、打开写好的的程序,运行python程序。
python学习网,免费的在线学习python平台,欢迎关注!
上一次学习了用树莓派控制一个led灯。
那么如何用按键来控制led灯呢?
就是说有一个按键,我们按下的时候led灯亮起,再按一次led灯关闭
如此往复呢?
首先我们在13号引脚那里连接一个上拉电阻,然后再连接开关,如下图。
在这种情况下,我们用11号引脚控制led灯。
程序如下。
import RPiGPIO as GPIO
import time
GPIOsetmode(GPIOBOARD)
GPIOsetup(11,GPIOOUT)
GPIOsetup(13,GPIOIN,pull_up_down=GPIOPUD_DOWN)
led=True
while True:
while (GPIOinput(13)==GPIOHIGH):
pass
else:
led= not led
pass
if led:
GPIOoutput(11,GPIOHIGH)
pass
else:
GPIOoutput(11,GPIOLOW)
pass
pass
在这里可以看到。但是程序不是很健壮,原因是我们没有消抖。
当我们按下的一瞬间,可能程序已经重复执行了好多遍。
因此,现在想办法消抖。
import RPiGPIO as GPIO
import time
GPIOsetmode(GPIOBOARD)
GPIOsetup(11,GPIOOUT)
GPIOsetup(13,GPIOIN,pull_up_down=GPIOPUD_DOWN)
led=True
while True:
while(GPIOinput(13)==GPIOHIGH):
pass
else:
timesleep(01)
if(GPIOinput(13)==GPIOLOW):
led=not led
pass
pass
if led:
GPIOoutput(11,GPIOHIGH)
timesleep(01)
pass
else:
GPIOoutput(11,GPIOLOW)
timesleep(01)
pass
pass
这样就非常准了
树莓派运行Python程序的方法:
一、RaspBerry系统设置
1、首先在开发板没有通电情况下,连接硬件,以及项目中用到传感器。比如当前项目需要将LED灯插在面包板上,然后通过杜邦线将开发板和面包板连接,硬件平台搭建完毕。
2、其次打开树莓派开发板3B,然后用vnc连接上。
3、打开ssh功能。
如下图,Raspberry Pi Configuration
启用SSH连接功能。然后点击OK
更改后需要重新启动才能生效
二、使用ssh连接上开发板Raspberry Pi
1、打开事先安装好的File Zilla,输入IP地址、账户、端口号,连接到树莓派的Linux系统
2、在当前pi目录上创建存放开发项目的文件夹。在项目文件夹上创建具体的项目文件夹存放项目文件。例如在DIYdemo目录上创建LED灯项目
3、在PC端写好的python程序文件放到LED文件夹中。
三、运行python代码
1、打开VNC软件,点击菜单--programming--python3(EDLE)
2、打开写好的的程序,运行python程序
更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于树莓派怎么运行python程序的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
在前一小节中介绍了点亮第一个LED灯,这里我们准备进阶尝试下,输出第一段PWM波形。(PWM也就是脉宽调制,一种可调占空比的技术,得到的效果就是:如果用示波器测量引脚会发现有方波输出,而且高电平、低电平的时间是可调的。)
这里爪爪熊准备写成一个golang的库,并开源到github上,后续更新将直接更新到github中,如果你有兴趣可以和我联系。 githubcom/dpawsbear/bear_rpi_go
我在很多的教程中都看到说树莓派的PWM(硬件)只有一个GPIO能够输出,就是 GPIO1 。这可是不小的打击,因为我想使用至少四个 PWM ,还是不死心,想通过硬件手册上找寻蛛丝马迹,看看究竟怎么回事。
手册上找寻东西稍等下讲述,这里先提供一种方法测试 树莓派3B 的 PWM 方法:用指令控制硬件PWM。
这里通过指令的方式掌握了基本的pwm设置技巧,决定去翻一下手册看看到底PWM怎么回事,这里因为没有 BCM2837 的手册,根据之前文章引用官网所说, BCM2835 和 BCM2837 应该是一样的。这里我们直接翻阅 BCM2835 的手册,直接找到 PWM 章节。找到了如下图:
图中可以看到在博通的命名规则中 GPIO 12、13、18、19、40、41、45、52、53 均可以作为PWM输出。但是只有两路PWM0 PWM1。根据我之前所学知识,不出意外应该是PWM0 和 PWM1可以输出不一样的占空比,但是频率应该是一样的。因为没有示波器,暂时不好测试。先找到下面对应图:
根据以上两个图对比可以发现如下规律:
对照上面的表可以看出从 BCM2837 中印出来的能够使用在PWM上的就这几个了。
为了验证个人猜想是否正确,这里先直接使用指令的模式,模拟配置下是否能够正常输出。
通过上面一系列指令模拟发现,(GPIO1、GPIO26)、(GPIO23、GPIO24)是绑定在一起的,调节任意一个,另外一个也会发生变化。也即是PWM0、PWM1虽然输出了两路,可以理解成两路其实都是连在一个输出口上。这里由于没有示波器或者逻辑分析仪这类设备(仅有一个LED灯),所以测试很简陋,下一步是使用示波器这类东西对频率以及信号稳定性进行下测试。
小节:树莓派具有四路硬件输出PWM能力,但是四路中只能输出两个独立(占空比独立)的PWM,同时四路输出的频率均是恒定的。
上面大概了解清楚了树莓派3B的PWM结构,接下来就是探究如何使用Go语言进行设置。
因为拿到了手册,这里我想直接 *** 作寄存器的方式进行设置,也是顺便学习下Go语言处理寄存器的过程。首先需要拿到pwm 系列寄存器的基地址,但是翻了一圈手册,发现只有偏移,没有找到基地址。
经过了一段时间的努力后,决定写一个 树莓派3B golang包开源放在github上,只需要写相关程序进行调用就可以了,以下是相关demo(pwm)(在GPIO12 上输出PWM波,放上LED灯会有呼吸灯的效果,具体多少频率还没有进行测试)
以下是demo(pwm) 源码
以上就是关于学习树莓派上编程的时候,需要哪些教程全部的内容,包括:学习树莓派上编程的时候,需要哪些教程、树莓派如何启动python、树莓派按键控制LED灯等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)