首页 > 分享 > 机械花—一款基于arduino的情人节礼物

机械花—一款基于arduino的情人节礼物

目录

构思

材料清单

传动设计

电路设计

软件设计

效果

构思

受了国外一个视频的启发,我也打算做一个机器花,送给老婆做情人节礼物。花朵应该具备张开和关闭两个功能,最好能便捷的用手势控制。为了让产品更生动,表现力更强,机械花的旁边还应有LED作点缀。

材料清单

一个微型电机从x宝上购买,

一卷细铜线,

再加上两块铝板(自行切割),

若干螺栓,螺母

橡皮2块,

手术刀一把,

Arduino Leonardo开发板一块,

吸管一根,

烤串用木签一根,

502胶水一管,

LED两个,

一个塑料花盆,

红外传感器一个,购自x宝

电钻台一个,

手摇钻,

硬纸壳若干。

传动设计

1先用手术刀将一块橡皮镂空,刚好把螺母塞入.塞入后,为保证两者牢固连接,可以用胶水粘连两者相接处。(502凝固的时间为24小时)

2 用钻台在一块铝板上打孔,将微型电机安装到铝板上。

3 在第一步的橡皮上再钻一个小孔,孔的直径应能允许木签穿过该孔,但被孔夹紧。

4 将塞入螺母的橡皮安装到微型电机的螺杆上。

5 将两块铝板上下重叠放置,确定木签的位置。然后在木签将要穿过的位置打孔。考虑到测量误差等因素,孔径应留余量,最好略大于吸管的直径。

6 在两块铝板的四个角附近打孔,然后用四根螺栓穿过这八个孔,固定铝板的上下位置。

7 以如下尺寸剪切3片硬纸壳:单位厘米

8 将另一块橡皮切割为边长2厘米的正三角形。并用手摇钻在橡皮中心钻开一个圆孔,供吸管插入。

9 用手摇钻在三角形橡皮的三个顶角处,沿平行于三角形的方向,钻三个细小的孔,供铜线穿过。

10 截取三条足够长的铜线,沿木签轴向,贴木签表面放置,用透明胶带固定。三条铜线分隔120°。铜线应比木签至少长出9厘米

11 将吸管插入上层铝板的孔内,用胶水固定,如下图所示

12 将木签从吸管上端插入,穿过与电机螺杆相连的橡皮,一直插到超过底层铝板的孔位。

13 将第7步准备的纸壳掰成下图所示的花瓣形状,并在每片花瓣的底角处扎三个孔,供细铜丝穿过.在每片花瓣中轴线距底部2厘米处也扎一个细孔。

14 截取三根细铜丝,先穿过正三角形的橡皮顶角,然后铜丝两端各自穿过花瓣的底角的三个孔,然后用胶水或者透明胶固定:

15 三片花瓣组装在一起的效果:

16 从木签顶端伸出三条细铜丝。三条铜丝分别穿过三片花瓣的中间小孔(第13步).穿过花瓣后,铜丝末端用透明胶带粘在花瓣背面。

电路设计

第一张电路图展示驱动电路。D2与D6分别是arduino leonardo的数字引脚2、6.

根据软件设计(见后面),2与6不会同时高电平。当D2处于高电平时,D6低电平。此时左半边晶体管Q1 Q2导通。电机正转。反之,Q3 Q4导通,电机反转。

第二张电路图展示手势控制电路。手第一次扫过传感器,Vout+与Vout-电压差为9伏。则Arduino的模拟输入口A1 A3之间电压差为4.5V左右。再次扫过传感器,Vout+与Vout-之间压差为零,A1 A3之间压差也为零。

软件设计

int iReadIR = 0;

int iPrevIR = 0;

bool bBloom = false;

int analogPin1 = A1, analogPin2 = A3;

void setup() {

int iV1 = analogRead(analogPin1);

int iV2 = analogRead(analogPin2);

if(iV1 - iV2 > 512)

{

iReadIR = 1;

}

else

{

iReadIR = 0;

}

iPrevIR = iReadIR;

pinMode(6, OUTPUT);

pinMode(2, OUTPUT);

pinMode(13, OUTPUT);

digitalWrite(13, LOW);

}

void loop() {

if(iPrevIR != iReadIR)

{

if(bBloom)

{

vClose();

bBloom = false;

}

else

{

vBloom();

bBloom = true;

}

}

iPrevIR = iReadIR;

int iV1 = analogRead(analogPin1);

int iV2 = analogRead(analogPin2);

if(iV1 - iV2 > 512)

{

iReadIR = 1;

}

else

{

iReadIR = 0;

}

delay(100);

}

void vClose(void)

{

digitalWrite(6, HIGH);

digitalWrite(2, LOW);

digitalWrite(13, LOW);

delay(45000);

digitalWrite(6, LOW);

}

void vBloom(void)

{

digitalWrite(6, LOW);

digitalWrite(2, HIGH);

for(int k = 0; k < 45; k++)

{

digitalWrite(13, LOW);

delay(500);

digitalWrite(13, HIGH);

delay(500);

}

digitalWrite(2, LOW);

}

效果

相关知识

基于Arduino的智能花卉灌溉系统设计
情人节送什么礼物
十大情人节送女友的礼物推荐 214情人节送女朋友什么礼物比较好
你的朋友是黑客?十款推荐礼物包TA心花怒放
情人节送什么礼物,情人节送礼物
【雕爷学编程】Arduino智慧农业之土壤湿度监测
今年情人节,流行这些创意礼物
【雕爷学编程】Arduino智慧农业之植物生长环境的智能调节
情人节礼物送什么好(15篇)
【雕爷学编程】Arduino智能家居之家庭植物智能灌溉系统

网址: 机械花—一款基于arduino的情人节礼物 https://m.huajiangbk.com/newsview117349.html

所属分类:花卉
上一篇: html玫瑰花效果代码,html
下一篇: 情人节订花攻略:让TA感动到落泪