作者:XIAOBO QQ:463431476

转载请注明作者
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)
 
 
 
 
   下面是测试视频
 
 
 
 
 
 

raspberry pi2 智能小车源码及测试视频的更多相关文章

  1. STM32 IAP程序 源码 和测试代码 有详细的中文注释

    http://bbs.21ic.com/forum.php?mod=viewthread&tid=588265&reltid=624002&pre_pos=2&ext= ...

  2. ffplay源码分析4-音视频同步

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10307089.html ffplay是FFmpeg工程自带的简单播放器,使用FFmpeg ...

  3. junit源码解析--测试驱动运行阶段

    前面的博客里面我们已经整理了junit的初始化阶段,接下来就是junit的测试驱动运行阶段,也就是运行所有的testXXX方法.OK,现在我们开始吧. 前面初始化junit之后,开始执行doRun方法 ...

  4. TCP源码—epoll源码及测试

    一.epoll_create & epoll_create1 SYSCALL_DEFINE1(epoll_create, int, size) sys_epoll_create->sys ...

  5. Robotium实践之路源码创建测试项目

    1.JDK安装及环境配置 2.Eclipse安装 3.ADT插件安装 4.模拟器安装 5.准备源码 6.引进源码置项目中 .文件 .导入 .选择现有项目置工作空间中 .浏览 .选择项目,选择模拟器版本 ...

  6. sm4算法(附源码、测试代码)

    from:http://blog.csdn.net/mao0514/article/details/52930944 SM4是我们自己国家的一个分组密码算法,是国家密码管理局于2012年发布的.网址戳 ...

  7. 项目源码--Android聚合视频类播放器

    下载源码 技术要点:  1.高效支持主流的视音频格式 2.本地视频的播放与管理 3.聚合电视在线直播 4.聚合优酷.搜狐.乐视.爱奇艺等多种在线视频 5.优质播放,包含播放.暂停,声音.亮度调整等功能 ...

  8. Android系统定制和源码开发以及源码编译(附视频)

    Android系统定制配套视频: 为了把Android系统源码定制和编译的课程讲完,从准备到录制完所有的视频,一共花去了近半年的时间,前前后后各种下载源码,编译源码,系统不兼容,版本适配,虚拟机配置困 ...

  9. jwt揭秘(含源码示例和视频)

    JSON Web Tokens,是一种开发的行业标准 RFC 7519 ,用于安全的表示双方之间的声明.目前,jwt广泛应用在系统的用户认证方面,特别是现在前后端分离项目. 1. jwt认证流程 在项 ...

随机推荐

  1. 用php模拟做服务端侦听端口

    参考:http://www.cnblogs.com/thinksasa/archive/2013/02/26/2934206.html http://blog.csdn.net/alongken200 ...

  2. Jmeter常用函数之__CSVRead使用

    __CSVRead函数用于对脚本进行参数话,当脚本中不同变量需要不同参数值时,可以考虑__CSVRead函数. 以登录的用户名.密码为例:实际进行压力测试时,需要模拟使用不同的用户并发访问系统,此时需 ...

  3. 开发apple pay碰到的问题总结

    本来想简单总结一下Apple Pay 开发过程中的几个问题, 结果被下面这篇文章全碰上了, 干脆全文转载, 作者对相关资源整理得比较详细, 比较有参考价值 总的来说, 我们做过 APNs 推送的话, ...

  4. Angularjs 的 ngInfiniteScroll 的使用方法

    Angularjs 的 ngInfiniteScroll 的使用方法 一.介绍 ngInfiniteScroll 是一个 AngularJS 的扩展指令,实现了网页的无限滚动的功能,也就是相当于页面滚 ...

  5. HTML5移动开发学习笔记

    最近做webapp项目过程中,发现坑还是挺多的,以下是网络收集一些开发中的常见问题及知识汇总,以便查阅,慢慢更新:). meta 基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 < ...

  6. 高清VGA编码器|上海视涛科技

    VGA编码器(E200)简介 高清VGA编码器是上海视涛科技出品的高性能VGA编码产品.该VGA编码器是上海视涛科技完全自主研发,并适用于VGA信号的编码采集及网络传输的专用硬件设备.可兼容各厂家的N ...

  7. [Android]Activity启动过程

    Android系统启动加载流程: 参考图 Linux内核加载完毕 启动init进程 init进程fork出zygote进程 zygote进程在ZygoteInit.main()中进行初始化的时候for ...

  8. 给view添加类似系统上拉快捷菜单的手势

    iOS7以后从屏幕最下方上划会滑出快捷菜单,感觉这个效果不错,就想做个类似的效果,这个东西技术含量不高,每次都写一遍的话就太浪费时间了,所以就把它写成了一个分类,用起来会方便一点. demo地址:ht ...

  9. 【CoreData】表之间的关联

    这次是表之间怎么进行关联,要求如下: // 建立学生与班级表之间的联系 既然是表与表之间的关联,那肯定是要先创建表: // 1.创建模型文件 (相当于一个数据库里的表) // New File ——— ...

  10. 自定义Dialog宽度占满屏幕

    一.自定义Dialog继承Dialog public class MyDialog extends Dialog { 二.为Dialog设置样式 在style中建立新样式继承 @android:sty ...