Въртяща се уеб камера с Arduino
Източник: cxem.net
Превел от руски: Т. Б.
В тази статия се разказва за това, как да поставите уеб камера върху сервозадвижване, поставена в рамка от конструктор и нейното управление с помощта на Arduino.
Неотдавна аз си зададох въпроса, какво друго можем да направим с Arduino, освен да светодиоди да премигат.
Тази идея ми дойде по време на утрешен разговор с колеги по Skype, и аз реших да направя, така че те да могат с помощта на уеб камерата да наблюдават какво става в нашия офис. В една дъждовна неделя, споделих идеята си с моя приятел и ние направихме Arducam.
Преди този проект бях прочел няколко подобни статии, в някои от коит се използваше джойстик. Имах джойстик от стара PS3 конзола, затова реших да го използвам.
Рамка от конструктор
За изграждането на рамкат ние използвахме стар конструктор, който бях купил преди време от комисионен магазин. Направихме рамката и я поставихме върху основа.
Свързване към вала на сервозадвижването
За свързването към вала на сервозадвижването с пиньона ние използвахме студена спойка. Избрах кръстообразна предавка на вала, тъй като тя няма да ми е необходима за други бъдещи проекти, за разлика от други детайли получени заедно със сервозадвижването.
Необходимо е да го поставите изключително точно. Направих го с помощта на нивелир. Щастливи сме, че разстоянието между страните на рамката е почти едно и също като широчината на нашето сервозадвижване. Може да закрепите сервозадвижването с помощта на лента с двойно залепване.
Монтаж на уеб камерата
Уеб камера
Използвах уеб камерана фирмата Logitech.
Може би, ще бъде от полза използването на противотежест с нея, за да я направите по-лека, но това не е моя уеб камера, на на офиса, и затова не съм го направил.
Разпределение на тежестта
Добавих 2 дебели уплътнения, за да избегна напрягането на вала на уеб камерата. Те смесват тежестта на камерата и рамката с вала на сервозадвижването.
Монтаж на уеб камерата
Закрепващият елемент на уеб камерата се състои от кръг с отвори, съвпадащи с остта на вала. това позволява осигуряването на тяга между вала и кръга.
Пространството създадено от уплътнението, предотвратява натискането на вала.
Проблеми:
– Камерата не е закрепена в рамката, и тя ще пада, ако тя е максимално наклонена.
– Отворите в констуктора над сервозадвижването са големи, и позволяват сервозадвижването да прави значителни хоризонтални движения на товара.
– Въртящият момент причинява прекомерно завъртание на уеб камерата, която от своя страна нарушава сервозадвижването. Искам да опитам да го изправим чрез завъртане на камерата с 1 градус назад след периода на непрекъснато двиежение, но аз предпочитам механичното решение. Може би може да постигнете това чрез добавянето на редуктор и поставянето на уеб камерата на отделен вал с ремъчна предавка?
– … Или пък да използвате по-мощно сервозадвижване.
Електроника
Свързване на сервозадвижването и светодиодите
Сервозадвижването притежава 3 проводника:
– GND
– +5V
– Данни
Аз използвах 9 пинов конектор за управление на сервозадвижването. Светодиода е свързван към +5V и GND през резистор към линията +5V и ще се засветва при подаване на захранващото напрежение.
Свързване на джойстика
Намираше ми се стар джойстик от PS3 конзола.
За да разбера как функционира джойстика и неговата електроника, на мен ми помогнаха статиите от Finnio и jhoffnun.
Управление на сервозадвижването
Arduino
Програмата за Arduino, както и файла на проекта може да свалите отдолу или да вземете от github. Програмата позволява да управлявате уеб камера с помоща на USB и джойстик. Може да използвате модем-контролер/ емулаторно терминално приложение, като например Minicom или Putty за свързване с USB порт.
Инсталиране спрямо центъра:
– При включването програмата ще установа сервозадвижването на 90 градуса.
– И при натискането на „m“
Завъртане наляво и надясно
– Когато джойстика се премести в хоризонталната равнина.
– наляво при натискането на ‘F’
– Надясно при натискането на ‘J’
Node.js
За да облекчим управлението на arducam, ние направихме уеб сървър в node.js. Повече информация може да намерите на сайта на проект github.
Възможни подобрения:
– Осигуряване завъртане на камерата чрез бутоните със стрелки;
– Реализиране на завъртане на 1 градус назад за облекчаване натоварването на сервозадвижването, възникващо при въртящия момент от тежестта на уеб камерата.
Прикрепени файлове: Arducam.rar (989 kB)