• raspberry pi2 智能小车源码及测试视频


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

     
     
     

     

  • 相关阅读:
    NumPy学习笔记 三 股票价格
    NumPy学习笔记 二
    NumPy学习笔记 一
    Raspberry Pi中可用的Go IDE:liteide
    数学公式字母发音
    Apache Avro# 1.8.2 Specification (Avro 1.8.2规范)二
    Apache Avro# 1.8.2 Specification (Avro 1.8.2规范)一
    用Go校验下载文件之SHA256
    垂直水平居中的几种方式,其他方式还有很多,不再列举
    vue-cli3 每次打包都改变css img js文件名,还有自带版本号
  • 原文地址:https://www.cnblogs.com/zhaocundang/p/4820640.html
Copyright © 2020-2023  润新知