raspberry pi2 智能小车源码及测试视频
2015-09-18 23:15
633 查看
作者:XIAOBO QQ:463431476
转载请注明作者
![](http://cnc.qzs.qq.com/qzone/em/e106.gif)
Python 源代码
import RPi.GPIO as GPIO
#human-computer-interaction
import curses
import time
from curses import wrapper
GPIO.setmode(GPIO.BCM)
#left_moto_go
GPIO.setup(27, GPIO.OUT) #IN1
GPIO.setup(18, GPIO.OUT) #IN3
#left_moto_back
GPIO.setup(12,GPIO.OUT)#IN2
GPIO.setup(25,GPIO.OUT)#IN4
#right_moto_go
GPIO.setup(22, GPIO.OUT) #IN5
GPIO.setup(23, GPIO.OUT) #IN7
#right_moto_back
GPIO.setup(17,GPIO.OUT)#IN6
GPIO.setup(8,GPIO.OUT)#IN8
stdscr = curses.initscr()
stdscr.clear()
while True:
ch = stdscr.getkey()
#EXIT
if ch == 'e':
curses.endwin()
break
# Forward
if ch == 'w':
GPIO.output(27,GPIO.HIGH)
GPIO.output(18,GPIO.HIGH)
GPIO.output(12,GPIO.LOW)
GPIO.output(25,GPIO.LOW)
GPIO.output(22,GPIO.HIGH)
GPIO.output(23,GPIO.HIGH)
GPIO.output(17,GPIO.LOW)
GPIO.output(8,GPIO.LOW)
time.sleep(0.3)
GPIO.output(27,GPIO.LOW)
GPIO.output(18,GPIO.LOW)
GPIO.output(22,GPIO.LOW)
GPIO.output(23,GPIO.LOW)
GPIO.output(12,GPIO.LOW)
GPIO.output(25,GPIO.LOW)
GPIO.output(17,GPIO.LOW)
GPIO.output(8,GPIO.LOW)
# Backward
if ch == 's':
GPIO.output(27,GPIO.LOW)
GPIO.output(18,GPIO.LOW)
GPIO.output(12,GPIO.HIGH)
GPIO.output(25,GPIO.HIGH)
GPIO.output(17,GPIO.HIGH)
GPIO.output(8,GPIO.HIGH)
GPIO.output(22,GPIO.LOW)
GPIO.output(23,GPIO.LOW)
time.sleep(0.3)
GPIO.output(27,GPIO.LOW)
GPIO.output(18,GPIO.LOW)
GPIO.output(22,GPIO.LOW)
GPIO.output(23,GPIO.LOW)
GPIO.output(12,GPIO.LOW)
GPIO.output(25,GPIO.LOW)
GPIO.output(17,GPIO.LOW)
GPIO.output(8,GPIO.LOW)
# Turn Right
if ch == 'd':
GPIO.output(27,GPIO.HIGH)
GPIO.output(18,GPIO.HIGH)
GPIO.output(12,GPIO.LOW)
GPIO.output(25,GPIO.LOW)
GPIO.output(17,GPIO.HIGH)
GPIO.output(8,GPIO.HIGH)
GPIO.output(22,GPIO.LOW)
GPIO.output(23,GPIO.LOW)
time.sleep(0.3)
GPIO.output(27,GPIO.LOW)
GPIO.output(18,GPIO.LOW)
GPIO.output(22,GPIO.LOW)
GPIO.output(23,GPIO.LOW)
GPIO.output(12,GPIO.LOW)
GPIO.output(25,GPIO.LOW)
GPIO.output(17,GPIO.LOW)
GPIO.output(8,GPIO.LOW)
# Turn Left
if ch == 'a':
GPIO.output(22,GPIO.HIGH)
GPIO.output(23,GPIO.HIGH)
GPIO.output(17,GPIO.LOW)
GPIO.output(8,GPIO.LOW)
GPIO.output(12,GPIO.HIGH)
GPIO.output(25,GPIO.HIGH)
GPIO.output(27,GPIO.LOW)
GPIO.output(18,GPIO.LOW)
time.sleep(0.3)
GPIO.output(27,GPIO.LOW)
GPIO.output(18,GPIO.LOW)
GPIO.output(22,GPIO.LOW)
GPIO.output(23,GPIO.LOW)
GPIO.output(12,GPIO.LOW)
GPIO.output(25,GPIO.LOW)
GPIO.output(17,GPIO.LOW)
GPIO.output(8,GPIO.LOW)
下面是测试视频
转载请注明作者
![](http://cnc.qzs.qq.com/qzone/em/e106.gif)
Python 源代码
import RPi.GPIO as GPIO
#human-computer-interaction
import curses
import time
from curses import wrapper
GPIO.setmode(GPIO.BCM)
#left_moto_go
GPIO.setup(27, GPIO.OUT) #IN1
GPIO.setup(18, GPIO.OUT) #IN3
#left_moto_back
GPIO.setup(12,GPIO.OUT)#IN2
GPIO.setup(25,GPIO.OUT)#IN4
#right_moto_go
GPIO.setup(22, GPIO.OUT) #IN5
GPIO.setup(23, GPIO.OUT) #IN7
#right_moto_back
GPIO.setup(17,GPIO.OUT)#IN6
GPIO.setup(8,GPIO.OUT)#IN8
stdscr = curses.initscr()
stdscr.clear()
while True:
ch = stdscr.getkey()
#EXIT
if ch == 'e':
curses.endwin()
break
# Forward
if ch == 'w':
GPIO.output(27,GPIO.HIGH)
GPIO.output(18,GPIO.HIGH)
GPIO.output(12,GPIO.LOW)
GPIO.output(25,GPIO.LOW)
GPIO.output(22,GPIO.HIGH)
GPIO.output(23,GPIO.HIGH)
GPIO.output(17,GPIO.LOW)
GPIO.output(8,GPIO.LOW)
time.sleep(0.3)
GPIO.output(27,GPIO.LOW)
GPIO.output(18,GPIO.LOW)
GPIO.output(22,GPIO.LOW)
GPIO.output(23,GPIO.LOW)
GPIO.output(12,GPIO.LOW)
GPIO.output(25,GPIO.LOW)
GPIO.output(17,GPIO.LOW)
GPIO.output(8,GPIO.LOW)
# Backward
if ch == 's':
GPIO.output(27,GPIO.LOW)
GPIO.output(18,GPIO.LOW)
GPIO.output(12,GPIO.HIGH)
GPIO.output(25,GPIO.HIGH)
GPIO.output(17,GPIO.HIGH)
GPIO.output(8,GPIO.HIGH)
GPIO.output(22,GPIO.LOW)
GPIO.output(23,GPIO.LOW)
time.sleep(0.3)
GPIO.output(27,GPIO.LOW)
GPIO.output(18,GPIO.LOW)
GPIO.output(22,GPIO.LOW)
GPIO.output(23,GPIO.LOW)
GPIO.output(12,GPIO.LOW)
GPIO.output(25,GPIO.LOW)
GPIO.output(17,GPIO.LOW)
GPIO.output(8,GPIO.LOW)
# Turn Right
if ch == 'd':
GPIO.output(27,GPIO.HIGH)
GPIO.output(18,GPIO.HIGH)
GPIO.output(12,GPIO.LOW)
GPIO.output(25,GPIO.LOW)
GPIO.output(17,GPIO.HIGH)
GPIO.output(8,GPIO.HIGH)
GPIO.output(22,GPIO.LOW)
GPIO.output(23,GPIO.LOW)
time.sleep(0.3)
GPIO.output(27,GPIO.LOW)
GPIO.output(18,GPIO.LOW)
GPIO.output(22,GPIO.LOW)
GPIO.output(23,GPIO.LOW)
GPIO.output(12,GPIO.LOW)
GPIO.output(25,GPIO.LOW)
GPIO.output(17,GPIO.LOW)
GPIO.output(8,GPIO.LOW)
# Turn Left
if ch == 'a':
GPIO.output(22,GPIO.HIGH)
GPIO.output(23,GPIO.HIGH)
GPIO.output(17,GPIO.LOW)
GPIO.output(8,GPIO.LOW)
GPIO.output(12,GPIO.HIGH)
GPIO.output(25,GPIO.HIGH)
GPIO.output(27,GPIO.LOW)
GPIO.output(18,GPIO.LOW)
time.sleep(0.3)
GPIO.output(27,GPIO.LOW)
GPIO.output(18,GPIO.LOW)
GPIO.output(22,GPIO.LOW)
GPIO.output(23,GPIO.LOW)
GPIO.output(12,GPIO.LOW)
GPIO.output(25,GPIO.LOW)
GPIO.output(17,GPIO.LOW)
GPIO.output(8,GPIO.LOW)
下面是测试视频
![](https://common.cnblogs.com/editor/tiny_mce/themes/advanced/img/trans.gif)
相关文章推荐
- raspberry pi2 智能小车源码及测试视频
- 利用metasploit攻击有ms8067漏洞的PC机过程
- 编译raspberry pi2内核
- C/S ASP.NET页面传值汇总
- ASP.NET加JS方式
- ASP.NET的checkboxlist,RadioButtonList,FileUpload,image控件的综合使用
- ASP调用WebService转化成JSON数据,附json.min.asp
- asp.net 连接字符串的多种写法
- ASP.NET中实现JSON和对象及集合之间互转,附JsonHelper辅助操作类
- ASP.NET实现带有分页信息的列表集合IPagedList
- ASP中一个“对象关闭时,不允许操作。”的诡异问题……
- ASP.NET MVC5网站开发我的咨询列表及添加咨询(十二)
- IIS7.5显示ASP的详细错误信息”500 – 内部服务器错误解决”
- asp.net mvc 多文件上传
- ASP.NET MVC5网站开发咨询管理的架构(十一)
- ASP.NET MVC5网站开发修改及删除文章(十)
- ASP.NET新建解决方案和网站
- ASP.net Web API允许跨域访问解决办法
- ASP.NET动态网站制作(2)--css(1)
- asp.net之ajax