468浏览
查看: 468|回复: 2

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

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

IMG_20210811_172858_edit_98390451115715.jpg
带屏幕的四驱车

IMG_20210811_172851_edit_98411540884983.jpg
可触摸控制的四驱车

IMG_20210811_172527.jpg

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

【制作车身】

IMG_20210802_125846.jpg

驱动电机

IMG_20210802_135005.jpg
固定电机

IMG_20210802_134947.jpg

IMG_20210802_135814.jpg
安装电机驱动

IMG_20210802_140453.jpg
安装电池

IMG_20210802_155308.jpg


IMG_20210802_155436.jpg
增加双层结构
IMG_20210803_101357.jpg

IMG_20210803_104217.jpg

IMG_20210803_104836.jpg
增加降压模块给树莓派供电

IMG_20210811_172509_edit_98442732137061.jpg

IMG_20210811_172413.jpg

IMG_20210811_172423.jpg

【特色硬件】

IMG_20210811_172552.jpg

树莓派扩展板

IMG_20210811_172540.jpg

电机驱动

【程序代码】
  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

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

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail