— 创作灵感 —
我们家乡夏天的时候,都会晒一些茄子干、南瓜干之类的干货。奶奶们一般会选好时机(连续几个大晴天),经过采摘、清洗、削切、蒸煮、拌料等环节,最后由太阳公公完成最后一道工序——晾晒。早上,人们把未干的半成品搬出去晒,傍晚又得收回来(防止沾到露水和尘埃),反复很多天,很辛苦!
我们想把这个活用创客的办法去改良下,至少不下雨的时候傍晚就不要收回家里,这样可以大大减少劳力成本。所以,想到了制作了一个智能追日晾晒架。
— 演示视频 —
材料清单
- Arduino主控板 X1
- IO 扩展板 X1
- 舵机 X3
- 光线传感器 X2
- 小木棒 X30
- 纸盒 X1
- 薄膜 X1
- 杜邦线 X20
步骤1 准备材料
根据方案,准备所需的硬件和其他材料:1块Arduino主控板、1块扩展板、3个舵机、2个光线传感器、若干根小木棒、1个纸盒、1块薄膜、若干根杜邦线。
步骤2 硬件搭建
将扩展板安装到Arduino主控板上,然后将舵机和光线传感器连接到扩展板上。
步骤3 编写程序
利用Mixly0.998软件编写程序,测试硬件连接是否正确,并编写项目程序。
步骤4 造型制作
#1# 使用一个废弃纸盒做底座,用于封装电子元件及固定支撑转轴。
#2# 利用小木棒制作晾晒架的支架。
#3# 将支架通过热熔胶固定在转轴上。
#4# 将电子元件安装到需要的位置
#5# 安装薄膜,反复测试,进行加固。
代码
#include <Servo.h>
volatile int zuo;
volatile int you;
volatile int duojijiaodu;
Servo servo_1;
Servo servo_2;
void 出始化() {
servo_1.write(130);
delay(0);
servo_2.write(50);
delay(0);
}
Servo servo_3;
void 打开() {
servo_1.write(50);
delay(0);
servo_2.write(130);
delay(0);
servo_1.write(90);
delay(0);
servo_2.write(90);
delay(0);
servo_1.write(130);
delay(0);
servo_2.write(50);
delay(0);
}
void 收起() {
servo_1.write(90);
delay(0);
servo_2.write(90);
delay(0);
servo_1.write(50);
delay(0);
servo_2.write(130);
delay(0);
servo_1.write(10);
delay(0);
servo_2.write(170);
delay(0);
}
void setup(){
servo_1.attach(1);
servo_2.attach(2);
zuo = 0;
you = 0;
duojijiaodu = 90;
servo_3.attach(3);
servo_3.write(duojijiaodu);
delay(500);
出始化();
}
void loop(){
you = analogRead(A1);
zuo = analogRead(A0);
if (you - zuo > 5 && you > 300) {
duojijiaodu = duojijiaodu + 6;
servo_3.write((constrain(duojijiaodu, 0, 180)));
delay(50);
}
if (zuo - you > 5 && you > 300) {
duojijiaodu = duojijiaodu - 6;
servo_3.write((constrain(duojijiaodu, 0, 180)));
delay(50);
}
if (you < 300 && zuo < 300) {
收起();
} else {
打开();
}
delay(2000);
}
评论