Представленная в данном проекте умная корзина может помочь поддерживать чистоту и гигиену окружающей среды, так как мусор можно выбрасывать в нее, не касаясь ее. У этого мусорного ведра есть серводвигатель, прикрепленный к крышке, который открывает и закрывает ее, также используется датчик HC-SR04 для обнаружения приближающихся к нему рук. Такое мусорное ведро может быть полезно в людных местах, таких как торговые центры, офисы, школы, колледжи и больницы.
Наша умная корзина имеет следующие особенности:
— Корзина открывается автоматически, когда кто-то подходит к ней, что делает процесс утилизации бесконтактным и гигиеничным
— При доработке она может предупредить сборщиков мусора, когда ее нужно опорожнить. Таким образом, муниципальные корпорации могут заблаговременно собрать мусор до того, как она начнет переполняться
— Больницы могут использовать умные корзины, чтобы избавить города от биологических отходов, которые потенциально могут быть опасными и распространять инфекции
Прототип такой корзины показан на следующем рисунке.

Принципиальная схема умной корзины на основе Arduino, датчика HC-SR04 и сервомотора представлена далее.

Когда ультразвуковой датчик регистрирует движение руки перед мусорной корзиной, он генерирует сигнал на своих выводах Echo и Trigger. Этот сигнал принимается и обрабатывается контроллером (Arduino) и отправляется на его цифровые выходные контакты. Сигнал поступает на серводвигатель MG90S для поворота прикрепленной к нему крышки на требуемый угол. Степень вращения, определяемая размером крышки, должна быть установлена методом проб и ошибок.
Код программы для Arduino следующий:
#include <Servo.h>
Servo servo;
int trigPin = 5;
int echoPin = 6;
int servoPin = 7;
int led= 10;
long duration, dist, average;
long aver[3];
void setup() {
Serial.begin(9600);
servo.attach(servoPin);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
servo.write(0);
delay(100);
servo.detach();
}
void measure() {
digitalWrite(10,HIGH);
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(15);
digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
dist = (duration/2) / 29.1;
}
void loop() {
for (int i=0;i<=2;i++) {
measure();
aver[i]=dist;
delay(10);
}
dist=(aver[0]+aver[1]+aver[2])/3;
if ( dist<50 ) {
servo.attach(servoPin);
delay(1);
servo.write(0);
delay(3000);
servo.write(150);
delay(1000);
servo.detach();
}
Serial.print(dist);
}
Данный проект может быть расширен за счет использования тензодатчика и датчика GPS. Тензодатчик может определять вес корзины. Когда она заполнится и ее вес превысит определенный предел, он отправит сигнал тревоги в ближайший муниципалитет и соответствующему сборщику мусора через GPS. Точное местонахождение мусорного бака можно отследить по координатам широты и долготы GPS на Google Maps.
Ультразвуковой дальномер HC-SR04
Ультразвуковой датчик расстояния HC-SR04