1340
需用时 02:40
把川普关进小黑屋,需要几步?

“无用盒子”作为史上最无聊的机械设备,某宝上的剁手价居然要200多,作为DIYer,咱们只能一言不合就动手了~

川普竞选成功后,依然不改大嘴特质。关进小黑屋里,自己静一静。点击访问视频

例行警告:图多杀猫,没有连上Wi-Fi的手机党请迅速关闭此页面!

这么无聊讨打的玩意怎么做呢?下面就是详细步骤啦~

(在此感谢果壳网友@微笑的小鸭 提供的创意)

DIY材料

耗材

  • Arduino UNO X 1
  • 扭子开关 X 2
  • 1KΩ 电阻 X 2
  • LED X 1
  • MG995舵机 X 2
  • 18650电池 X 2
  • 18650串联电池盒 X 1
  • SYB-170面包板 X 1
  • M3X40mm螺丝 X 8
  • M3螺丝帽 X 8
  • M2X10mm自攻螺丝 X 10
  • M1.4X6mm自攻螺丝 X 7
  • 热缩管 20cm
  • 导线和杜邦线(公对公) 若干
  • 木盒(内径23 X18 X6.5) X 1
  • 舵机支架(3D打印) X 2
  • 长杆(3D打印) X 1
  • 爪子(3D打印) X 1
  • 照片支架 X 1
  • 川普照片 X 1

3D打印文件及代码:

Github:https://github.com/rogerlrj/trumpUselessBox.git

百度盘:http://pan.baidu.com/s/1o7Hzv8A

工具

  • 电烙铁及焊锡
  • 3D打印机
  • 电钻及6mm钻头
  • 螺丝刀
  • 美工刀
  • 剥线钳
  • 热熔胶枪及胶棒

 

电路图

制作过程

总开关

准备材料:LED X 1、1KΩ电阻X 1、Arduino UNO X 1、扭子开关X 1、SYB-170面包板X 1、公对公杜邦线和导线若干。

安装步骤:先把杜邦线焊接到扭子开关上,用热缩管封好焊接处。按照电路图将电路插在面包板和Arduino上。

作用:通过扭子开关控制整个电路和Arduino的供电。LED亮则表示接通电池,反则表示断开电池。

舵机

准备材料:3D打印的舵机支架X2、长杆X1、爪子X1、MG995舵机X2、M3X40mm螺丝X 8、M3螺丝帽X 8、M1.4X6mm自攻螺丝X 7、公对公杜邦线若干。

安装步骤:首先将3D打印好的舵机支架和舵机通过M3X40mm的螺丝安装在一起(图片中实验室M3X40mm的螺丝用完了,所以暂用30mm的)。

再将舵机的摇臂和3D打印的爪子和长杆通过M1.4X6mm自攻螺丝固定在一起。

然后装配到舵机上。

最后将舵机的导线插入面包板和Arduino。其中红线和棕线在面包板接电池正负极,橙线分别插入Arduino 5号和6号接口。

作用:其中一个舵机(连接6号接口的)负责开盒盖,另一个舵机(连接5号接口的)负责伸爪子。

挑逗开关

准备材料:扭子开关X1、1KΩ 电阻X 2、公对公杜邦线若干。

安装步骤:一个简单的上拉开关,绿线连接Arduino 5V接口和1KΩ一端,黄线连接Arduino 2号接口和1KΩ的另一端,扭子开连接黄线和GND。

作用:当开关打开时,电阻连接5V电压,Arduino 2号接口收到高电平;当开关闭合时,电阻连接GND,Arduino 2号接口收到低电平。由此来记录开关的状态和次数。

组装

将木盒上的锁卸下,然后在盒子前后用6mm钻头打眼。

将组装好的舵机和照片支架用M2X10mm自攻螺丝固定。

两节18650电池和开关接入面包板。

在盒子用热熔胶固定前后两个扭子开关。要注意扭子开关的方向在固定,前后两个都是向下是开开关,向上是关开关(在盒子前各一个豁口,方便爪子伸出)。

把电池、Arduino和面包板放入盒子内。将川普照片粘到盒盖下面的支架上,组装就完成了。

Arduino程序

视频中总共设计了15种开关盒子的方式,由于篇幅,介绍其中1个,其它的14种动作都与之相类似。

这是第六个动作,boxServo是连接Arduino 6号接口,盒中位置在后面,连接长杆的舵机,主要负责开启盒盖。

打开盒盖,并控制盒盖打开的速度是由下段代码执行的,可通过调整delay()函数中的参数来控制速度。代码字面意思是没20毫秒舵机从70度转动一度,直到110度。(值得注意的是,在我的设计中boxServo在70度的时候盒子正好关闭,110度盒子打开的角度正合适。由于每个人安装的舵机起始位置不一样,70度和110度因人而异,需要自己调整。)

打开盒盖,然后甩盒盖的动作由下面的代码执行。如果舵机启动过快,盒盖由于惯性在舵机到位后依然会弹跳,所以下段代码通过delay(6)函数减低舵机的速度。代码字面意思是快速重复开启盒盖12次,然后停留在打开状态。

handServo是连接Arduino 5号接口,盒中位置在靠前,连接爪子的舵机,主要负责关闭盒前挑逗开关。

伸出爪子,关闭前方开关是通过这段代码实现的。180度是handServo的起始位置,然后以30毫秒一度的速度转动,直到转动到前方挑逗开关上方不远处,也就是35度的位置。然后按下开关,也就是26度,等待400毫秒。

这段是伸回爪子和关闭盒盖的代码,也就是handServo和boxServo恢复180度和70度原位。

如果理解了上面的代码,剩下的一段就容易了。也就是重新开启盒盖,等待3秒钟,然后关闭盒盖。

如果觉得川普不可爱,讨打的话,可将川普头像换成任意喜欢的玩偶或照片。可参考@微笑的小鸭 作品“无聊蛋疼盒子之熊本熊

(编辑:Lyroat)

The End

发布于2016-12-16, 本文版权属于果壳网(guokr.com),禁止转载。如有需要,请联系果壳

举报这篇文章

胖马户

机械电子工程师

pic