Шагающий робот на LaunchPad MSP430

в 16:18, , рубрики: msp430, Электроника для начинающих, метки: ,

Наверняка уже давно все, кто хотел получить свою плату LaunchPad, её получили после заказа с магазина TI. Вот и я получил эту плату. В данной статье будет разобран пример использования платы в виде простого шагающего робота на двух сервомоторах.

Шагающий робот на LaunchPad MSP430

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

Ноги

Ноги робота я сделал из металлических шпилек, металл в меру мягкий и поэтому с ним легко работать. Сначала распрямляем шпильку и потом изгибаем как требуется. Я использовал такую форму:

Шагающий робот на LaunchPad MSP430

Добавляем резинки на края ног, чтобы они не проскальзывали:

image

И крепим на сервомотор:

Шагающий робот на LaunchPad MSP430

Сервомотор используется самый популярный — 9-граммовый с HobbyKing:

image

Повторяем для задней части.

Корпус

Заранее извиняюсь за рваные края, синюю изоленту и кривое исполнение

Делался из потолочной плитки, примерная развертка:
Шагающий робот на LaunchPad MSP430

В отверстия вставляются сервомоторы, в итоге получаем:
Шагающий робот на LaunchPad MSP430

Питание

Для платы LaunchPad максимальное входное напряжение — 3.6 вольт, никакого регулятора напряжения нет, а напряжением на сервомоторах может быть от 3 до 6 вольт. Из того что было слепил питание по следующей схеме:
Шагающий робот на LaunchPad MSP430

Получился такой комок с проводами:
Шагающий робот на LaunchPad MSP430

Код

Для работы с сервомоторами подключаем канал сигнала (обычно, белый или желтый) к выводу платы, я выбрал следующие выводы:
Шагающий робот на LaunchPad MSP430

А черные и красный провод — соответственно подключаем к выводам питания от батареек.

Код очень простой, манипулируем двумя сервами из готовой библиотеки. Можно скомпилировать и загрузить на микроконтроллер с помощью Energia. За основу взят код от Arduino.

Открыть

#include <Servo.h>
Servo frontservo,backservo;
char forward[] = {60,100,100,100,100,60,60,60};
void setup()
{
  frontservo.attach(P2_4);
  backservo.attach(P2_3);
}
void loop()
{
  for(int n=0;n<4;n++)
{
  frontservo.write(forward[2*n]);
  backservo.write(forward[(2*n)+1]);
  delay(200);
}

}

В итоге получаем шагающую конструкцию, где вы можете изменять скорость изменением задержки.

К сожалению, робот не дожил до записи видео, батарейки разрядились и теперь сервы только дрыгаются, но вы можете посмотреть на другие похожие проекты:

Итог

После всех манипуляций мы получили небольшой опыт в постройке движущихся роботов, узнали как сделать внешнее питание для LaunchPad и как работать с сервомоторами из MSP430.

Автор: lukaville

Поделиться

* - обязательные к заполнению поля