Очень интересный проект. Потребуются акселерометр MEMS X/Y (желательно не использовать акселерометры других моделей, т.к. это может отразиться на результате), микроконтроллер PIC и старая мышка. Здесь также будет описано как использовать полузабытый всеми порт RS232.
Этот проект показывает использование акселерометра в качестве компьютерной мыши, но перед началом производства, давайте разберемся, что представляет собой акселерометр?
Акселерометр – прибор позволяющий измерять силу тяготения и ускорение.Есть разные способы измерения этих параметров, однако давайте опишем только способ используемый в этом проекте – способ с использованием конденсатора. Внутри чипа находится конденсатор с третьей, дополнительной подвижной пластинкой. Как Вам уже известно, емкость конденсатора увеличивается с уменьшением расстояние между пластинками, чип измеряет емкость между двумя пластинками и подвижной пластинкой посередине (ниже я нарисовал маленькую иллюстрацию к происходящему, емкость условно 1 Ф):
В случае А расстояние между пластинами одинаково, т.е. акселерометр находится в нормальном положении, а в случае Б на акселерометр действует какая-то сила, пластинка смещается, следовательно меняется емкость между пластинками. Способ измерения объяснять не буду, важно то, что в конце из чипа выходит аналоговый сигнал от 0 В до 3.3 В. Все это достаточно мало, что бы это можно было бы поместить в SMD корпус.
В этом проекте используется акселерометр MMA6270 произведенный Freescale Semiconductor. Он содержит два сенсора, который находятся по углом в 90 градусов друг к другу, таким образом обеспечивая данные об ускорении по осям Х и У. В данном случае мы используем их для определения угла нахождения мышки, т.е. 0G соответствует горизонтальному положению мышки. Мы же хотим двигать курсором на экране, поэтому добавляем в схему микроконтроллер PIC, подключаем все выходы к ADC и пересылаем данные на компьютер.
Предугадывая Ваше желание избавится от проводов, вынужден огорчить Вас: наша мышка хоть и работала при беспроводном соединении 433 Мгц, но страшно тормозила. Делать устройство совместимым с СОМ портом слишком долго, поэтому проще воспользоваться программой написанной на Visual Basic специально для этого устройства его автором Б.Клинцом.
Следующая проблема – питание. Как питать устройство, если СОМ порт не имеет отдельной линии для питания? Выход – несколько выходов используемых старыми мышками и клавиатурами. Из этих выводов мы можем получить около 10мА, что вполне достаточно для нашего устройства, однако возникает проблема с напряжением : оно составляет около 8…13 В. Моим решением было завязать несколько линий управления напрямую к синему СИД который берет на себя около 3.4 В. Отлично! С МК PIC при 3.3 В обычно не возникает никаких серьезных проблем. Были некоторые подозрения на MAX232, однако он включился в работу на удивление хорошо.
Вот и готовая мышка-акселерометр!
Этот замечательный проект был прислан Бернардом Клинцом (Bernard Klinc).
Software Source Code: