roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 05:55

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Умный будильник своими руками
СообщениеДобавлено: 05 май 2015, 02:05 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Для начала определим, чем умный будильник отличается от обычного. Правильно: обычный будильник будит нас, когда мы этого не хотим, а умный – когда мы и сами не прочь проснуться. Чтобы поприветствовать нас бодрой песней, пожелать доброго дня и т.д. Т.е. если начал ворочаться, значит уже не очень спит и можно будить. Конечно, контроль ворочаний должен начинаться в заданный час. А то, встанешь ночью по нужде, а будильник радостно заорет на весь дом. Определить ворочанья можно разными способами: надеть на руку ВТ браслет с акселерометром, прикрепить к кровати пьезодатчик, установить внешний датчик движения и т.д.
Остановимся на внешнем датчике, как наиболее универсальном варианте. За основу будильника возьмем смартфон, заодно поучимся его программить. В качестве сенсора движения можно использовать камеру смартфона, но это не наш путь, поскольку телефон придется позиционировать перед каждым сном, что не удобно. К тому же запрограммировать такой датчик не очень то легко и явно не для начинающих. Готовый софт на эту тему я не искал. Это опять же не путь самоделкина.
И так сформулируем ТЗ с минимальными требованиями:
- Программа для «андроидного смартфона» должна выполнять функции обычного будильника с проигрыванием какой-нибудь мелодии в заданное время;
- Так же будет отключаемая функция ожидания срабатывания внешнего датчика движения, подключаемого по ВТ, после срабатывания обычного будильника;
- В добавок, мелодия не должна сразу орать, а воспроизводиться с нарастающей громкостью.
Пока все требования.
Т.к. от внешнего датчика нам требуется всего 1 бит информации (есть или нет движение), то МК не понадобиться. Достаточно будет 2х основных элементов: какой-нибудь датчик движения и какой-нибудь ВТ модуль. Получится вот такая схема…
Вложение:
Mov BT.jpg
Mov BT.jpg [ 25.93 КиБ | Просмотров: 3501 ]

Т.е. когда срабатывает сенсор, то на ВТ модуль подается питание, и он «выходит в эфир». Паузу перед повторным срабатыванием на сенсоре надо выставить не менее 10 секунд, чтобы выход «не дергался». Наша программка сначала ждет времени срабатывания будильника, потом периодически пробует подключиться к ВТ модулю. Понятно, что последний д.б. предварительно «спарен» с телефоном. И устройство, с которым будем соединяться, предварительно выбрано в нашей программке. Если подключение удалось – значит есть движение и можно включать приветственную мелодию с нарастающей громкостью.
Программку напишем с помощью приложения MIT App Inventor, специально разработанного, чтобы ни дети, ни домохозяйки не остались в стороне от увлекательного процесса программирования смартфонов. Я опробовал его впервые. Впечатление двоякое. С одной стороны, необходимость собирать такие..
Вложение:
i++.jpg
i++.jpg [ 14.82 КиБ | Просмотров: 3514 ]

.. конструкции, для простейших выражений весьма утомляет. Навигация по проекту затруднительна, а сложные проекты в графическом редакторе будут выглядеть весьма громоздко.
С другой стороны, запросто можно написать простую программку управления роботом по ВТ без всякого гемора и не перечитывая описания синтаксиса языка и API телефона, т.к. все весьма просто и наглядно. Изменения программы в окне редактора, сразу отображаются в подключенном по вай-фай телефоне, что удобно. А, после компиляции, получается настоящий APK. В общем, хотя возможности Инвентора пока весьма ограничены, для начинающих андроид-программеров (а ваш покорный слуга тоже из их числа) он вполне подходит. Я бы посоветовал разработчикам предусмотреть возможность переключаться в текстовое представление проекта. Впрочем, инструмент все еще в бета версии.
Получилась вот такое простецкое приложение:
Вложение:
Alarm.jpg
Alarm.jpg [ 47.8 КиБ | Просмотров: 3508 ]

