Главная » Материалы » Робототехника » Знакомство с "Амперкой"

Знакомство с "Амперкой"

Наличием робототехнических конструкторов в школе теперь уже сложно кого-то удивить. Многие школы края давно работают в этом направлении и за счет своих средств, различных грантов и спонсорской помощи приобретают образовательные наборы. К тому же в рамках модернизации системы образования и внедрения ФГОС в каждую школу был поставлен как минимум один конструктор Перво Робот Lego WeDo и учителя начали понемногу осваивать и использовать на уроках новый инструмент обучения. Для учащихся такие занятия всегда интересны и увлекательны.  

Выбор образовательных наборов по робототехнике не так уж и велик. В основном в школе используются два: Lego WeDo для начальной школы и Mindstorm NXT для средней школы. Благодаря компании Интэком в мои руки попал еще один очень интересный набор по робототехнике - «Амперка». Этот замечательный конструктор расчитан на использование в средней и старшей школе, так как предполагает наличие не только навыков простой сборки и программирования, но и наличие определенных знаний в области физики, теории электричества. Сборка робота — это теперь не просто соединение блоков в модель животного или технического устройства, а увлекательный процесс создания из электронных компонентов: резисторов, диодов, датчиков микроконтроллера, проводов и прочих элементов электрической цепи электронного устройства, которое после программирования выполняет задуманные пользователем действия. Робот готов!

С детским восторгом и научным любопытством я перебирала тщательно упакованные детали конструктора. Очень порадовало, что к набору идёт учебник «Основы программирования микроконтроллеров», который доступно рассказывает о том, что такое электричество, электронные устройства и как их использовать при сборке моделей; рассматривается среда разработки и основные команды для программирования.

Пролистав буквально пару страниц учебника, захотелось что-нибудь собрать и посмотреть получится ли.

Для начала необходимо установить среду разработки Arduino IDE. Так как на моём компьютере установлена ОС Ubuntu, мне понадобилось лишь скопировать нужную директорию с установочного диска на свой компьютер и запустить приложение. Однако позднее при попытке скомпилировать код, выяснилось что программе не хватает прав на выполнение. Пришлось немного подправить:

$ cd /home/user //переходим в папку с директорией Arduino IDE
$ sudo chmod -R a+rx ./arduino-1.0.3-32bit //добавляем права на чтение и выполнение для остальных пользователей.

Запускаем Arduino IDE

После этого в среде разработки стало возможным компилировать и загружать программный код в микроконтроллер.

Вдохновившись примером железнодорожного семафора я решила собрать светофор :)

Техническая часть (собираем устройство):

Нам понадобится: микроконтроллер Arduino Uno, макетная плата (бредборд), три светодиода: по одному красного, жёлтого и зелёного цветов, три резистора на 240 Ом и три соединительных провода.

Макетная доска очень удобна, при сборке модели отпадает необходимость в пайке, достаточно разместить необходимое устройство в гнёзда контактов. К тому же модели можно безболезненно собирать и разбирать большое количество раз.

На макетной доске имеются ряды контактов: по два ряда верхних и нижних контактов, обозначенных знаками + и - («рельсы») и два внутренних ряда контактов (я их назвала «шпалы»). В «рельсах» группы контактов соединены проводниками вдоль длинной стороны макетной платы, в «шпалах» поперёк. Очень легко запомнить.

Итак, сначала подключаем к нашей макетной плате устанавливаем три светодиода в гнезда контактов «шпал», так как нам нужно, чтобы контакты не замыкались, устанавливаем их вдоль. Более длинная ножка светодиода подключается обычно к + источника, короткая к — . Теперь нам нужны резисторы на 240 Ом. В наборе имеется два вида резисторов голубого и коричневого цветов. Чтобы определить, какой же из них нам нужен. Можно посчитать значения цветовых маркировочных полосок или проверить с помощью идущего в комплекте мультиметра.

Показывает 238 Ом — то, что нам нужно.

