42992浏览
查看: 42992|回复: 5

[项目] 【智控万物】树莓派四驱车

[复制链接]
本帖最后由 云天 于 2021-8-11 21:46 编辑

【智控万物】树莓派四驱车图18
带屏幕的四驱车

【智控万物】树莓派四驱车图15
可触摸控制的四驱车

【智控万物】树莓派四驱车图14

9节锂电池供电,动力强劲。
(这个四驱车用了9节锂电池,6节用于给四个轮子供电,3节用于给树莓派供电。)

【制作车身】

【智控万物】树莓派四驱车图2

驱动电机

【智控万物】树莓派四驱车图1
固定电机

【智控万物】树莓派四驱车图3

【智控万物】树莓派四驱车图5
安装电机驱动

【智控万物】树莓派四驱车图4
安装电池

【智控万物】树莓派四驱车图6


【智控万物】树莓派四驱车图8
增加双层结构
【智控万物】树莓派四驱车图7

【智控万物】树莓派四驱车图9

【智控万物】树莓派四驱车图10
增加降压模块给树莓派供电

【智控万物】树莓派四驱车图11

【智控万物】树莓派四驱车图12

【智控万物】树莓派四驱车图13

【特色硬件】

【智控万物】树莓派四驱车图17

树莓派扩展板

【智控万物】树莓派四驱车图16

电机驱动

【程序代码】
  1. import RPi.GPIO as GPIO
  2. import time
  3. import tkinter as tk
  4. from tkinter import *
  5. from PIL import Image, ImageTk
  6. GPIO.setmode(GPIO.BCM)
  7. GPIO.setwarnings(False)
  8. GPIO.setup(3,GPIO.OUT,initial = GPIO.LOW)#M1
  9. GPIO.setup(4,GPIO.OUT,initial = GPIO.LOW)#E1
  10. GPIO.setup(5,GPIO.OUT,initial = GPIO.LOW)#M2
  11. GPIO.setup(6,GPIO.OUT,initial = GPIO.LOW)#E2
  12. GPIO.setup(7,GPIO.OUT,initial = GPIO.LOW)#M3
  13. GPIO.setup(8,GPIO.OUT,initial = GPIO.LOW)#E3
  14. GPIO.setup(9,GPIO.OUT,initial = GPIO.LOW)#M4
  15. GPIO.setup(10,GPIO.OUT,initial = GPIO.LOW)#E4
  16. p=[0,1,2,3,4,5,6,7,8,9,10,11]
  17. v=30
  18. def forward():
  19.    global p,v
  20.    if v<=100:
  21.     for i in range(3,11,2):
  22.      GPIO.output(i, GPIO.LOW)   
  23.      p[i].start(v)
  24. def left():
  25.    global p,v
  26.    if v<=100:
  27.     ml=[5,7]
  28.     mr=[3,9]
  29.     for i in ml:
  30.      GPIO.output(i, GPIO.LOW)
  31.     for i in mr:
  32.      GPIO.output(i, GPIO.HIGH)
  33.     for i in range(3,11,2):
  34.      p[i].start(v)
  35. def right():
  36.    global p,v
  37.    if v<=100:
  38.     ml=[5,7]
  39.     mr=[3,9]
  40.     for i in ml:
  41.      GPIO.output(i, GPIO.HIGH)
  42.     for i in mr:
  43.      GPIO.output(i, GPIO.LOW)
  44.     for i in range(3,11,2):
  45.      p[i].start(v)
  46. def back():
  47.    global p,v
  48.    if v<=100:
  49.     for i in range(3,11,2):
  50.      GPIO.output(i, GPIO.HIGH)  
  51.      p[i].start(v)
  52. def stop():
  53.      global p
  54.      for i in range(3,11,2):
  55.       p[i].stop()
  56. def setV():#设置车速
  57.     global v
  58.     val=int(E1.get())
  59.     if val>=30 and val<=200:
  60.         v=val         
  61. for i in range(3,11,2):
  62.    p[i]= GPIO.PWM(i+1, 200)
  63. #生成窗体,布置相应文本框和按钮
  64. top = tk.Tk()
  65. top.title('控制窗口')
  66. top.geometry('800x480')
  67. image_width = 800
  68. image_height = 480
  69. canvas = Canvas(top,bg = 'white',width = image_width,height = image_height )#绘制画布
  70. canvas.pack()
  71. img = Image.open('bg.jpg')
  72. bg = ImageTk.PhotoImage(img)
  73. bgid = canvas.create_image(0, 0, image=bg, anchor='nw')
  74. canvas.place(x = 0,y = 0)
  75. #产生标签文本背景透明效果
  76. txtid=canvas.create_text(300,20, fill = 'red',font=("黑体", 35),anchor="nw")
  77. canvas.insert(txtid,1,"树莓派四驱车")
  78. E1 = Entry(top, bd =5)
  79. E1.pack(side = RIGHT)
  80. E1.place(x=20,y=80)
  81. wx=20
  82. hy=130
  83. #生成按钮,并指定相应功能
  84. left = tk.Button(top,text='左转',height=2,width=15,command=left)
  85. left.place(x=wx,y=hy+100)
  86. forward = tk.Button(top,text='前进',height=2,width=15,command=forward)
  87. forward.place(x=wx+150,y=hy)
  88. right = tk.Button(top,text='右转',height=2,width=15,command=right)
  89. right.place(x=wx+300,y=hy+100)
  90. back = tk.Button(top,text='后退',height=2,width=15,command=back)
  91. back.place(x=wx+150,y=hy+200)
  92. stop = tk.Button(top,text='停止',height=2,width=15,command=stop)
  93. stop.place(x=wx+150,y=hy+100)
  94. wx=450
  95. hy=130
  96. setV = tk.Button(top,text='设速',height=2,width=15,command=setV)
  97. setV.place(x=wx+150,y=hy+100)
  98. while True:
  99.   top.update()
  100.   top.after(100)
  101. top.mainloop()  
复制代码



【演示视频】




跑得太快,抓不住!

帅猫  高级技师

发表于 2021-8-31 10:39:46

我觉得吧,用绕线管把先理理更好。
看你的电机带霍尔测速,纠正一下偏航?
既然用了树莓派,可不可以考虑改成语音控制的?
回复

使用道具 举报

云天  初级技神
 楼主|

发表于 2021-8-31 21:26:04

好,你的建议是我迭代的方向
回复

使用道具 举报

Amos Young  中级技师

发表于 2023-9-11 09:02:54

学习好教程
回复

使用道具 举报

Amos Young  中级技师

发表于 2023-10-20 10:28:39

非常好的项目分享
回复

使用道具 举报

许培享  中级技神

发表于 2024-1-10 15:57:59

学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail