Вторник, 03.12.2024

В помощь радиолюбителю
Приветствую Вас Гость
Главная | Регистрация | Вход | RSS
Схемы на МК и микросхемах » Микроконтроллеры
Говорящая мышь


автор Макаров Владимир.

Говорящая мышь

Обыкновенная компьютерная мышь может неожиданно заговорить, если в ее корпусе поместить плеер. Управлять функциями плеера можно через штатные кнопки управления мышью (правая, средняя, кнопка колеса). В связи с глобальной компьютеризацией вы можете сделать оригинальный подарок-сувенир практически для любой категорий пользователей - от детей до бабушек и дедушек. Ну а набор фонограмм можно подобрать индивидуально для каждого пользователя.

В предлагаемом вашему вниманию устройстве заложен следующий алгоритм:

1.    Подключить манипулятор «мышь» к USB порту компьютера или зарядному устройству с выходом USB.
2.    Для включения устройства необходимо нажать одновременно правую и левую кнопки и удерживать их до появления звука из манипулятора.
3.    При нажатии на левую кнопку воспроизводится случайная фонограмма.
4.    При нажатии на правую кнопку воспроизводится последняя звучавшая фонограмма.
5.    При нажатии на кнопку колеса прерывается текущая фонограмма.
6.    Для выключения устройства необходимо нажать и удерживать  одновременно правую и левую кнопки. Мышь зевнет и уснет.

Внешний вид устройства показан на рисунке 1. Как видите, это обыкновенная оптическая мышь с USB-подключением к компьютеру.   



Рисунок 1. Внешний вид устройства.

Демонстрационное видео работы устройства.

Электрическая часть.

Устройство построено на микроконтроллере ATTINY861 (U2). В основу положено известное решение «255-Voice PCM Sound Generator» (Автор - ChaN, оригинал статьи здесь - http://elm-chan.org/works/sd20p/report.html). Генератор проигрывает до 255 фонограмм, записанных на microSD Card. Формат файлов – WAV.
Электрическая схема устройства приведена на Рисунке 2.

highslide.js

Рисунок 2. Схема электрическая принципиальная.

На LM1117-3.3 (U1) собран преобразователь напряжения 5V (Vmouse) в 3.3V (VCC), необходимого для питания микроконтроллера и microSD Card. Питание всего устройства осуществляется напряжением 5V, которое берется о платы мыши (фактически от USB-порта).
Микроконтроллер U2 в цикле опрашивает состояние трех кнопок (уровни на ножках PB6, PB5 и PB4). Если хотя бы одна кнопка нажата, то выполняются действия в соответствии с режимами:

1.    Активировать устройство: 101 (нажаты одновременно левая и правая кнопки)
2.    Повторить фонограмму: 001 (нажата правая кнопка)
3.    Воспроизвести случайную  фонограмму: 100 (нажата левая кнопка)
4.    Прекратить воспроизведение: 010 (нажата средняя кнопка-колесо)

При необходимости воспроизведения (режим 3) программа микроконтроллера генерирует случайное число N в заданном диапазоне (верхняя граница диапазона указана в первой строке файла 000.txt). С учетом сгенерированного числа формирует имя звукового файла типа «N.wav». Далее программа читает звуковой  файл с microSD Card и направляет поток на широтно-импульсный модулятор – на выходах OC1A и OC1B формируется звуковой сигнал фонограммы. Звуковой сигнал с выхода микроконтроллера (OC1A и OC1B) через резисторы R1, R2, потенциометр R4 и конденсатор C7 подается на вход усилителя низкой частоты (U3), собранного на микросхеме TDA7056. Нагрузкой усилителя является громкоговоритель (типа Acer TravelMate 371TCi Speaker Set 16O 1W).

Индикатор VD1 количеством вспышек показывает состояние файловой системы генератора:
2 вспышки: ОШИБКА ДИСКА
3 вспышки: НЕТ ФАЙЛА
4 вспышки: ОШИБКА ФАЙЛА

При воспроизведении фонограммы Индикатор VD1 светится постоянно.
Печатная плата – двустороння с перемычками – показана на рисунке 3. Геометрия платы должна позволять устанавливать ее внутрь мыши.

highslide.js

Рисунок 3. Печатная плата.

Файлы.

В корневой директории microSD Card должен находиться файл 000.txt. В первых трех байтах файла задается число фонограмм K, подлежащих воспроизведению (число K записывается с лидирующими нулями, для 12 фонограмм должно быть записано 012). В программе микроконтроллера генерируется случайное число N в диапазоне 1…K.
Имя файла с фонограммой должно иметь следующую структуру NNN.wav. Где NNN – номер звукового файла, записанный с лидирующими нулями. Например, для случайно выбранного числа N=5 сформируется имя файла для воспроизведения 005.wav.
В системе зарезервированы служебные звуковые файлы с номерами N=254 (звучит при включении устройства)  и N=255 (звучит при выключении устройства).

Конструкция.

Устройcтво размещается в корпусе мыши Genius NetScroll 100. Этот корпус имеет достаточно свободного пространства для размещения дополнительных устройств. Но кроме этого, важной особенностью этой модели является то, что все три кнопки при нажатии замыкают сигнал на массу. Такой же особенностью обладает модель Genius NetScroll 120.Отрываем от корпуса «пяточку» и обнаруживаем под ней замаскированный саморез. Выкручиваем его и отсоединяем верхнюю крышку мыши от основания. (Рисунок 4).

highslide.js

Рисунок 4. Разборка корпуса мыши.

К верхней крышке корпуса мыши, крепим громкоговоритель (Рисунок 5)

highslide.js

Рисунок 5. Установка громкоговорителя.

На плате находим пять точек подключения: выводы трех кнопок, общий провод и +5V. На Рисунке 6 показано расположение этих точек для мыши Genius NetScroll 100. Подключаем провода к разъему CN2 «mouse».

highslide.js

Рисунок 6. Точки подключения разъема CN2 «mouse».

Вставляем в корпус плату мыши и плату устройства, соединяем разъемы и соединяем крышку мыши  с основанием (Рисунок 7).

highslide.js

Рисунок 7. Расположение узлов в корпусе мыши.

Программная часть.

Для загрузки .hex файла программы необходимо подключить программатор типа AVRISPmkII к шестиштырьковому разъему ISP6PIN, расположенному на плате устройства. При этом надо соблюдать соответствие номеров соединяемых контактов вилки (на плате) и гнезда (на шлейфе программатора).
Запрограммировать микроконтроллер можно и вне родительской платы, используя универсальный программатор для микроконтроллеров данного типа.
Установка «фьюзов» микроконтроллера: LOW = 0xС1, HIGH = 0xDD,  EXT = 0xFF.
К статье прилагается .hex файл программы, а так же исходный программный код на СИ и другие файлы проекта.


Архив для статьи  



Категория: Микроконтроллеры | Просмотров: 91835 | Добавил: MVS

Понравилась статья - нажми на кнопку!

 Нравится 

Всего кликов: 67

Назад

Поделись с друзьями:





Добавлять комментарии могут только зарегистрированные пользователи.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться или войти на сайт под своим именем.


Всего комментариев: 0