Файл проекта прилагается, если у кого будет интерес повторить.
Вложение:
MovAlarm.zip [1.39 МиБ]
Скачиваний: 0

Понятно, что это пробная версия для проверки работоспособности устройства, и нуждается в доработке. Выбор мелодий, голосовое приветствие с сообщением времени и курса доллара и т.п. Все это легко делается в Инвенторе.
Пара замечаний, которые могут быть не очевидны:
Вложение:
Functions.jpg
Functions.jpg [ 25.06 КиБ | Просмотров: 3505 ]

Левая функция перехватывает сообщения системы. Если ее не вставить, то будут появляться назойливые предупреждения при неудачных попытках ВТ соединений, хотя для спящего человека это не очень важно :)
Правая функция перехватывает нажатие кнопки «возврат» для остановки воспроизведения. Т.о. для выхода из программы ее использовать уже не получиться. Выход пока только через меню. Конечно это легко исправить,но это уже домашнее задание :) А, если в вашем смартфоне есть аксель, то лучше сделать отключение музыки при повороте телефона.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Умный будильник своими руками
СообщениеДобавлено: 05 май 2015, 10:11 
Не в сети

Зарегистрирован: 08 май 2014, 18:32
Сообщения: 609
Ну разве что если цель - попрактиковаться в программинге на телефон.
А вообще тысячи их. Я пользуюсь иногда SleepAsAndroid


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Умный будильник своими руками
СообщениеДобавлено: 05 май 2015, 17:47 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Это понятно, что таких программ куча. Но, все они работают от акселя телефона, либо от фитнесс-браслета или умных часов. Моя супруга, например, не желает спать в браслете или в обнимку с телефоном. Т.к. она "сова" и на работу ей ходить не надо, то предпочитает будиться умным будильником. Датчик движения вешается на потолок над кроватью, потребляет он мало, батареек хватит на долго, и про него вообще можно забыть. В общем мне была поставлена техническая задача и я ее выполнил :)
А заодно освоил Инвентор и поделился с коллегами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Умный будильник своими руками
СообщениеДобавлено: 05 май 2015, 17:54 
Не в сети

Зарегистрирован: 08 май 2014, 18:32
Сообщения: 609
Зачем в обнимку? Просто телефон рядом на кровати лежит так чтобы не раздавить если ворочаться будешь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Умный будильник своими руками
СообщениеДобавлено: 05 май 2015, 18:01 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Рядом лежать должен только я :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Умный будильник своими руками
СообщениеДобавлено: 05 май 2015, 21:40 
Не в сети

Зарегистрирован: 30 апр 2015, 19:18
Сообщения: 23
Весьма впечатляет. У меня была идея чего-то подобного и даже наброски, но время, время, время... Теперь можно будет использовать этот проект, как основу для своего. Надо же на что-то опираться поначалу. А вообще такие уроки очень полезны! Моё одобрение.

_________________
Рай покоится в тени винтовок!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Умный будильник своими руками
СообщениеДобавлено: 06 май 2015, 00:00 
Не в сети
Аватара пользователя

Зарегистрирован: 17 июл 2008, 14:21
Сообщения: 83
Откуда: Тольятти
прог. языки: Delphi, Bascom
Тоже задумывался об умном будильнике.
Как бы еще отличить шевеление жены от шевеления меня, да еще будить каждого независимо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Умный будильник своими руками
СообщениеДобавлено: 06 май 2015, 00:03 
Не в сети
Аватара пользователя

Зарегистрирован: 30 сен 2008, 18:49
Сообщения: 2681
Откуда: Где-то в Латинской Америке
Это как раз просто - спать в разных спальнях :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Умный будильник своими руками
СообщениеДобавлено: 06 май 2015, 07:37 
Не в сети

Зарегистрирован: 08 май 2014, 18:32
Сообщения: 609
Если места на кровати определны, камера с ИК подсветкой и OpenCV ))


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO