Много праздников есть на Руси... Новый год, Международный женский день, День защитника Отечества и многие другие. В конце концов, у каждого День рождения есть! А на праздники принято дарить подарки! Приятно не только их получать, но и дарить. А если у вас есть творческое мышление и познания в электротехнике, то можно получить удовольствие от изготовления уникального гаджета, который может стать хорошим подарком для ваших друзей и близких.
Такие размышления, а также просмотр одного фильма вдохновили меня на одну очень интересную мысль! Идея была такая: в нашей жизни возникает множество моментов, когда нужно сделать выбор в каких-либо простых вещах. Выпить кофе или чай? Какой фильм посмотреть? Куда сегодня пойти пообедать? И т.д. Обычно, для решения таких простых вопросов служит монетка! Но увидев по телевизору "волшебный" бильярдный шар, дающий советы, я понял, что это неплохая замена железному круглешку. Но покупать мне не хотелось, я подумал, что смогу сделать такой же (может, чуточку лучше). И получился бы оригинальный подарок!
Итак, задача была поставлена: разработать электронное устройство, отвечающее следующим характеристикам:
- Выдаёт ответы на простые вопросы ("Стоит ли мне сегодня...?")
- Красиво выглядит
- Компактное
- Чтобы не разориться на нём.
Не буду приводить все свои искания в области дизайна и схемотехнических решений. Представляю вам готовый рабочий вариант данного устройства.
Состав приведён в конце статьи, а здесь рассмотрим схему устройства:
Микроконтроллер подключается к ЖКИ по 4-х проводному интерфейсу. Старшие 4 порта D подключаются к старшим 4-м выводам линии данных ЖКИ. Линия управления подключается к порту С микроконтроллера: E (или EN, встречал и такое обозначение)-защёлкивание данных, подключаем к линии C4, RS-выбор команда/данные, подключаем к C5. Вывод RW - чтение\запись, подтягиваем к "земле" т.к. читать из ЖКИ мы ничего не будем. К выводу V0 подключаем подстроечный или постоянный резистор нужного номинала. И, при наличии, подключаем подсветку.
К любому выводу подключаем датчик(о его сборке, см. ниже)
Теперь, стабилизатор подключаем по схеме из Даташита:
Ну и для полноты картины, его распиновка:
Паял я всё это на кусочке макетной платы, так как схема не отличается сложностью, на схему можно добавить разъём, для внутрисхемного программирования микроконтроллера, что бы можно было менять прошивку(а можно и не ставить).
Теперь корпус: за основу был взят G515B - очень удачный вариант, он хорошо смотрится, идеален по размерам, но требует небольшой доработки:
Это верх. Здесь спиливаем все стойки, оставляем только одну, ту, что удерживает две половинки корпуса вместе.
Это низ. Здесь тоже спиливаем все стойки, кроме одной, которая удерживает две половинки корпуса, так, чтобы она соединялась с оставшейся стойкой в крышке. В этой же половинке сверлим отверстие для ЖКИ и для выключателя.
Теперь датчик "Встряхивания":
Его можно найти в игрушках(которые трясёшь и там лампочки мигают, стоят они сущие гроши, но тамошний датчик уж больно сильно надо трясти) или сделать самим. Нам понадобиться пружинка и металлический цилиндр. Я взял корпус от штекера разъёма 3,5 мм вот такой:
Вытаскиваем все внутренности, обматываем корпус проводом(очищенным) и внутрь вставляем пружинку (ту, что должна удерживать провод в разъёме), к ней тоже цепляем провод. Два контакта есть, отлично. Теперь нужно определить: в какой состоянии находится датчик (нормальнозамкнутый/нормальноразомкнутый), это повлияет на одну строчку кода, где мы будем опрашивать ножку к которой подключён этот датчик(в комментариях к коду помечено это место). Как же определить как работает датчик? Очень просто: подключаем светодиод к батарейке, вместо выключателя ставим наш датчик. Смотрим: если светодиод горит постоянно, то датчик нормальнозамкнутый (нужно потрясти датчик, светодиод должен мерцать), если не горит, то нужно потрясти датчик, светодиод должен замигать в такт толчкам.
Вот как я его себе представлял:
А вот что получилось...
В разобранном виде:
Готовый модуль:
Ну и с корпусом всё, да и с "железом" тоже всё...
Теперь прошивка:
Сразу ставим фьюзики: выбираем 8 мегагерц-частота внутреннего генератора, остальное-заводское.
Программа хорошо прокомментирована, всё должно быть понятно. Немного скажу: подпрограммы работы с ЖКИ протестированы неоднократно и хорошо работаю, подпрограмма инициализации сделана по "хардкору" каждой ножкой вручную дёргаю и паузы выставляю. Так, как выяснилось памяти она меньше занимает. Каждая фраза оформлена в виде отдельной функции, при желании можно заменить надписи на другие. Подпрограмма выбора работает очень просто: пр запуске устройства включается таймер, который считает от 0 до значения 0xFFFF и затем обнуляется. Когда срабатывает датчик встряхивания, таймер останавливается и на основании его значения определятся ответ.
Исходник на СИ в конце статьи, программа писалась в WinAVR.
Вот и всё! При правильной сборке получается вот такое чудо:
Всем спасибо за внимание, надеюсь вам понравилась эта статья. Если возникнут вопросы, то пишите в комментарии!
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот | |
---|---|---|---|---|---|---|---|
Основная часть схемы | |||||||
МК AVR 8-бит | ATmega8 | 1 | Поиск в магазине Отрон | ||||
Резистор | 10 кОм | 1 | Поиск в магазине Отрон | ||||
Подстроечный резистор | 25 кОм | 1 | Поиск в магазине Отрон | ||||
LCD-дисплей | WH0802A | 1 | Поиск в магазине Отрон | ||||
Датчик встряхивания | 1 | Поиск в магазине Отрон | |||||
Преобразователь питания | 1 | Поиск в магазине Отрон | |||||
Схема преобразователя питания | |||||||
DC/DC импульсный конвертер | LM2575 | 1 | Поиск в магазине Отрон | ||||
Диод Шоттки | 1N5819 | 1 | Поиск в магазине Отрон | ||||
Сin | Электролитический конденсатор | 100 мкФ | 1 | Поиск в магазине Отрон | |||
Cout | Электролитический конденсатор | 330 мкФ | 1 | Поиск в магазине Отрон | |||
L1 | Катушка индуктивности | 330 мкГн | 1 | Поиск в магазине Отрон | |||
Скачать список элементов (PDF)
Прикрепленные файлы:
- TRU(2).c (15 Кб)
Комментарии (8) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
[Автор]
[Автор]
Второе, да, дельное замечание, стоило использовать прерывания, но я почему-то этого не сделал (судьба).
Третье, если вам угодно, можете сами переделать код под ваши нужды.