Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Обратный торговый автомат (RVM)

Компоненты и расходные материалы

Arduino Mega 2560
× 1
NodeMCU ESP8266 Breakout Board
× 1
Индуктивный датчик приближения, 15 мм
× 2
емкостный датчик приближения, 12 мм
× 1
Микро-серводвигатель SG90
× 2
Буквенно-цифровой ЖК-дисплей, 16 x 2
× 1
Ультразвуковой датчик - HC-SR04 (общий)
× 2
Модуль GPS (общий)
× 1
Зуммер, пьезо
× 1
Однооборотный потенциометр - 100 кОм
× 1
Привод переключателя, головка для кнопки с пружинным возвратом
× 1
5 мм светодиод:красный
× 2
Перемычки (общие)
× 1
Аккумулятор, 12 В
× 1
Батарея 9 В (стандартная)
× 1
Макет (общий)
× 2

Необходимые инструменты и машины

Паяльник (общий)
Цифровой мультиметр Digilent Mastech MS8217 с автоматическим диапазоном измерения
Инструмент для зачистки проводов и резак, 18–10 AWG / 0,75–4 мм² Емкость проводов

Приложения и онлайн-сервисы

IDE Arduino
Блинк
ThingSpeak API

Об этом проекте

МОТИВАЦИЯ:

Куда попадают пластиковые бутылки с водой?

На свалках, плывущих по океанам, рекам и тротуарам. Было приблизительно установлено, что 46 000 кусков пластикового мусора плавают в океане на квадратную милю. Этот пластик убивает животных, вызывает утечку химикатов и разрушает экосистемы. На разложение каждой бутылки может уйти до тысячи лет, при этом происходит утечка опасных и вредных химикатов. Утечка некоторых токсинов может вызвать рак и нарушение репродуктивной функции. При сжигании пластика образуются токсичные выбросы, такие как окись углерода, хлор, соляная кислота, фуны и нитриты. К сожалению, аргумент рециркуляции не имеет большого значения для данного случая, поскольку только 12% из тридцати пяти миллиардов бутылок, используемых в течение года, перерабатываются, а это означает, что рециркулируется только половина того, что вы помещаете в мусорную корзину.

ИДЕЯ:

Интеллектуальная машина для утилизации пластиковых и металлических отходов - это система, которая принимает пластиковые отходы (бутылки) и металлические банки на переработку, а взамен выдает пинты в бумажнике оператору, который перерабатывает отходы. Обратный торговый автомат оснащен датчиком приближения, позволяющим различать разные виды бутылок, и очки начисляются, когда пользователь вводит код на веб-сайте. Это изобретение в целом относится к управлению отходами и переработке пластиковых и металлических отходов (бутылок) в окружающая среда. Засорение пластиковыми отходами в окружающей среде и меньшая готовность перерабатывать пластик представляют постоянную проблему для окружающей среды и всех живых существ.

РАБОТАЕТ:

Обратный торговый автомат - это устройство, которое принимает использованные контейнеры для напитков и возвращает деньги пользователю (обратный типичному торговому циклу). Машины популярны в местах, где действуют законы об обязательной переработке или сдаче контейнеров.

Основные операции включают этапы, на которых переработчик помещает пустую бутылку / банку в приемное отверстие; система горизонтальной подачи позволяет пользователю вставлять контейнеры по одному. Затем бутылка / банка автоматически сканируется с помощью емкостных и индуктивных датчиков приближения. Если значение датчика индуктивного датчика равно 1, то объект пластиковый, а если значение датчика индуктивного датчика равно 0, а значение емкостного датчика равно 1, то объект пластиковый.

Что касается системы вознаграждений, RVM распределяет ценные жетоны, такие как монеты или купоны, при переработке контейнеров с напитками. Затем купоны используются для обмена подарков на прилавке. Однако из-за осведомленности об экологических проблемах и стремления к сокращению использования бумаги печать купонов не приветствуется. Итак, в предлагаемой нами системе при обнаружении пластика на ЖК-экране появляется зашифрованный код. Затем пользователь должен отсканировать код ИЛИ, присутствующий на машине, чтобы перейти на веб-сайт и обменять свои баллы, введя код, который он получил на ЖК-экране.

