WALRUS (робот - морж)


12.07.2010, 19:54



ѕроект выходного дн€. –обот- морж. »менно так будет на английском €зыке слово "walrus".

Ётот проект € задумал давно, еще в июне, когда мы все обсуждали манипул€торы. я тогда заказал за бугром 10 сервок.

¬кратце о проекте. Ёто робот с двум€ "руками", которыми он пользуетс€ как морж или пловец, который плывет "брасом" (не уверен, что правильно написал, € в плаванье не разбираюсь сильно). ќн, по сути, тащит свое "тело".

–еализаци€ интересна не как конечный робот, а как проверка теории на практике. ƒело в том, что от начала и до конца работы прошло всего 2 часа.

я спроектировал кинематику на бумаге, обмерил серву, на бумаге нарисовал основной элемент "корпуса", 2 соединительных элемента, вырезал из бумаги, повертел в руках и начал делать в металле.

»з инструментов использовал ножницы по металлу, дрель, сверло на 2.5 и 6 мм.  репеж ћ2.5, изолента (как без неЄ :-) ).

 онтроллер использовал старый. ¬ нем предусмотрены выходы на датчики, на которые € поставил сервы. Ќа контроллере осталось еще 4 свободных разъемов, один из них- I2C, и длинный разъем дл€ LCD.

¬от что получилось:

320х200, GIF-анимаци€: walrus_motion1.gif (270 кЅ)
640x400, MPEG: walrus1.mpg (2.8 ћЅ)

ѕрограмму писал на Ѕейсике. ќна получилась настолько маленька€, что можно показать еЄ здесь:

Config Servos = 4 , Servo1 = Portd.2 , Servo2 = Portd.3 , Servo3 = Portd.0 , Servo4 = Portd.4 , Reload = 10
Config Portd = Output

Dim Minimum As Byte
Dim Maximum As Byte
Dim N As Integer
Dim Center As Byte

Minimum = 80
Maximum = 180
Const Wait1 = 500
Center = Maximum - Minimum
Center = Center / 2
Center = Center + Minimum

Const Top = 50
Const Forward = 40
Const Back = 20

'finally we must turn on the global interrupt
Enable Interrupts

'the servo() array is created automatic. You can used it to set the
'time the servo must be on

' init
Servo(1) = Center
Servo(2) = Center
Servo(3) = Center
Servo(4) = Center
Waitms Wait1


Do
' top
N = Center - Top
Servo(1) = N
N = Center + Top
Servo(4) = N
Servo(2) = Center
Servo(3) = Center
Waitms Wait1
' forward
N = Center - Top
Servo(1) = N
N = Center + Top
Servo(4) = N
N = Center + Forward
Servo(2) = N
N = Center - Forward
Servo(3) = N
Waitms Wait1
' top
Servo(1) = Center
Servo(4) = Center
N = Center + Forward
Servo(2) = N
N = Center - Forward
Servo(3) = N
Waitms Wait1
Servo(1) = Center
Servo(2) = Center
N = Center - Back
Servo(2) = N
N = Center + Back
Servo(3) = N
Waitms Wait1

Loop

 

15.12.2005г.


 лючевые слова:
Servo
Center
Waitms
Wait1
Portd
Const
Forward
Maximum
Byte
Minimum
servo
бумага
Ѕейсик
ѕрограмма
WALRUS (робот - морж)
–обот своими руками
робот
робототехника


¬ернутьс€ в рубрику:

–оботы своими руками


≈сли вы хотите видеть на нашем сайте больше статей то кликните ѕоделитьс€ в социальных сет€х! —пасибо!
—мотрите также:

ќбратите внимание полезна€ информаци€.