作者: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. GJM : Unity3D结合ZXING制作二维码识别

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  2. 使用 HTML5 Canvas 绘制出惊艳的水滴效果

    HTML5 在不久前正式成为推荐标准,标志着全新的 Web 时代已经来临.在众多 HTML5 特性中,Canvas 元素用于在网页上绘制图形,该元素标签强大之处在于可以直接在 HTML 上进行图形操作 ...

  3. At.js – 用于 Web 应用程序的自动完成库

    At.js 是一个自动完成库,用来实现自动完成提示,表情等,就像你在 Github 或 Twitter 上看到的一样.它支持 HTML5 contentEditable 元素.你可以听任何字符,而不仅 ...

  4. 带给你灵感:30个超棒的 SVG 动画展示【下篇】

    前端开发人员和设计师一般使用 CSS 来创建 HTML 元素动画.然而,由于 HTML 在创建图案,形状,和其他方面的局限性,它们自然的转向了 SVG,它提供了更多更有趣的能力.借助 SVG,我们有更 ...

  5. JS高程2.在HTML中使用Javascript(1)

    1.使用<script>元素向HTML页面中插入Javascript HTML4.01中<script>标签有6个属性: (1)async:可选.表示立即下载脚本,不影响页面中 ...

  6. go语言 类型:数组

    在go语言中数组array是一组特定长度的有序的元素集合. go的数组类型由两部分组成——类型和长度,二者缺一不可.数组本来就是一块存储相同类型元素的连续内存空间,因此决定一个数组的类型,必然需要决定 ...

  7. php扩展php_curl windows 安装问题

    关于安装php扩展php_curl 出现的提示错误,导致php_curl无法安装 apache 错误日志: PHP Warning: PHP Startup: in Unknown on line 0 ...

  8. [deviceone开发]-cnodejs论坛移动端App

    一. 简介 这个App是利用cnodejs.net的API来实现论坛的移动端,使用了deviceone的官方的js库(github.com/do-js). 从而使代码非常简洁,便于阅读和参考,值得推荐 ...

  9. JavaScript学习笔记2之Tab切换

    1.Tab切换简写版1 页面布局如下: <div id="tab"> <h1 id="title"> <span class=&q ...

  10. SharePoint 2013 使用 PowerShell 更新用户

    在SharePoint开发中,经常会遇到网站部署,然而,当我们从开发环境,部署到正式环境以后,尤其是备份还原,所有用户组的用户,还依然是开发环境的,这时,我们就需要用PowerShell更新一下: P ...