Веб-камера з оптичної миші

Для відстеження переміщень в оптичної миші використовується невелика камера-сенсор. У цій статті я покажу як можна вивести зображення з цієї камери в браузер.

Для експерименту я використовував старий маніпулятор Logitech RX 250 з чіпом ADNS-5020. Цей сенсор може записувати сірі зображення з роздільною здатністю 15x15 точок, а також розраховувати переміщення по осях X-Y.

Веб-камера з оптичної миші

Для експерименту знадобляться:
- мікроконтролер arduino
- ethernet Шилд
- оптична миша з сенсором ADNS-5020
- резистор 10 кОм

збираємо схему

Від'єднайте від друкованої плати миші наступні висновки ADNS-5020: NRESET (3), NCS (4), SDIO (1), SCLK (8) за допомогою паяльника або звичайними кусачками.

Веб-камера з оптичної миші


Припаяйте резистор 10 кОм між висновками NRESET і +5 В. До висновків NCS, DSIO, SCLK, + 5V, GND припаяйте дроти необхідної довжини (20 см).
В результаті ми отримаємо таку схему з'єднань:
Веб-камера з оптичної миші

Підключіть Ethernet Шилд до контролера arduino і підключіть його до мережі.
Потім з'єднайте Сенор з arduino як зазначено нижче:
+5V - Arduino + 5V
GND - Arduino GND
NCS - Arduino digital pin 7
SDIO - Arduino digital pin 6
SCLK - Arduino digital pin 5

Скетч для Arduino

Відкривши вікно послідовного інтерфейсу можна побачити дані надходять від миші:

Веб-камера з оптичної миші

Встановіть бібліотеки Node.js і Socket.IO

Для показу даних в браузері ми повинні встановити на комп'ютер бібліотеки node.js і socket.io. Встановіть node.js звідси: nodejs.org і наберіть в командному рядку:
npm install socket.io

Код для веб Node.js

У наступній програмі ми отримуємо дані по udp від arduino і посилаємо їх в браузер використовуючи простий web сервер.

Просто збережіть програму в файл: code.js

Тепер створимо веб сторінку перетворюючу дані з socket.io в картинку 15x15:

Збережіть як index.html

Запустіть програму!

Схожі статті