1. 材料清单

1.1 兔子头乐高相关材料

元宵兔子头

1.2 兔子身体乐高相关材料

元宵兔子身体

1.3 电子及其它设备材料

Arduino Uno电路板1个

Arduino UNO R3开发板乐高保护外壳一个

迷你面包板一个

5MM LED发光二极管红色2个、黄色、蓝色各1个
220欧的电阻4个
杜邦线公对公6根(10CM就够了)

杜邦线公对母4根(15CM就够了)

五号电池电池盒(带开关)一个

14500锂电池 3.7V 2节


热熔胶枪(用于固定LED灯接线,可选)

2. 乐高齿轮组的搭建

2.1 兔子头搭建

在线查看分步搭建指南 :https://waydo.xyz/ldd/2019/rabbit-head.html

兔子头LDD乐高模型

2.2 兔子身体搭建

在线查看分步搭建指南 :https://waydo.xyz/ldd/2019/rabbit-body.html

兔子身体LDD乐高模型

兔子身体搭建要点

上图LDD乐高模型图中红色箭头指向的部分,由于LDD软件的原因,无法插入前方的乐高积木中。但在实物上稍微点力气是可以插入其中,具体可见下图实物图的效果。兔子身体前后部分都是同样的方法。

由于身体部分不规则的搭建,不牢固很容易掉落。所以上图红色圈出来的部分需要用热熔胶枪进行胶固。

2.3 乐高部分整合身体搭建

上图为兔子头和兔子身体的连接部分,红色箭头指向的部分为乐高连接插销点。

2.4 电子设备安装

兔子眼睛用红色5mm LED发光二极管制成。将LED灯从上方套入乐高科技模块的孔洞中,从下方伸出引脚。
上图红色箭头指向部分为LED灯下方。LED灯套入后,将LED灯的两个阵脚扳弯,套入杜邦线的头。如果针脚过长可略微减短,并注意记录针脚的正负极。上图中蓝色与绿色线为负极。最后用少许热熔胶枪固定,防止脱落。
上图为兔子身体内部安装好电子设备的实物图。
红色箭头指向的部分为装入乐高保护外壳的Arduino Uno电路板。底部可以用少许平板积木固定在兔子身体底部。
黄色箭头指向的部分为迷你面包板,可以用面包板背后的胶直接黏在乐高保护外壳上。
绿色箭头指向的部分为电池盒,直接插在尾部空挡即可。注意开关朝上,方便操作。
上图为面包板部分的实物图。
红色箭头指向的部分是4个220欧的电阻。将针脚剪短后插入面包板,并用热熔胶枪固定针脚。
绿色箭头指向的部分是2个LED灯也需要用 热熔胶枪固定针脚。
面包板上其它的杜邦线,插入后感觉比较松,也建议用热熔胶枪固定针脚。
但在Arduino上插入的针脚就比较紧,可不用热熔胶枪固定。
电路实体图

2.5 Arduino代码

[cc lang=”c” lines=”100″ width=”800″]
int lEyeLedPin = 5;
int rEyeLedPin = 4;
int yLedPin = 7;
int bLedPin = 6;
void setup() {
// put your setup code here, to run once:
pinMode(lEyeLedPin, OUTPUT);
pinMode(rEyeLedPin, OUTPUT);
pinMode(yLedPin, OUTPUT);
pinMode(bLedPin, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(bLedPin, LOW);
digitalWrite(yLedPin, LOW);
digitalWrite(rEyeLedPin, LOW);
digitalWrite(lEyeLedPin, HIGH);
delay(500);
digitalWrite(rEyeLedPin, HIGH);
digitalWrite(lEyeLedPin, LOW);
delay(500);
digitalWrite(lEyeLedPin, HIGH);
digitalWrite(rEyeLedPin, HIGH);
delay(200);
digitalWrite(rEyeLedPin, LOW);
digitalWrite(lEyeLedPin, LOW);
delay(200);
digitalWrite(rEyeLedPin, HIGH);
digitalWrite(lEyeLedPin, HIGH);
delay(200);
digitalWrite(rEyeLedPin, LOW);
digitalWrite(lEyeLedPin, LOW);
delay(200);
digitalWrite(rEyeLedPin, HIGH);
digitalWrite(lEyeLedPin, HIGH);
delay(200);
digitalWrite(bLedPin, LOW);
digitalWrite(yLedPin, HIGH);
delay(4000);
digitalWrite(bLedPin, HIGH);
digitalWrite(yLedPin, LOW);
delay(4000);
digitalWrite(bLedPin, LOW);
digitalWrite(yLedPin, HIGH);
delay(300);
digitalWrite(bLedPin, HIGH);
digitalWrite(yLedPin, LOW);
delay(300);
digitalWrite(bLedPin, LOW);
digitalWrite(yLedPin, HIGH);
delay(300);
digitalWrite(bLedPin, HIGH);
digitalWrite(yLedPin, LOW);
delay(300);
digitalWrite(bLedPin, LOW);
digitalWrite(yLedPin, HIGH);
delay(300);
digitalWrite(bLedPin, HIGH);
digitalWrite(yLedPin, LOW);
delay(300);
digitalWrite(bLedPin, HIGH);
digitalWrite(yLedPin, HIGH);
delay(200);
digitalWrite(bLedPin, LOW);
digitalWrite(yLedPin, LOW);
delay(200);
digitalWrite(bLedPin, HIGH);
digitalWrite(yLedPin, HIGH);
delay(200);
digitalWrite(bLedPin, LOW);
digitalWrite(yLedPin, LOW);
delay(200);
digitalWrite(bLedPin, HIGH);
digitalWrite(yLedPin, HIGH);
delay(5000);
}
[/cc]

完成