Устанавливаем резисторы одной «ногой» в гнездо ниже короткой ножки светодиода, другой в «минус» на «рельсе».

Подключаем к макетной плате «минус» или «землю» от Arduino. Для этого соединяем проводом «минус» на «рельсе» платы и контакт GND (от англ. «ground» – земля) на плате микроконтроллера.  

Нам осталось соединить «плюс» - более длинную ножку — светодиода с нужным контактом на плате Arduino. Берём соединительный провод и устанавливаем одним концом в гнездо ниже «плюса» светодиода, вторым в пронумерованные гнёзда на микроконтроллере: зеленый в 12 pin, жёлтый в 11, а красный в 10.  

Наше устройство с технической стороны готово!

Теперь переходим к программной части.

Открываем Arduino IDE и вносим следующий программный код:

int pin1 = 10; //задаём переменную pin1 целым числом со значением 10

int pin2 = 11; //задаём переменную pin2 целым числом со значением 11

int pin3 = 12; //задаём переменную pin2 целым числом со значением 11

void setup ()

{

pinMode (pin1, OUTPUT); //указываем, что контакт под номером pin1 будет работать на передачу сигнала

pinMode (pin2, OUTPUT); //указываем, что контакт под номером pin2 будет работать на передачу сигнала

pinMode (pin3, OUTPUT); //указываем, что контакт под номером pin3 будет работать на передачу сигнала

}

void loop ()

/*процедура "петля" будет повторяться, пока будет поступать питание, фигурными

скобками обозначены границы процедуры: начало и конец */

{

//горит красный "Стой!"

digitalWrite (pin1, HIGH); //подаём на контакт под номером pin1 напряжение в 5 В, горит красный

digitalWrite (pin2, LOW); //подаём на контакт под номером pin2 напряжение в 0 В, не горит жёлтый

digitalWrite (pin3, LOW); //подаём на контакт под номером pin3 напряжение в 0 В, не горит зелёный

delay (1500);

 

//горит красный и жёлтый "Внимание!"

digitalWrite (pin1, HIGH); //горит красный светодиод

digitalWrite (pin2, HIGH); //горит желтый светодиод

digitalWrite (pin3, LOW); //зелёный светодиод не горит

delay (1500);

 

//горит зелёный "Едь!"

digitalWrite (pin1, LOW);

digitalWrite (pin2, LOW);

digitalWrite (pin3, HIGH);

delay (1500);

//мигает зелёный - закончи манёвр, действие повторяется 3 раза

//зелёный тухнет на 200 миллисекунд

digitalWrite (pin1, LOW);

digitalWrite (pin2, LOW);

digitalWrite (pin3, LOW);

delay (200);

 

//зелёный горит 300 миллисекунд

digitalWrite (pin1, LOW);

digitalWrite (pin2, LOW);

digitalWrite (pin3, HIGH);

delay (300);

 

//зелёный тухнет на 200 миллисекунд

digitalWrite (pin1, LOW);

digitalWrite (pin2, LOW);

digitalWrite (pin3, LOW);

delay (200);

 

//зелёный горит 300 миллисекунд

digitalWrite (pin1, LOW);

digitalWrite (pin2, LOW);

digitalWrite (pin3, HIGH);

delay (300);

 

//зелёный тухнет на 200 миллисекунд

digitalWrite (pin1, LOW);

digitalWrite (pin2, LOW);

digitalWrite (pin3, LOW);

delay (200);

 

//зелёный горит 300 миллисекунд

digitalWrite (pin1, LOW);

digitalWrite (pin2, LOW);

digitalWrite (pin3, HIGH);

delay (300);

}

Щелкаем кнопку "Проверить", и если в Вашем коде нет ошибок, компиляция пройдет успешно. Далее загружаем скетч в контроллер и наблюдаем за работой светофора.   

 

Дмитриева Т.Н.
заместитель директора по ИКТ
МБОУ СОШ №15 г. Славгород.