作者: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. c语言语系的命名风格和java系命名风格

    c语言系的命名风格:单词之间使用下划线分隔.如上图. java语言是另外一个系,javascript属于java语系(当年就是想借助java的名气所以命名javascript).java语系是驼峰式命 ...

  2. Monkey测试1——Monkey的使用

    Monkey工具使用 一. 什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实 ...

  3. Remodal – 支持 Hash 追踪的响应式模态窗口

    Remodal 是一个扁平化,响应式,轻量而且容易定制的模态窗口插件,支持使用声明状态和 Hash 跟踪.您可以轻松地定义为模态弹窗定义背景景容器(如模糊效果).支持所有现代的浏览器. 您可能感兴趣的 ...

  4. 灵感来自 Google & YouTube 的苗条的进度栏效果

    NProgress.js 是纳米级的进度条插件.拥有逼真的的涓涓细流动画效果来告诉你的用户,某些事情正在发生.它的灵感来自于谷歌,YouTube,应用了,这款苗条的进度条是完美的,适用于 Turbol ...

  5. MySQL支持的数据类型

    1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint(m) 3 ...

  6. 众人口中的JAVASCRIPT

    目前所说的JAVASCRIPT=ECMAscript+DOM+BOM DOM全称:Document Object Model,造作网页内容的标准. BOM全称:Browse Object Model, ...

  7. LigerUI一个前台框架增、删、改asp.net代码的实现

    先上代码:前台代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  8. SQLMAP使用笔记

    -u #注入点-f #指纹判别数据库类型-b #获取数据库版本信息-p #指定可测试的参数(?page=1&id=2 -p “page,id”)-D “” #指定数据库名-T “” #指定表名 ...

  9. JavaScript学习07 内置对象

    JavaScript内置对象 图像对象 导航对象 窗口对象 屏幕对象 事件对象 历史对象 文件对象(重要) 锚点对象 链接对象 框架对象 表单对象(重要) 位置对象 JS Window 窗口对象:ht ...

  10. android编译系统的makefile文件Android.mk写法

    Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件.由于一般情况下Android.mk和需要编译的源文件在同一目录下,宏函数“my-dir”右编译系统提供的,用于返回当前路径 ...