树莓派实现移动拍照


Posted in Python onJune 22, 2019

驱动树莓派gpio的中间层库函数有wiringPi,BCM2835,以及PRi.GPIO,这里我选择使用Python语言开发的PRi.GPIO。

1、安装RPi.GPIO

(1)先安装python-dev,输入以下指令。

sudo apt-get install python-dev

(2)安装RPi.GPIO

wget https://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.5.11.tar.gz
#解压:
tar -zxvf RPi.GPIO-0.5.11.tar.gz
#进入解压之后的目录 :
cd RPi.GPIO-0.5.3a
#启动安装 :
sudo python setup.py install

2、编写驱动电机的程序

(1)树莓派与XY-160D驱动板连接方法

# 树莓派供电:
# 5V电源正极接到树莓派4号5V电源引脚,负极接到树莓派39号GND引脚
# 树莓派绿色ATC灯闪烁则SD卡正在运行,红色PWR灯常亮则供电正常
# 更多指示灯状态请参照:树莓派LED指示灯状态的解释

#
# 驱动板电源端供电:
# 14.8V电源接驱动板电源端正极,电源负极接驱动板电源端负极
#
# 驱动板信号端供电:
# 树莓派1号引脚3.3V接到驱动板信号端+5V引脚,14号引脚GND接到驱动板信号端GND引脚
# 驱动板供电正常则DS1指示灯亮起

(2)代码

使用一段简单的电机驱动代码进行测试,新建motor_drive.py文件,添加如下代码并保存:

#!/usr/bin/python2
#coding=utf-8
import RPi.GPIO as GPIO
import time
 
# 初始化设置引脚输出
IN1 = 12     #11号引脚对应GPIO0,12号引脚对应GPIO1
IN2 = 11     #11号与12号引脚分别接到驱动板IN2,IN1引脚,控制其中一侧电机
IN3 = 13     #13号引脚对应GPIO2,15号引脚对应GPIO3
IN4 = 15     #13号与15号引脚分别接到驱动板IN3,IN4引脚,控制另一侧电机
def init():
  GPIO.setmode(GPIO.BOARD) #设置GPIO编码为物理引脚BOARD编码
  GPIO.setup(IN1, GPIO.OUT)
  GPIO.setup(IN2, GPIO.OUT)
  GPIO.setup(IN3, GPIO.OUT)
  GPIO.setup(IN4, GPIO.OUT)
 
# 所有引脚置低电平,用于复位、停止运行的功能
def reset():
  GPIO.output(IN1, GPIO.LOW)
  GPIO.output(IN2, GPIO.LOW)
  GPIO.output(IN3, GPIO.LOW)
  GPIO.output(IN4, GPIO.LOW)
  
def forward(): 
  GPIO.output(IN1, GPIO.HIGH)
  GPIO.output(IN2, GPIO.LOW)
  GPIO.output(IN3, GPIO.HIGH)
  GPIO.output(IN4, GPIO.LOW)
def back():
  GPIO.output(IN1, GPIO.LOW)
  GPIO.output(IN2, GPIO.HIGH)
  GPIO.output(IN3, GPIO.LOW)
  GPIO.output(IN4, GPIO.HIGH)
 
def stop():
  reset()
if __name__ == "__main__":
  init()
  reset()
  try:
   while True:
    forward()
    time.sleep(5)
    stop()
    time.sleep(1)    
    back()
    time.sleep(1)
    stop()
    time.sleep(1)
  except KeyboardInterrupt:
   print("except")
   stop()
  GPIO.cleanup()

执行程序,按Ctrl + c结束程序

sudo python motor_drive.py

注:

(1)#!/usr/bin/env python,定义python解析脚本的绝对路径。
(2)# -*- coding: utf-8 -*- ,python文件为utf-8格式,否则无法写入中文注释。
(3)GPIO.setmode(GPIO.BOARD),采用board编号方式。
(4)python程序使用try except语言,当按下Ctrl+C结束程序是会触发异常,程序执行gpio.cleanup()语句清楚GPIO管脚状态。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现CET查分的方法
Mar 10 Python
Python的Flask框架中集成CKeditor富文本编辑器的教程
Jun 13 Python
Python编程实现删除VC临时文件及Debug目录的方法
Mar 22 Python
Python简单计算文件MD5值的方法示例
Apr 11 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
Python http接口自动化测试框架实现方法示例
Dec 06 Python
Python标准库使用OrderedDict类的实例讲解
Feb 14 Python
python代码xml转txt实例
Mar 10 Python
python中安装django模块的方法
Mar 12 Python
Django Serializer HiddenField隐藏字段实例
Mar 31 Python
基于Django集成CAS实现流程详解
Nov 28 Python
使用python对excel表格处理的一些小功能
Jan 25 Python
树莓派+摄像头实现对移动物体的检测
Jun 22 #Python
Python数据结构与算法(几种排序)小结
Jun 22 #Python
python+opencv实现摄像头调用的方法
Jun 22 #Python
python算法与数据结构之冒泡排序实例详解
Jun 22 #Python
分析运行中的 Python 进程详细解析
Jun 22 #Python
机器学习实战之knn算法pandas
Jun 22 #Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
Jun 21 #Python
You might like
php minixml详解
2008/07/19 PHP
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
浅谈php冒泡排序
2014/12/30 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
2019/04/23 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
设定php简写功能的方法
2019/11/28 PHP
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
ExtJS扩展 垂直tabLayout实现代码
2009/06/21 Javascript
纯CSS打造的导航菜单(附jquery版)
2010/08/07 Javascript
javascript写的日历类(基于pj)
2010/12/28 Javascript
js实现具有高亮显示效果的多级菜单代码
2015/09/01 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
2017/05/10 Javascript
基于vue1和vue2获取dom元素的方法
2018/03/17 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
2018/08/17 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
2018/08/25 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
JS实现给数组对象排序的方法分析
2019/06/24 Javascript
vue中使用v-model完成组件间的通信
2019/08/22 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
Django的信号机制详解
2017/05/05 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
python实现多线程端口扫描
2019/08/31 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
德国综合购物网站:OTTO
2018/11/13 全球购物
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
前厅收银主管岗位职责
2014/02/04 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
全国爱牙日活动总结
2015/02/05 职场文书
教师节领导致辞
2015/07/29 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
2016年第二十五次全国助残日活动总结
2016/04/01 职场文书
Go gRPC进阶教程gRPC转换HTTP
2022/06/16 Golang