Существует база данных для пользователя, имеющего учетную запись на сайте обратного автомата по продаже пластика. Чтобы использовать баллы за утилизацию пластика, необходимо иметь учетную запись для входа на сайт.

У машины есть еще одна особенность:если машина заполнена, то сборщики мусора или поставщики рециркуляции уведомляют об этом с помощью приложения. Уровень машины контролируется с помощью ультразвукового датчика и NodeMCU, когда машина заполнена, сборщики информируются, а точное местоположение машины отправляется с помощью глобальной системы позиционирования.

Код

  • Сортировка отходов
  • Контроль уровня мусорного бака
Сортировка отходов C / C ++
 #include  // # include "Arduino.h" // # include "Button.h" #include  LiquidCrystal lcd (1,2,4,5,6,7); const int knapp =3; int ButtonState =0; // текущее состояние кнопки int oldButtonState =0; const int ledPin1 =10; const int ledPin2 =11; const int buzz1 =12; const int buzz2 =13; const int plasticsensor =A0; int metalsensor =A1; int metalsensor_M =A2; Servo myservo; Servo myservo_M; int pos =90; int pos_M =360; void setup () {pinMode (knapp, INPUT); digitalWrite (knapp, LOW); lcd.begin (16,2); lcd.clear (); myservo.attach (9); myservo_M.attach (8); pinMode (пластиковый датчик, INPUT_PULLUP); pinMode (металлсенсор, INPUT_PULLUP); pinMode (metalsensor_M, INPUT_PULLUP); pinMode (ledPin1, ВЫХОД); pinMode (ledPin2, ВЫХОД); pinMode (buzz1, ВЫХОД); pinMode (buzz2, ВЫХОД); Serial.begin (9600);} недействительный цикл () {lcd.setCursor (0,0); lcd.print ("ВСТАВИТЬ МЕТАЛЛ НА"); lcd.setCursor (0,1); lcd.print («ПРАВАЯ СТОРОНА»); задержка (6000); lcd.clear (); int sensor_read =digitalRead (пластиковый датчик); Serial.println («пластиковый сенсор»); Serial.println (sensor_read); // задержка (10); int sensor_read_m =digitalRead (датчик металла); // Пластиковая корзина Serial.println ("metal sensor1"); Serial.println (sensor_read_m); // задержка (10); int sensor_read_mm =digitalRead (металлсенсор_M); Serial.println (sensor_read_mm); // задержка (10); if ((sensor_read ==1) &&(sensor_read_m! =1)) {for (pos =90; pos <=240; pos + =1) {// изменяется от 0 градусов до 180 градусов // с шагом 1 градус myservo.write (pos); // сообщаем сервоприводу перейти в позицию в переменной 'pos' // delay (5); digitalWrite (ledPin1, HIGH); digitalWrite (buzz1, HIGH); // ждем 15 мс, пока сервопривод достигнет позиции} // delay (5000); for (pos =240; pos> =90; pos - =1) {// изменяется от 0 градусов до 180 градусов // с шагом в 1 градус myservo.write (pos); // задержка (5); }} else {// изменяется от 180 градусов до 0 градусов myservo.write (pos); digitalWrite (ledPin1, LOW); digitalWrite (buzz1, LOW); } if ((sensor_read_mm ==1) &&(sensor_read ==0)) {for (pos_M =360; pos_M> =50; pos_M - =1) {// изменяется от 0 градусов до 180 градусов // с шагом 1 степень myservo_M.write (pos_M); // задержка (5); digitalWrite (ledPin2, HIGH); digitalWrite (buzz2, HIGH); } // сообщаем сервоприводу перейти в позицию в переменной 'pos' // delay (5000); for (pos_M =50; pos_M <=360; pos_M + =1) {// изменяется от 180 градусов до 0 градусов myservo_M.write (pos_M); // сообщаем сервоприводу перейти в позицию в переменной 'pos' // delay (5); // ожидаем 15 мсек, пока сервопривод достигнет позиции}} else {myservo_M.write (pos_M); digitalWrite (ledPin2, LOW); digitalWrite (buzz2, LOW); }} 
