小龟小车做一个智能垃圾桶

制作难度:二星

编程体验:Python、图形

制作耗时:约1小时

立马感受

先来感受一下小车吧


材料与工具

以下为所需材料,手工制作时间大概1个小时。


材料  数量 说明
 小龟小车 1 
 超声波传感器 1 识别物体接近
 9g舵机 开闭垃圾桶
 M3铜柱 4安装垃圾桶 
母-母杜邦线 连接超声波和小车 


另需准备耗材:螺丝螺母、胶枪(双面胶)、硬纸板、电线


 

制作过程

我们先来欣赏一下小车的照片,方便小伙伴对小车有个整体印象,然后再开始制作。  



第一步:做纸盒

准备一张硬纸板

 

剪纸盒

参考下图剪出一个硬纸盒,参考超声波位置在1号面开两个圆孔,底部留舵机和超声波走线孔


第二步:安装超声波模块和舵机

将超声波模块安装到1号面,固定(记下超声波四个管脚位置);舵机安装到3号面,调试舵机,按图中摆臂为90°放置,摆臂和6号面使用电线粘牢。

先测试一下舵机

car.servo(D2, [0, 90, 180, 90])

执行这段代码,正常的话,舵机会来回旋转几下。

  

说明:为便于演示,示例将纸盒剖析为了两部分。

 

第三步:安装纸盒到小车上

在小龟小车上安装铜柱


 

将纸盒安装到小龟小车上

 

 

第四步:连接电路、打扮小车

舵机连线:红线-3V3  棕线-GND  橙线-D2

超声波连线:VCC-3V3  GND-GND  Trig-A2  Echo-A1


玩法代码

下面就是这个玩法的范例代码,小伙伴们可以根据自己的喜好去调整代码。当然也可以直接体验。  

car.speed(5)    #调整小车速度为慢速
def get_dis():
"""超声波测距函数,并过滤一些异常噪音 """
for _ in range(20):
sleep(0.01)
d1 = car.hcsr04(A2, A1)
d2 = car.hcsr04(A2, A1)
avg=(d1+d2)/2
#过滤零结果和变化过大的毛刺噪音
if avg==0: continue
if (d1 < avg * 0.6) or (d1 > avg * 1.4): continue
if (d2 < avg * 0.6) or (d2 > avg * 1.4): continue
return avg
return avg
while True:
sleep(0.01)
distance = get_dis()
if distance>10:
car.go()
elif distance<10:
car.stop()
car.servo(D2,150)
sleep(2)
car.hello()
car.servo(D2,70)
sleep(0.1)