回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【翟子聪 孙兴城】智能追日晾晒架 简单

头像 怀若谷 2019.07.14 1382 0

— 创作灵感

我们家乡夏天的时候,都会晒一些茄子干、南瓜干之类的干货。奶奶们一般会选好时机(连续几个大晴天),经过采摘、清洗、削切、蒸煮、拌料等环节,最后由太阳公公完成最后一道工序——晾晒。早上,人们把未干的半成品搬出去晒,傍晚又得收回来(防止沾到露水和尘埃),反复很多天,很辛苦!

我们想把这个活用创客的办法去改良下,至少不下雨的时候傍晚就不要收回家里,这样可以大大减少劳力成本。所以,想到了制作了一个智能追日晾晒架。

project-image

— 演示视频 —

材料清单

  • Arduino主控板 X1
  • IO 扩展板 X1
  • 舵机 X3
  • 光线传感器 X2
  • 小木棒 X30
  • 纸盒 X1
  • 薄膜 X1
  • 杜邦线 X20

步骤1 准备材料

根据方案,准备所需的硬件和其他材料:1块Arduino主控板、1块扩展板、3个舵机、2个光线传感器、若干根小木棒、1个纸盒、1块薄膜、若干根杜邦线。

project-image

步骤2 硬件搭建

将扩展板安装到Arduino主控板上,然后将舵机和光线传感器连接到扩展板上。

project-image

步骤3 编写程序

利用Mixly0.998软件编写程序,测试硬件连接是否正确,并编写项目程序。

project-image
project-image
project-image
project-image

步骤4 造型制作

#1# 使用一个废弃纸盒做底座,用于封装电子元件及固定支撑转轴。

project-image
project-image

#2# 利用小木棒制作晾晒架的支架。

project-image

#3# 将支架通过热熔胶固定在转轴上。

project-image

#4# 将电子元件安装到需要的位置

project-image

#5# 安装薄膜,反复测试,进行加固。

project-image
代码
#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);

}

评论

user-avatar