Мониторинг уровня мусорной корзины C / C ++
 #include "ThingSpeak.h" #include  #include  #include  #include  #define BLYNK_PRINT Serial #define 4WiFiClient #define # TRIGGERO клиент; статическая константа int RXPin =4, TXPin =5; // GPIO 4 =D2 (подключите Tx GPS) и GPIO 5 =D1 (Подключите Rx GPSstatic const uint32_t GPSBaud =9600; // если скорость передачи 9600 не работает в вашем случае, используйте 4800unsigned long myChannelField =1067056; / / Channel IDconst int ChannelField =1; // Какой канал для записи данных char * myWriteAPIKey ="FMV95MD2A1J7Y8SP"; // Ваша запись ATinyGPSPlus gps; // Объект TinyGPS ++ WidgetMap myMap (V0); // V0 для виртуального вывода карты WidgetSoftwareSerial (RXPin, TXPin); // Последовательное подключение к устройству GPSBlynkTimer timer; // Вы должны получить токен аутентификации в приложении Blynk. Char auth [] ="YVvgHBx9fIM1-yR_2XrGXXkKdIuEmrYL"; // Ваши учетные данные WiFi. // Установить пароль в "" для открытых сетей. char ssid [] ="diksha"; char pass [] ="diksha19"; unsigned int move_index =1; void setup () {Serial.begin (115200); ss.begin (GPSBaud); Blynk.begin (auth, ssid, pass); // timer.setInterval (5000L, checkGPS); pinMode (TRIGGER2, OUTPUT); pinMode (ECHO2, INPUT); pinMode (BUILTIN_LED, OUTPUT); WiFi.mode (WIFI_STA); ThingSpeak. begin (client);} / * void checkGPS () {if (gps.charsProcessed () <10) {Serial.println (F ("GPS не обнаружен:проверьте проводку.")); }} * / void loop () {if (WiFi.status ()! =WL_CONNECTED) {Serial.print ("Попытка подключиться к SSID:"); Serial.println (ssid); while (WiFi.status ()! =WL_CONNECTED) {WiFi.begin (ssid, pass); Serial.print ("."); задержка (100); } Serial.println ("\ nConnected."); } while (ss.available ()> 0) {// скетч отображает информацию каждый раз, когда новое предложение правильно закодировано. if (gps.encode (ss.read ())) Serial.println ("GPS подключен"); // displayInfo (); {если (gps.location.isValid ()) {плавающая широта =(gps.location.lat ()); // Сохранение широты. и Лон. float longitude =(gps.location.lng ()); Serial.print ("LAT:"); Serial.println (широта, 6); // с плавающей точкой до x десятичных знаков Serial.print ("LONG:"); Serial.println (долгота, 6); ThingSpeak.setField (3, широта); ThingSpeak.setField (4, долгота); ThingSpeak.writeFields (myChannelField, myWriteAPIKey); Blynk.virtualWrite (V1, String (широта, 6)); Blynk.virtualWrite (V2, String (долгота, 6)); myMap.location (move_index, широта, долгота, «GPS_Location»); }}} // long duration1, distance1; большая продолжительность2, расстояние2; digitalWrite (TRIGGER2, LOW); delayMicroseconds (2); digitalWrite (TRIGGER2, HIGH); delayMicroseconds (10); digitalWrite (TRIGGER2, LOW); duration2 =pulseIn (ECHO2, HIGH); расстояние2 =(продолжительность2 / 2) / 29,1; if (distance2 <=5) {Blynk.notify ("Пожалуйста !! вылейте мусорное ведро");} Serial.println ("2 ультразвуковых сантиметра:"); Serial.println (distance2); Blynk.virtualWrite (V6, distance2); ThingSpeak.writeField (myChannelField, ChannelField, distance2, myWriteAPIKey); задержка (100); Blynk.run (); timer.run ();} 

Схема


Производственный процесс

  1. Швейная машина
  2. Создание двери офиса с автоматическим запиранием с помощью датчика приближения смартфона
  3. Как работает автомат по продаже картофеля фри?
  4. Что такое автомат по продаже молока?
  5. Как автомат по продаже чипсов может обеспечить вас горячими и свежими чипсами?
  6. Что такое автомат по продаже лапши?
  7. Что такое торговый автомат для чайно-кофейного супа?
  8. Готовьте здоровую пищу с помощью торгового автомата для приготовления еды!
  9. Чего ожидать от автомата по продаже безалкогольных напитков?
  10. Автомат по продаже фруктового мороженого:бизнес-потенциал