天天看点

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

 作者:XIAOBO QQ:463431476

转载请注明作者

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

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) 

# 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(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(17,GPIO.HIGH) 

       GPIO.output(8,GPIO.HIGH) 

# Turn Left 

    if ch == 'a': 

       GPIO.output(12,GPIO.HIGH) 

       GPIO.output(25,GPIO.HIGH)

   下面是测试视频