作者: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. ANDROID 应用退出

    在android中finish()和system(0)都只能退出单个activity.杀进程等的等方式都不行~~~解决问题: 在针对 多activity中退出整个程序,例如从A->B->C ...

  2. java 编译时的初始化顺序

    有的时候,java的初始化会对我的工作照成很大影响,所以简单介绍一下, 首先介绍简单的变量的初始化:在类的内部,变量定义的先后顺序决定了初始化的顺序,即使变量定义散布于方法定义之间,它也会先于构造器和 ...

  3. mybatis公用代码抽取到单独的mapper.xml文件

    同任何的代码库一样,在mapper中,通常也会有一些公共的sql代码段会被很多业务mapper.xml引用到,比如最常用的可能是分页和数据权限过滤了,尤其是在oracle中的分页语法.为了减少骨架性代 ...

  4. [转]PHP5 session 详解

    来源:http://blog.163.com/lgh_2002/blog/static/4401752620105246517509/ http协议是WEB服务器与客户 端(浏览器)相互通信的协议,它 ...

  5. Android应用开发基础之十一:新特性

    Fragment 用途:在一个Activity里切换界面,切换界面时只切换Fragment里面的内容 生命周期方法跟Activity一致,可以理解把其为就是一个Activity 定义布局文件作为Fra ...

  6. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 解决办法

    09:00:30.307 [http-8080-6] ERROR org.hibernate.transaction.JDBCTransaction -JDBC begin failed com.my ...

  7. svg-高斯模糊+swiper伦播

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. 根据网址把图片下载到服务器C#代码

    根据网址把图片下载到服务器C#代码 ASPX页面代码: <%@ Page Language="C#" AutoEventWireup="true" Cod ...

  9. NavigationBar隐藏后,返回时表现不完美

    是这样的,app首页头部可能要自定义,所以选择把NavigationBar隐藏,所以在viewWillAppear时这样写: self.navigationController?.setNavigat ...

  10. css3选择器(上)

    1.给导航加分割线,左右 .nav li::before,.nav li::after{ content:""; position:absolute; top:14px; heig ...