Въртяща се уеб камера с Arduino

Източник: cxem.net

Превел от руски: Т. Б.

arduino47-1c

В тази статия се разказва за това, как да поставите уеб камера върху сервозадвижване, поставена в рамка от конструктор и нейното управление с помощта на Arduino.

Неотдавна аз си зададох въпроса, какво друго можем да направим с Arduino, освен да светодиоди да премигат.
Тази идея ми дойде по време на утрешен разговор с колеги по Skype, и аз реших да направя, така че те да могат с помощта на уеб камерата да наблюдават какво става в нашия офис. В една дъждовна неделя, споделих идеята си с моя приятел и ние направихме Arducam.

Преди този проект бях прочел няколко подобни статии, в някои от коит се използваше джойстик. Имах джойстик от стара PS3 конзола, затова реших да го използвам.

arduino47-2c

Рамка от конструктор

За изграждането на рамкат ние използвахме стар конструктор, който бях купил преди време от комисионен магазин. Направихме рамката и я поставихме върху основа.

arduino47-3c

 

Свързване към вала на сервозадвижването

За свързването към вала на сервозадвижването с пиньона ние използвахме студена спойка. Избрах кръстообразна предавка на вала, тъй като тя няма да ми е необходима за други бъдещи проекти, за разлика от други детайли получени заедно със сервозадвижването.

Необходимо е да го поставите изключително точно. Направих го с помощта на нивелир. Щастливи сме, че разстоянието между страните на рамката е почти едно и също като широчината на нашето сервозадвижване. Може да закрепите сервозадвижването с помощта на лента с двойно залепване.

arduino47-4c

 

arduino47-3c

 

Монтаж на уеб камерата

Уеб камера

Използвах уеб камерана фирмата Logitech.
Може би, ще бъде от полза използването на противотежест с нея, за да я направите по-лека, но това не е моя уеб камера, на на офиса, и затова не съм го направил.

arduino47-6c

Разпределение на тежестта

Добавих 2 дебели уплътнения, за да избегна напрягането на вала на уеб камерата. Те смесват тежестта на камерата и рамката с вала на сервозадвижването.

arduino47-7c

 

Монтаж на уеб камерата

Закрепващият елемент на уеб камерата се състои от кръг с отвори, съвпадащи с остта на вала. това позволява осигуряването на тяга между вала и кръга.
Пространството създадено от уплътнението, предотвратява натискането на вала.

arduino47-8c

 

Проблеми:

– Камерата не е закрепена в рамката, и тя ще пада, ако тя е максимално наклонена.
– Отворите в констуктора над сервозадвижването са големи, и позволяват сервозадвижването да прави значителни хоризонтални движения на товара.
– Въртящият момент причинява прекомерно завъртание на уеб камерата, която от своя страна нарушава сервозадвижването. Искам да опитам да го изправим чрез завъртане на камерата с 1 градус назад след периода на непрекъснато двиежение, но аз предпочитам механичното решение. Може би може да постигнете това чрез добавянето на редуктор и поставянето на уеб камерата на отделен вал с ремъчна предавка?
– … Или пък да използвате по-мощно сервозадвижване.

Електроника

Свързване на сервозадвижването и светодиодите
Сервозадвижването притежава 3 проводника:
– GND
– +5V
– Данни
Аз използвах 9 пинов конектор за управление на сервозадвижването. Светодиода е свързван към +5V и GND през резистор към линията +5V и ще се засветва при подаване на захранващото напрежение.

arduino47-9c

Свързване на джойстика
Намираше ми се стар джойстик от PS3 конзола.
За да разбера как функционира джойстика и неговата електроника, на мен ми помогнаха статиите от Finnio и jhoffnun.

arduino47-10c

 

arduino47-11c

 

Управление на сервозадвижването

Arduino
Програмата за Arduino, както и файла на проекта може да свалите отдолу или да вземете от github. Програмата позволява да управлявате уеб камера с помоща на USB и джойстик. Може да използвате модем-контролер/ емулаторно терминално приложение, като например Minicom или Putty за свързване с USB порт.

Инсталиране спрямо центъра:
– При включването програмата ще установа сервозадвижването на 90 градуса.
– И при натискането на „m“

Завъртане наляво и надясно
– Когато джойстика се премести в хоризонталната равнина.
– наляво при натискането на ‘F’
– Надясно при натискането на ‘J’

Node.js
За да облекчим управлението на arducam, ние направихме уеб сървър в node.js. Повече информация може да намерите на сайта на проект github.

Възможни подобрения:
– Осигуряване завъртане на камерата чрез бутоните със стрелки;
– Реализиране на завъртане на 1 градус назад за облекчаване натоварването на сервозадвижването, възникващо при въртящия момент от тежестта на уеб камерата.

Оригинална статия.

Прикрепени файлове: Arducam.rar (989 kB)