python3编程小车_手把手教你制作智能小车

把后轮抬高离开地面,创建一个Python脚本,名为car.py:

# -*- coding:utf-8 -*-

import RPi.GPIO as GPIO

import time

class Car():

def __init__(self, left_in1, left_in2, left_ena, right_in3, right_in4, right_enb, low_electrical_level, hight_electrical_level):

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BOARD)

self.left_in1 = left_in1

self.left_in2 = left_in2

self.left_ena = left_ena

if self.left_ena > 0:

GPIO.setup(self.left_ena, GPIO.OUT)

GPIO.setup(self.left_in1, GPIO.OUT)

GPIO.setup(self.left_in2, GPIO.OUT)

self.right_in3 = right_in3

self.right_in4 = right_in4

self.right_enb = right_enb

GPIO.setup(self.right_in3, GPIO.OUT)

GPIO.setup(self.right_in4, GPIO.OUT)

if self.right_enb > 0:

GPIO.setup(self.right_enb, GPIO.OUT)

self.hight_electrical_level = hight_electrical_level

self.low_electrical_level = low_electrical_level

'''

右边轮子前进

'''

def rFoward(self):

GPIO.output(self.right_in3, self.hight_electrical_level)

GPIO.output(self.right_in4, self.low_electrical_level)

if self.right_enb > 0:

GPIO.output(self.right_enb, self.hight_electrical_level)

'''

左边轮子前进

'''

def lFoward(self):

GPIO.output(self.left_in1, self.hight_electrical_level)

GPIO.output(self.left_in2, self.low_electrical_level)

if self.left_ena > 0:

GPIO.output(self.left_ena, self.hight_electrical_level)

'''

右边轮子后退

'''

def rBackward(self):

GPIO.output(self.right_in3, self.low_electrical_level)

GPIO.output(self.right_in4, self.hight_electrical_level)

if self.right_enb > 0:

GPIO.output(self.right_enb, self.hight_electrical_level)

'''

左边边轮子后退

'''

def lBackward(self):

GPIO.output(self.left_in1, self.low_electrical_level)

GPIO.output(self.left_in2, self.hight_electrical_level)

if self.left_ena > 0:

GPIO.output(self.left_ena, self.hight_electrical_level)

'''

左边轮子停止

'''

def lStop(self):

if self.left_ena > 0:

GPIO.output(self.left_ena, self.low_electrical_level)

else:

GPIO.output(self.left_in2, self.low_electrical_level)

GPIO.output(self.left_in1, self.low_electrical_level)

'''

右边轮子停止

'''

def rStop(self):

if self.right_enb > 0:

GPIO.output(self.right_enb, self.low_electrical_level)

else:

GPIO.output(self.right_in3, self.low_electrical_level)

GPIO.output(self.right_in4, self.low_electrical_level)

'''

小车前进

'''

def moveForward(self):

self.lFoward()

self.rFoward()

'''小车后退

'''

def moveBackground(self):

self.lBackward()

self.rBackward()

'''小车右转

'''

def spinRight(self):

self.rFoward()

self.lBackward()

'''小车左转

'''

def spinLeft(self):

self.rBackward()

self.lFoward()

'''

小车停止--左边及右边轮子都停止

'''

def stop(self):

self.lStop()

self.rStop()

def cleanup(self):

GPIO.cleanup()

def instanceCar():

return Car(11, 13, 15, 38, 40, 36, 0, 1)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值