1 2 2 3 4
Меню Содержимое
Новости arrow Электронные проекты arrow Сенсор из оптической мыши
Сенсор из оптической мыши Печать E-mail
Автор Administrator   
28.01.2009 г.
Использование микросхемы из оптической мыши в качестве видеокамеры В современных серийно выпускаемых компьютерных мышах используется оптический датчик поверхности, определяющий перемещение мыши по-поверхности. Датчик такой микросхемы, обычно 16x16 с 64 градациями серого. Подключив такой датчик к мокропроцессорной системе можно получать и обрабатывать изображение низкого разрешения. В данном проекте рассказывается о подключении такого датчика.

В качестве устройства-донора была взята неработающая радиомышь неизвестно происхождения. При вскрытии была обнаружена микросхема с маркировкой A2030, которая была идентифицирована, как ADNS2030. Микросхемы ADNS2030 и ADNS2051 различаются напряжением питания. Вторая используется в обычных проводных мышах и питается от источника +5V (автор не проверял ее работосопсобность, но вероятно они взаимозаменяемы (с учетом напряжения питания)) Вместе с датчиком на плате размещается обвязка

Схема платы оптической мыши

Схема на микропроцессоре ATMega8 для подключения датчика

По даташиту микросхема должна была работать по следующему алгоритму:

  • 1. Выполняем DumpPixel
  • 2. Повторяем считать регистр Data_Out_Lower, пока бит 7 не станет ==0
  • 3. Сохраняем считанное значение
  • 4. Считываем Data_Out_Upper (после чего вся пара инкрементируется и указывает на следующий пиксель)
  • 5. Сохраняем ранее считанный пиксель
  • 6. Если считали меньше 256 пикселей - переходим к шагу 2
  • 7. Отключаем DumpPixel

    Однако вышеприведенную последовательность не удалось довести до рабочего состояния и был реализован следующий алгоритм:

  • 1. Выполняем DumpPixel, присваеваем адрес_пикселя = 0
  • 2. Повторяем считать регистр Data_Out_Lower, пока бит 7 не станет ==0
  • 3. Сохраняем считанное значение по адресу, увеличиваем адрес_пикселя на 1
  • 4. Если считали меньше 256 пикселей - переходим к шагу 2
  • 5. Отключаем DumpPixel

    Ппрограмма для персонального компьютера принимает данные от микропроцессорной системы по последовательному порту и отображает их в виде картинки в реальном режиме времени. Настройки последовательного порта: порт COM1, скорость 19200, формат 8-n-1, контроль потока отключён. В панели управления Windows следует настроить на данный порт указанные параметры.

    Микропроцессор высылает данные в формате 0..63 (градации яркости) для каждого пикселя (пакет из 256 байт), каждый пакет разделяется байтом с кодом 64

    Общий вид собранного устройства:

    Полученное изоюражение:

    Размер полученной видеообласти составил примерно 1x1мм

    Предположительно, сенсор в этой микросхеме имеет следующий формат:

  • размеры чувствительного элемента 50x50мкм
  • общий размер сенсора 0.8x0.8мм

    Задавшись желаемым полем зрения сенсора 20мм, была подобрана линза с малым фокусным расстоянием (от старого дозиметра) и собрано крепление, обеспечивающее подстройку совмещения оптических осей линзы и сенсора и возможность фокусировки.

    Общий вид эксперементального устройства:

    В качестве изображения было сформировано:

    После настройки системы (центровка оптики, настройка положения линзы - вращением), было получено изображение:

    Собранное изделие в деталях:

    ПРИЛОЖЕНИЕ

    Программа для ПК

    Прошивка для микроконтроллера

    Алексей Кургузов
    (mandigit)

  • Последнее обновление ( 07.11.2011 г. )
     
    « Пред.   След. »

    © 2024 Интеллектуальные Мобильные Роботы

    Яндекс цитирования RoboRing List Random Prev Next