基于Arduino的超声波垃圾桶
工作原理:当人靠近垃圾桶时,超声波传感器测出两者之间的距离,当距离小于设定的阈值是,舵机转动,垃圾桶盖打开。(这里设置的阈值是15cm)
材料清单:
Arduino UNO开发板一块;
CH-SR04超声波测距模块一块;
G90舵机一个;
小面包板一个;
杜邦线若干;
毛线一根;
废纸板一块;
垃圾桶一个;
Arduino UNO USB数据线一条;
电源(我用的是充电宝直接给开发板供电)
制作步骤
1、接线:
实物图
接线图:
2、烧录代码:
#include <Servo.h>
const int TrigPin = 2;
const int EchoPin = 3;
float distance;
Servo myservo;
void setup()
{
Serial.begin(9600);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
myservo.attach(8);
}
void loop()
{
digitalWrite(TrigPin, LOW);
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
distance = pulseIn(EchoPin, HIGH) / 58.00;
Serial.print(distance);
Serial.print("cm");
Serial.println();
if(distance<15)
{
go();
}
if(distance>15)
{
back();
}
}
void go()
{
myservo.write(0);
delay(2000);
}
void back()
{
myservo.write(90);
delay(15);
}
3、根据垃圾桶口的大小把纸板裁剪成相应的形状,裁剪好后把它的一边折1/4(或直接剪下来并用胶带与另外的3/4粘在一起,主要的目的要使连接处可以活动)并用热熔胶粘在垃圾桶上,同时把舵机粘在1/4的纸板上,用毛线或铁丝连接舵机的转动轴和另外3/4纸板,之后记得把CH-SR04超声波模块粘在前面。
成品如下:
电源这里我采用的是通过充电宝直接给开发板供电。