前言
得益于官方文档,终于简单的了解了树莓派是怎样用代码独立运行,然后自己写了一个py文件,简单的实现了小车的左右转(因为我们小车左右转有些问题,所以正好用来调试),修复了官方文件里的只要运行程序即便是停止程序硬件仍会运行的小问题,总体来说,挺开心
代码
# 这是一个测试文件。仅供娱乐
import os
import RPi.GPIO as GPIO
import time
'''下面是初始化文件'''
#######################################
#############信号引脚定义##############
#######################################
GPIO.setmode(GPIO.BCM)
########红外传感器接口定义#################
IR_R = 18 # 小车右侧巡线红外
IR_L = 27 # 小车左侧巡线红外
########电机驱动接口定义#################
ENA = 13 # //L298使能A
ENB = 20 # //L298使能B
IN1 = 19 # //电机接口1
IN2 = 16 # //电机接口2
IN3 = 21 # //电机接口3
IN4 = 26 # //电机接口4
#########管脚类型设置及初始化##########
GPIO.setwarnings(False)
#########电机初始化为LOW##########
GPIO.setup(ENA, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(ENB, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(IN1, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(IN2, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(IN3, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(IN4, GPIO.OUT, initial=GPIO.LOW)
#########红外初始化为输入,并内部拉高#########
GPIO.setup(IR_R, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(IR_L, GPIO.IN, pull_up_down=GPIO.PUD_UP)
'''下面是工具函数'''
def Motor_TurnLeft(): # 左转函数
print('motor_turnleft')
GPIO.output(ENA, True)
GPIO.output(ENB, True)
GPIO.output(IN1, False)
GPIO.output(IN2, True)
GPIO.output(IN3, True)
GPIO.output(IN4, False)
time.sleep(5)
GPIO.output(IN1, False)
GPIO.output(IN2, False)
GPIO.output(IN3, False)
GPIO.output(IN4, False)
def Motor_TurnRight(): # 右转函数
print('motor_turnright')
GPIO.output(ENA, True)
GPIO.output(ENB, True)
GPIO.output(IN1, True)
GPIO.output(IN2, False)
GPIO.output(IN3, False)
GPIO.output(IN4, False)
time.sleep(5)
GPIO.output(IN1, False)
GPIO.output(IN1, False)
GPIO.output(IN1, False)
GPIO.output(IN1, False)
def text1():
T = input("请输入指令:(左转输入L,右转输入R)程序将运行5秒钟")
if T == "L":
Motor_TurnLeft()
print("我左转完毕")
elif T == "R":
Motor_TurnRight()
print("我右转完毕")
else:
print("输入错误,程序初始化成功!")
text1()
if __name__ == "__main__":
text1()
要点
这程序太简单了,希望以后能写个功能更多的代码。。。
退出登录?