6 комментариевПрикольные розыгрыши
Кашляющая пепельница в виде легких – отличный презент для тех, кто хочет, но пока не может отказаться от вредной привычки. С помощью такого оригинального подарка бросить курить станет гораздо проще.
Пепельница выполнена в форме легких человека. Если поднести к ней сигарету, раздастся сильный кашель и становится понятно, что приходится терпеть легким каждый день. Это прекрасный мотиватор, ведь многие хотят бросить пагубную привычку, но не всем это удается сделать самостоятельно, некоторые ждут какого-то толчка, которым может стать эта удивительная пепельница.
Ее можно поставить в курилке офиса – ведь бросать курить в компании гораздо легче, чем в одиночку. Эта пепельница удобна и проста в использовании, она легко моется и сможет долго поднимать настроение и напоминать о самом дорогом – о здоровье.
Если вы решите преподнести пепельницу в форме легких кому-то в подарок, то, наверняка, получатель оценит такой, с одной стороны прикольный, а с другой – полезный презент. Поднимайте настроение друзьям с помощью веселых подарков и всегда думайте о здоровье!
- Цена: $5.32
Иногда просматривая китайские сайты натыкаешься на довольно прикольные и оригинальные вещи. Эта пепельница — одна из таких находок. Т.к. курящих друзей довольно много, решил заказать несколько штук на подарки. Пепельница продается в черном и белом вариантах:http://everbuying.net/product145715.html Пришли в картонных коробках (помятых) внутри коробок — 2 пенопластовых вставки. Питается пепельница от 2-х пальчиковых батареек AA, коих в комплекте не поставляется. Некоторое время не мог понять, как же она включается.) Пепел стряхивал, вертел/крутил… Оказалось, что срабатывает, когда кладешь сигарету в гнездо. В корпусе 2 гнезда — слева и справа, в которые встроены фотодатчики. Когда срабатывает левый датчик, пепельница начинает кашлять. При срабатывании правого-кричит и задыхается) Слышно довольно четко и громко.
Из наблюдений могу сказать, что, похоже датчики настроены на определенный перепад света. Когда пепельница стояла на балконе при ярком солнечном свете, кашлять наотрез отказывалась. А вот при комнатном свете работает без проблем. Даже при включении/выключении света срабатывает. Тут кроется и плюс и минус — будет иногда сама кашлять и напоминать о здоровье. С другой стороны звук кашля может достать прилично)), а вот кнопки вкл/выкл нету, т.е. придется вынимать батарейки. Еще скажу, что при довольно большом размере (и по толщине она не маленькая), объем легких для пепла можно было бы сделать побольше, и ниши поглубже. А вообще как подарок — супер, друзья были довольны, буду заказывать еще парочку белых для барышень.)Для полноты представления снял видео:- Платформы: Arduino Uno
- Языки программирования: Arduino (C++)
- Тэги: газоанализатор, сигарета, дым, урна, кашель
Что это?
Дымящаяся урна — достаточно частое явление на улицах любого города. В результате это может привести к пожару. Как говорится в русской пословице «Нет дыма без огня». Причиной такого возгорания часто является безответственное отношение людей, не погасивших свой окурок. Да и в конце концов, такая урна просто воняет.
Бороться с этим может интерактивная урна, которая кашляет каждому, кто кинул в неё непогашенную сигарету.
Что нам понадобится?
- Arduino Uno
- Датчик газа MQ2
- MP3-плеер
- Breadboard Mini
- Бокс для Arduino
- Штекер питания 2,1 мм с клеммником
- Соединительные провода «папа-папа»
- Штырьковые соединители (1×40)
- Резисторы на 1 кОм 2 шт
- Уличная пепельница «Пепелкус»
- NiMH-аккумулятор (подойдёт например от радиоуправляемой игрушки)
- Карта памяти microSD
- Аудио гнездо 3,5 мм
- Миниатюрный активный динамик
- Алюминиевая банка из под кваса
Как собрать?
- Установите MP3-плеер на breadboard mini. Запишите на microSD 7 композиций разновидности кашля с именами 001.mp3…007.mp3 и вставьте её MP3-модуль. Сделайте рельсы питания и земли на макетной плате, для этого соедините breadboard и Arduino Uno тремя проводами «папа-папа», где:
- синий подключён к аналоговому входу
A0
; - красный к питанию;
- чёрный к земле.
- синий подключён к аналоговому входу
- Подключите пин
VCC
плеера к рельсе питания и пинGND
к рельсе земли. - Соедините пины
RX
иTX
плеера через резисторы 1 кОм с пинами11
и10
Arduino. - Соедините аудио разъём тремя проводами «папа-папа» с MP3-плеером таким образом:
- «правый канал» — к пину
DAC_R
; - «левый канал» — к пину
DAC_L
; - «общий» — к пину
GND
.
- «правый канал» — к пину
- Подключите датчик газа MQ2 к макетной плате через 3-проводной шлейф и штырьковые соединители, так чтобы красный провод оказался на рельсе питания,чёрный на рельсе земли и выходной сигнал через макетную плату на аналоговом входе Arduino
A0
. В результате должна получиться схема, как на рисунке ниже. - Так как датчик будет располагаться на некотором расстоянии от Arduino, удлините 3-проводной шлейф с помощью штырьковых соединителей и ещё одного 3-проводного шлейфа. Далее поместите Arduino и breadboard в специальный бокс для Arduino.
- Закройте верхнюю крышку бокса, выведя наружу аудио разъём и 3-проводной шлейф вместе с датчиком, и прошейте в Arduino Uno скетч, приведённый ниже.
- Теперь соедините NiMH-аккумулятор через штекер питания 2,1 мм и подключите через гнездо для внешнего питания в Arduino. Для защиты электроники от мусора и пепла, поместите бокс со всей электроникой и аккумулятор в алюминиевую банку, перемотайте всю конструкцию изолентой и подключите внешний динамик через аудио разъём. Осталось поместить всю конструкцию во внутрь пепельницы через открывающиеся дно, расположив элементы согласно рисунку приведённому ниже.
Алгоритм
- Каждую секунду с газоанализатора мы считываем 10 значений и находим их среднее арифметическое (делим на 10).
- Если этот цикл делался впервые, то записываем полученное значение в переменную
previous_mq2
.
- Если этот цикл делался впервые, то записываем полученное значение в переменную
- Сравниваем текущее полученное среднее арифметическое с переменной
previous_mq2
плюс погрешность 20.- Если их разность больше нуля, значит произошёл резкий скачок вредных газов и подаётся сигнал на mp3 плеер, включить трек.
- Вывод результатов в Serial.
- Запись текущего значения датчика в переменную
previous_mq2
.
Исходный код
- coughbox.ino
-
#include #include <dfplayer>// даём разумное имя для пина к которому подключен датчик#define MQ2_PIN A0 // длительность трека#define INTERVAL_PLAY 10000// интервал вывода информации в Serial#define INTERVAL_SERIAL 1000// погрешность на случайные наводки датчика#define DELTA 20 // инициализируем новый последовательный порт (RX 10, TX 11) SoftwareSerial mp3Serial(10, 11); int flag =;int mq2 =;int previous_mq2 =; // Массив 10 значений c датчикаint mass_mq2[10]={}; // переменная для хранения текущего время работы программы в мсunsignedlong currentMillis =; // переменная для хранения времени работы программы// с последнего резкого вверх скачка вредных газовlong previousMillisPlay =; // переменная для хранения времени работы программы// с последнего вывода данных в Seriallong previousMillisSerial =; void setup(){// начало связи через HardwareSerial Serial.begin(9600);// начало связи через SoftwareSerial mp3Serial.begin(9600); // для нормальной работы DFPlayer// требуется задержка от 5 до 15 секунд delay(5000); // выбор Serial для упрапвления DFPlayer mp3_set_serial(mp3Serial); // установка громкости и к ней задержка mp3_set_volume(30); delay(1000);} void loop(){// обнуляем текущее значение датчика mq2 =; // Считывание 10 значений с датчикаfor(int i =; i <10; i++){ mass_mq2[i]= analogRead(MQ2_PIN); delay(100); mq2 = mq2 + mass_mq2[i];}// считаем среднее арифметическое mq2 = mq2 /10; // если программа выполняется впервые, то// запись текущего значения датчикаif(flag ==){ previous_mq2 = mq2;} flag =1; // считываем текущее время работы программы currentMillis = millis()+ INTERVAL_PLAY; // проверяем прошло ли 10 секунд с момента включения семплаif(currentMillis - previousMillisPlay > INTERVAL_PLAY){// если текущее значение датчика// больше предыдущего включая погрешность// запись текущего времени для Play// и включаем случайный трек от 1 до 7if(mq2 > previous_mq2 + DELTA){ previousMillisPlay = currentMillis; mp3_play(random(1, 8)); Serial.println("Play");}else{ previousMillisPlay =;}} // Вывод результатов в Serial: sensorPrint(); // запись текущего значения датчика previous_mq2 = mq2;} // Функция выводва значений в Serialvoid sensorPrint(){// значения будут выводиться каждую секундуif(currentMillis - previousMillisSerial > INTERVAL_SERIAL){// запись текущего времени для Serial previousMillisSerial = currentMillis; Serial.print("Previous MQ2 = "); Serial.println(previous_mq2); Serial.print("Sensor MQ2 = "); Serial.println(mq2); Serial.println();}}
Демонстрация работы устройства
Что дальше?
На базе электроники из этой урны, можно не только привлекать внимания прохожих на улице тушить сигареты, также можно вычислить соседа, который курит и дымит на лестничной клетке либо в лифту. А сигнал тревоги можно получать не только MP3-плеером, заменив Arduino Uno на Arduino Yun вы можете получать сигнал в новостной ленте в Facebook, Twitter, сообщением GMail и т.д.
Используемые источники:
- https://chto-podarite.ru/kashlyayushhaya-pepelnica/
- https://mysku.ru/blog/china-stores/8686.html
- http://wiki.amperka.ru/projects:coughbox