写一个树莓派机器人代码
时间: 2023-06-13 10:05:48 浏览: 374
基于树莓派的微信机器人+源代码+文档说明
5星 · 资源好评率100%
以下是一个简单的树莓派机器人代码,使用Python编写,可以控制机器人的移动和灯光。
```python
import RPi.GPIO as GPIO
import time
# 定义引脚
left_pin = 18
right_pin = 16
led_pin = 12
# 设置GPIO模式为BCM
GPIO.setmode(GPIO.BCM)
# 设置引脚为输出模式
GPIO.setup(left_pin, GPIO.OUT)
GPIO.setup(right_pin, GPIO.OUT)
GPIO.setup(led_pin, GPIO.OUT)
# 向左转
def turn_left():
GPIO.output(left_pin, GPIO.HIGH)
GPIO.output(right_pin, GPIO.LOW)
time.sleep(1)
stop()
# 向右转
def turn_right():
GPIO.output(left_pin, GPIO.LOW)
GPIO.output(right_pin, GPIO.HIGH)
time.sleep(1)
stop()
# 前进
def forward():
GPIO.output(left_pin, GPIO.HIGH)
GPIO.output(right_pin, GPIO.HIGH)
# 后退
def backward():
GPIO.output(left_pin, GPIO.LOW)
GPIO.output(right_pin, GPIO.LOW)
# 停止
def stop():
GPIO.output(left_pin, GPIO.LOW)
GPIO.output(right_pin, GPIO.LOW)
# 控制LED灯
def control_led(flag):
if flag:
GPIO.output(led_pin, GPIO.HIGH)
else:
GPIO.output(led_pin, GPIO.LOW)
# 主程序
if __name__ == '__main__':
try:
# 前进
forward()
time.sleep(3)
# 向左转
turn_left()
time.sleep(3)
# 向右转
turn_right()
time.sleep(3)
# 后退
backward()
time.sleep(3)
# 停止
stop()
# 控制LED灯
control_led(True)
time.sleep(3)
control_led(False)
except KeyboardInterrupt:
GPIO.cleanup()
```
注意:在运行代码前,需要将左、右轮电机和LED灯连接到正确的GPIO引脚。
阅读全文