Веб-камера з оптичної миші
Для відстеження переміщень в оптичної миші використовується невелика камера-сенсор. У цій статті я покажу як можна вивести зображення з цієї камери в браузер.
Для експерименту я використовував старий маніпулятор 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
Запустіть програму!