博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
raspberry pi2 智能小车源码及测试视频
阅读量:7072 次
发布时间:2019-06-28

本文共 2360 字,大约阅读时间需要 7 分钟。

 作者: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)
 
 
 
 
   下面是测试视频
 
 
 
trans.gif
 
 
 

 

你可能感兴趣的文章
转入墙内:SAS HBA crossflashing or flashing to IT mode, Dell Perc H200 and H310
查看>>
最小联结词组
查看>>
HashMap,Hashtable,ConcurrentHashMap 和 synchronized Map 的原理和区别
查看>>
Flask 5 模板1
查看>>
ip_conntrack table full dropping packet解决方案
查看>>
微信小程序把玩(二十二)action-sheet组件
查看>>
【转】 android中的文件操作详解以及内部存储和外部存储
查看>>
LINUX系统安装MYSQL命令
查看>>
Android系统篇之—-编写简单的驱动程序并且将其编译到内核源码中【转】
查看>>
(转)程序员技术练级攻略
查看>>
maven 打包时提示 软件包 xxxxxxx 不存在
查看>>
对 Git 分支 master 和 origin/master 的一些认识
查看>>
jquery widgets 弹框
查看>>
Linux系统管理命令之权限管理
查看>>
取汉子拼音首字母的VB.Net方法
查看>>
使用Maven对JAVA程序打包-带主类、带依赖【转】
查看>>
[CSS] 点击事件触发的动画
查看>>
飞鱼星路由器配置端口映射
查看>>
《Linux Device Drivers》第十八章 TTY驱动程序——note
查看>>
virtual的使用方法
查看>>