所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
【羿杉出品】智能垃圾桶
羿杉 羿杉 2019-07-14 21:00:34
4
0
简单

# 创 意 说 明 #

垃圾处理是当今社会面临的一大问题。作为一个小公民,我们能做到的是平时养成不乱扔垃圾的习惯。但是,有时候因为垃圾桶的开口较小方向又是垂直的,造成垃圾桶周围总是有很多垃圾。特别是垃圾桶满后,人们仍然往里扔,但大多数垃圾都会掉出来。由于有开口,夏季就会有一些难闻的气味。于是,我想到制作一个全封闭、能自动开关门、能提示垃圾装满的智能垃圾桶。

# 功能演示 #

材料清单 材料清单
1x
Arduino Uno 主控板
1x
IO扩展板
2x
舵机
1x
红外避障传感器
1x
超声波传感器
1x
RGB LED灯
步骤1 步骤1
准备材料

根据项目制作的需要,准备了1块Arduino Uno主控板、1块扩展板、1个红外避障传感器、2个舵机、1个超声波传感器、1个RGB灯等材料。另外,找到了几个废弃纸箱用来制作外型。

projectImage
步骤2 步骤2
硬件搭建

将扩展板叠放到主控板上,其他电子元件连接到扩展板的引脚上。

projectImage
projectImage
步骤3 步骤3
编写程序
projectImage
projectImage
步骤4 步骤4
制作外型

利用废纸箱上切下来的瓦楞纸制作了垃圾桶的外壳和里面装垃圾的桶。

projectImage
projectImage
步骤5 步骤5
安装电子材料

将全部电子材料安装到合适的位置。

projectImage
projectImage
步骤6 步骤6
调试完善
projectImage
代码 代码
	                    					#include <Servo.h>

Servo servo_10;
Servo servo_11;
float checkdistance_2_3() {
  digitalWrite(2, LOW);
  delayMicroseconds(2);
  digitalWrite(2, HIGH);
  delayMicroseconds(10);
  digitalWrite(2, LOW);
  float distance = pulseIn(3, HIGH) / 58.00;
  delay(10);
  return distance;
}

void setup(){
  servo_10.attach(10);
  servo_11.attach(11);
  servo_10.write(98);
  delay(0);
  servo_11.write(90);
  delay(0);
  pinMode(A0, INPUT);
  pinMode(2, OUTPUT);
  pinMode(3, INPUT);
}

void loop(){
  if (digitalRead(A0) == 1) {
    analogWrite(5,0);
    analogWrite(6,0);
    analogWrite(9,255);

  } else {
    analogWrite(5,255);
    analogWrite(6,0);
    analogWrite(9,0);

  }
  if (checkdistance_2_3() < 8) {
    servo_10.write(8);
    delay(0);
    servo_11.write(0);
    delay(0);
    delay(10000);

  } else {
    servo_10.write(98);
    delay(0);
    servo_11.write(90);
    delay(0);

  }

}
	                    				
Makelog作者原创文章,未经授权禁止转载。
4
0
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]