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

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】