Pull to refresh

USB мышь своими руками из акселерометра и программатора USBAsp

Reading time 2 min
Views 19K
image

Собственно получилась у меня почти такая вот мышь, как на фото. (ну совсем почти =) )
За основу я взял свой старый программатор USBAsp для AVR микроконтроллеров и акселерометр ADXL322JCP.
Данный акселерометр выбран по следующим причинам:
— измеряет ускорение до 2g
— был в наличии в магазине
— был одним из самых дешевых ( точнее самым дешевым )
Из-за малого диапазона измеряемых ускорений, этот акселерометр позволяет определить в каком положении находится чип.
Ну и соответственно получается что-то типа измерения угла наклона. На какой градус нагнул мышь, с такой скоростью курсор и помчится. (по крайней мере у меня) :) Он может просто отклоняться по наклону. Как у мыши на рисунке.

Для начала заюзал неиспользуемые в программаторе ноги с ацп, и подключил к ним для теста переменный резистор. Поигрался немного, даже заставил работать как USB-мышь благодаря этой статье и библиотеке AVR-USB. Там собственно есть готовый демонстрационный вариант примера устройства USB мыши, который при подключении заставляет двигаться курсор по кругу. Я, не долго думая, настроил АЦП, поставил самое редкое прерывание, поменял несколько строчек кода в готовом примере. Прошил. И все с первого раза заработало. =)
Весело получилось, крутишь резистор, а курсор мышки туда сюда бегает. Ну думаю, дело осталось за самым сложным, припаяться к корпусу LFCSP(4 x 4 x 1.45 мм!!! и целых 16 выводов!!! из которых, по существу нужны тока 5).
Через час паяний и рассуждений как лучше расположить, наконец запаял, присоединил, прошил и включил. И о чудо, все начало работать с первого раза, сначала один канал, потом подключил второй канал. Все работает. Нагибаешь в одну сторону, курсор побежал влево, в другую, курсор побежал обратно, так же и вверх/вниз бегает, весело. =)

image

image

image

image

image

image

Собственно идея не нова. В инете нашел подобное, но на PIC’ах и с COM портом.
Вот и подумалось чем я хуже. =)
Тут есть видео =>
http://www.uchobby.com/index.php/2007/10/27/accelerometer-based-mouse

Ну и видео с самого сайта Analog Devices, где они уже представляют готовый продукт:Analog Devices video





Обзор:
http://www.hillcrestlabs.com/news/media-kit.php
Продают эту штуку вроде как тут:
http://www.hillcrestlabs.com/loop/
Tags:
Hubs:
+79
Comments 37
Comments Comments 37

Articles