RSS блога
Подписка
Мое первое знакомство с Arduino.
- Цена: $10.99
- Перейти в магазин
В какой-то момент жизни я осознал, что темное пятно в понимании микроконтроллеров не дает мне жить спокойной размеренной жизнью. При этом я был уверен, что времени выделить на это занятие много не получится и поэтому мой выбор пал на Arduino, который позволяет абстрагироваться от схемотехники и заняться простым макетированием и программированием конечных устройств.
Немного изучив представленную во всемирной паутине информацию, было принято решение сделать первые покупки. Мои первые впечатления от погружения в этот мир описаны под катом.
Вместо пролога
Тема использования Arduino глубоко раскрыта в статьях уважаемых участников форума Spc, Sanja и Bim_Sony. Данная статья не претендует на полноту описания, но показывает опыт человека, никоим образом ранее не сталкивавшегося ни с электроникой, ни с микро контролерами в частности.
Отчетливо понимая, что мир микроконтроллеров не начинается с Arduino и то, что данная платформа скроет от меня многие премудрости работы с ними (равно как и уберет многие грабли для начинающего) я запасаюсь терпением и желанием открыть для себя что-то, что окружает ежедневно, но спрятано за стеной непонимания, а скорее просто не заметно глазу.
Первым шагом стала покупка Arduino Duemilanove. Почему именно эта модель? Абсолютно спонтанное решение — просто подвернулась в списке новинок магазина.
После получения посылки ждать пока появится свободное время уже не было сил. Пришлось немного перекроить свой график с тем, чтобы изыскать время на новое увлечение.
Вооружившись терпением я сел изучать туториалы. Все оказалось не сложно и вдоволь наигравшись миганием светодиодов было решено пойти немного далее.
Кстати, забегая вперед скажу, что под Ubuntu среда разработки видеть плату без бубна не захотела — пункт последовательный порт не был активен в меню «Сервис». Решение подсказал гугл.
Следующим шагом стала покупка платформы с четырьмя моторами, и motor driver shield.
Количество моторов: 4
Количество колес: 4
Цвет: черный или прозрачный
Крепления: платформа содержит множество отверстий, предназначенных для крепления датчиков, кроме того возле каждого колеса есть посадочное место под датчик прерывания (для получения обратной связи по скорости вращения колеса)
Motor Shield – силовой модуль управления двигателями для микроконтроллеров серии Freeduino/Arduino. Модуль предназначен для упрощения разработки моторизированных и робототехнических устройств.
Технические возможности позволяют реализовать разнообразные проекты, связанные с подключением и управлением слаботочными двигателями следующих типов:
* четырёх двигателей постоянного тока (DC motors);
* двух шаговых двигателей униполярных или биполярных с одинарной или * двойной обмоткой (stepper motors);
* двух 5В сервоприводов.
Технические характеристики
напряжение питания: +7...+ 24 В;
количество силовых каналов: 4;
максимально-продолжительный ток каждого канала: 0,6 А;
напряжение питания сервоприводов: 5 В;
возможность реверса каждого двигателя;
возможность независимого управления каждым каналом;
Отверстия на платформе оказались не приспособленными для крепления Arduino-подобных, но это не смутило. Вооружившись стяжками удалось закрепить на ней Duemilanove, поверх которого тут же был водружен motor shield:
Еще одним неприятным моментом стало отсутствие припаянных проводов к моторам. Пришлось потратить какое-то время на лужение и припаивание проводов из тех что были в наличии.
Процесс сборки шасси детально проиллюстрированный в инструкции не вызвал вопросов и через 15 минут моя, пока еще не самоходная, тележка была готова.
Чтобы закончить с материальной составляющей, осталось лишь обеспечить питание для моторов. Источником, по-началу, была выбрана сборка из четырех элементов AAA:
Но такого запаса хватало не на долго и немного позже была добавлена сборка из 6 AA элементов, которая в отличии от первой не имела кнопки включения/выключения, поэтому в разрез плюсового проводника был вставлен переключатель:
Обе батареи решил оставить для чистоты эксперимента — разделить по питанию Ардуино и мотор шилд и оценить разницу.
Осталось вдохнуть в ардуино немного жизни — написать скетч, управляющий моторами. Для старта была выбрана библиотека AFMotor и пример работы с моторами.
Для начала решил, что будет достаточно, чтобы новоиспеченная машинка поездила в различных направлениях и вернулась на место старта. Небольшой особенностью данного шасси является отсутствие рулевого механизма, следовательно поворачивать пришлось вращая левую и правую пары колес в разных направлениях.
После компиляции и заливки в Ардуино машинка прошла боевое крещение:
И даже вызвала интерес у домашнего любимца:
Эпилог
К моменту написания статьи на импорте отметилась посылка с рядом датчиков, среди которых: ультразвуковые дальномеры, ИК дальномеры, датчики обхода препятствий и sensor shield для удобного подключения всего вышеперечисленного. Кроме этого были заказаны 2 радио модуля для беспроводного управления платформой. Так что веселое времяпрепровождение мне обеспечено еще на долго.
Резюме
По мере знакомства с миром Arduino пришло понимание, что затягивать меня стало все больше и больше, причем не только с точки зрения готового автомата и его программирования, но и с точки зрения физики протекающих в нем процессов и схемотехники. Прощаясь с читателями и своим свободным временем скажу, что Arduino заслуживает внимания в качестве увлекательного хобби.
Плюсы:
Огромное комьюнити, тонны видео и статей
Открытая архитектура
Легкое макетирование
Минусы:
Цена некоторых шилдов кусается.
Upd: Магазин снизил цену с $13.49 до $10.99
Немного изучив представленную во всемирной паутине информацию, было принято решение сделать первые покупки. Мои первые впечатления от погружения в этот мир описаны под катом.
Вместо пролога
Тема использования Arduino глубоко раскрыта в статьях уважаемых участников форума Spc, Sanja и Bim_Sony. Данная статья не претендует на полноту описания, но показывает опыт человека, никоим образом ранее не сталкивавшегося ни с электроникой, ни с микро контролерами в частности.
Отчетливо понимая, что мир микроконтроллеров не начинается с Arduino и то, что данная платформа скроет от меня многие премудрости работы с ними (равно как и уберет многие грабли для начинающего) я запасаюсь терпением и желанием открыть для себя что-то, что окружает ежедневно, но спрятано за стеной непонимания, а скорее просто не заметно глазу.
Первым шагом стала покупка Arduino Duemilanove. Почему именно эта модель? Абсолютно спонтанное решение — просто подвернулась в списке новинок магазина.
Техническая информация
Микроконтроллер: ATmega168
Рабочее напряжение 5 В
Входное напряжение (рекомендуемое) 7-12 В
Входное напряжение (предельное) 6-20 В
Цифровые Входы/Выходы 14 (6 из которых могут использоваться как выходы ШИМ)
Аналоговые входы 6
Постоянный ток через вход/выход 40 мА
Постоянный ток для вывода 3.3 В 50 мА
Флеш-память 16 Кб (ATmega168) или 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика
ОЗУ 1 Кб (ATmega168) или 2 Кб (ATmega328)
EEPROM 512 байт (ATmega168) или 1 Кб (ATmega328)
Тактовая частота 16 МГц
Рабочее напряжение 5 В
Входное напряжение (рекомендуемое) 7-12 В
Входное напряжение (предельное) 6-20 В
Цифровые Входы/Выходы 14 (6 из которых могут использоваться как выходы ШИМ)
Аналоговые входы 6
Постоянный ток через вход/выход 40 мА
Постоянный ток для вывода 3.3 В 50 мА
Флеш-память 16 Кб (ATmega168) или 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика
ОЗУ 1 Кб (ATmega168) или 2 Кб (ATmega328)
EEPROM 512 байт (ATmega168) или 1 Кб (ATmega328)
Тактовая частота 16 МГц
После получения посылки ждать пока появится свободное время уже не было сил. Пришлось немного перекроить свой график с тем, чтобы изыскать время на новое увлечение.
Вооружившись терпением я сел изучать туториалы. Все оказалось не сложно и вдоволь наигравшись миганием светодиодов было решено пойти немного далее.
Ссылки для начинающих
Кстати, забегая вперед скажу, что под Ubuntu среда разработки видеть плату без бубна не захотела — пункт последовательный порт не был активен в меню «Сервис». Решение подсказал гугл.
Следующим шагом стала покупка платформы с четырьмя моторами, и motor driver shield.
Дополнительная информация о шасси
Количество моторов: 4
Количество колес: 4
Цвет: черный или прозрачный
Крепления: платформа содержит множество отверстий, предназначенных для крепления датчиков, кроме того возле каждого колеса есть посадочное место под датчик прерывания (для получения обратной связи по скорости вращения колеса)
Дополнительная информация о LM293D
Motor Shield – силовой модуль управления двигателями для микроконтроллеров серии Freeduino/Arduino. Модуль предназначен для упрощения разработки моторизированных и робототехнических устройств.
Технические возможности позволяют реализовать разнообразные проекты, связанные с подключением и управлением слаботочными двигателями следующих типов:
* четырёх двигателей постоянного тока (DC motors);
* двух шаговых двигателей униполярных или биполярных с одинарной или * двойной обмоткой (stepper motors);
* двух 5В сервоприводов.
Технические характеристики
напряжение питания: +7...+ 24 В;
количество силовых каналов: 4;
максимально-продолжительный ток каждого канала: 0,6 А;
напряжение питания сервоприводов: 5 В;
возможность реверса каждого двигателя;
возможность независимого управления каждым каналом;
Отверстия на платформе оказались не приспособленными для крепления Arduino-подобных, но это не смутило. Вооружившись стяжками удалось закрепить на ней Duemilanove, поверх которого тут же был водружен motor shield:
Еще одним неприятным моментом стало отсутствие припаянных проводов к моторам. Пришлось потратить какое-то время на лужение и припаивание проводов из тех что были в наличии.
Совет
Возможно имеет смысл скручивать провода питающие мотор в витую пару для того, чтобы исключить наводки токов протекающих в проводниках на микроконтроллер.
Процесс сборки шасси детально проиллюстрированный в инструкции не вызвал вопросов и через 15 минут моя, пока еще не самоходная, тележка была готова.
Совет
Мне, как новичку, показалось удобным на этапе сборки платформы пронумеровать пары проводов и сами моторы, чтобы не путаться в дальнейшем при написании кода.
Моторы:
И пары проводов:
Кроме того, чтобы не путать полярность при отключении проводов от моторов, плюсовые провода и зажимные контакты шилда были также помечены красным маркером:
Конечно, если вы будете использовать провода разных цветов, помечать провода не имеет смысла. Мне же было удобно, так как все использованные мною провода были черного цвета.
Моторы:
И пары проводов:
Кроме того, чтобы не путать полярность при отключении проводов от моторов, плюсовые провода и зажимные контакты шилда были также помечены красным маркером:
Конечно, если вы будете использовать провода разных цветов, помечать провода не имеет смысла. Мне же было удобно, так как все использованные мною провода были черного цвета.
Чтобы закончить с материальной составляющей, осталось лишь обеспечить питание для моторов. Источником, по-началу, была выбрана сборка из четырех элементов AAA:
Но такого запаса хватало не на долго и немного позже была добавлена сборка из 6 AA элементов, которая в отличии от первой не имела кнопки включения/выключения, поэтому в разрез плюсового проводника был вставлен переключатель:
Обе батареи решил оставить для чистоты эксперимента — разделить по питанию Ардуино и мотор шилд и оценить разницу.
Справка
Для написания кода (т.н. скетчей) используется одноименная среда разработки "Arduino IDE".
Осталось вдохнуть в ардуино немного жизни — написать скетч, управляющий моторами. Для старта была выбрана библиотека AFMotor и пример работы с моторами.
Для начала решил, что будет достаточно, чтобы новоиспеченная машинка поездила в различных направлениях и вернулась на место старта. Небольшой особенностью данного шасси является отсутствие рулевого механизма, следовательно поворачивать пришлось вращая левую и правую пары колес в разных направлениях.
Код скетча
#include <AFMotor.h>
#define MAX_SPEED 255 // Maximum motor speed
#define LEFT 33
#define RIGHT 44
#define TURN_TIME 660
//Создаем объекты для двигателей
AF_DCMotor frontLeftMotor(1); //канал М1 - передний левый
AF_DCMotor frontRightMotor(2); //канал М2 - передний правый
AF_DCMotor rearLeftMotor(3); //канал М3 - задний левый
AF_DCMotor rearRightMotor(4); //канал М4 - задний правый
void setup() {}
void setSpeed(int newSpeed) {
frontLeftMotor.setSpeed(newSpeed);
rearLeftMotor.setSpeed(newSpeed);
frontRightMotor.setSpeed(newSpeed);
rearRightMotor.setSpeed(newSpeed);
}
void turn(int dir) {
switch(dir) {
case LEFT:
frontLeftMotor.run(BACKWARD);
rearLeftMotor.run(BACKWARD);
frontRightMotor.run(FORWARD);
rearRightMotor.run(FORWARD);
break;
case RIGHT:
frontLeftMotor.run(FORWARD);
rearLeftMotor.run(FORWARD);
frontRightMotor.run(BACKWARD);
rearRightMotor.run(BACKWARD);
break;
default:
break;
}
delay(TURN_TIME);
}
void move(int dir) {
switch (dir) {
case FORWARD:
frontLeftMotor.run(FORWARD);
rearLeftMotor.run(FORWARD);
frontRightMotor.run(FORWARD);
rearRightMotor.run(FORWARD);
break;
case BACKWARD:
frontLeftMotor.run(BACKWARD);
rearLeftMotor.run(BACKWARD);
frontRightMotor.run(BACKWARD);
rearRightMotor.run(BACKWARD);
break;
default:
frontLeftMotor.run(RELEASE);
rearLeftMotor.run(RELEASE);
frontRightMotor.run(RELEASE);
rearRightMotor.run(RELEASE);
}
delay(500);
}
void loop() {
setSpeed(MAX_SPEED);
move(FORWARD);
turn(RIGHT);
move(FORWARD);
move(BACKWARD);
delay(500);
turn(RIGHT);
move(FORWARD);
turn(LEFT);
move(FORWARD);
delay(80);
turn(LEFT);
move(RELEASE);
delay(9500);
}
После компиляции и заливки в Ардуино машинка прошла боевое крещение:
И даже вызвала интерес у домашнего любимца:
И напоследок несколько фото агрегата.
Эпилог
К моменту написания статьи на импорте отметилась посылка с рядом датчиков, среди которых: ультразвуковые дальномеры, ИК дальномеры, датчики обхода препятствий и sensor shield для удобного подключения всего вышеперечисленного. Кроме этого были заказаны 2 радио модуля для беспроводного управления платформой. Так что веселое времяпрепровождение мне обеспечено еще на долго.
Резюме
По мере знакомства с миром Arduino пришло понимание, что затягивать меня стало все больше и больше, причем не только с точки зрения готового автомата и его программирования, но и с точки зрения физики протекающих в нем процессов и схемотехники. Прощаясь с читателями и своим свободным временем скажу, что Arduino заслуживает внимания в качестве увлекательного хобби.
Плюсы:
Огромное комьюнити, тонны видео и статей
Открытая архитектура
Легкое макетирование
Минусы:
Цена некоторых шилдов кусается.
Upd: Магазин снизил цену с $13.49 до $10.99
Самые обсуждаемые обзоры
+73 |
3651
145
|
+53 |
3820
69
|
+34 |
2897
55
|
Тем более это клон, совместимая плата, а не оригинал.
Проще и дешевле Arduino Uno. Про него и информации в интернете много.
Вполне рабочие платы китайцы менее 9$ пролают
$7.99 с доставкой FedEx прям домой с непередаваемой скоростью!
https://estore.ti.com/Stellaris-LaunchPad.aspx?sp_rid_pod4=MzUyNzgxNzgwNjMS1&sp_mid_pod4=42306888
Из "+" — есть Ардуиноподобносовместимая среда Energia
Из "-" — это TexasInstruments. Ожидайте неожиданного! :)
У STM32 начинается хардкор с настройкой пинов гпио, включения таймеров и прочее внутреннее строение железного программирования. У тексаса есть нечто ардуиноподобное IDE и библиотеки. там просто читаем состояние пина, пишем и не думаем о настройках и прочих параметрах.
А вот зачем вы это всё делали? Можно же купить радиуправляемую машинку в любом магазине) Или эта какая-то особенная получилась? Или она вообще не радиоуправляемая)?
Позвольте спросить а чем вы управляли машинкой? Контролёр шёл вместо с платой? И можно пару ссылок на контролёры?
Спасибо!
Ссылка
А пульт для управления где взять?
Извините за дураЦкие вопросы=)
из описания:
т.е. какова отдаленность ваша была от контроллеров и решились заняться таким хобби?
https://aliexpress.com/item/item/New-tanks-metal-robot-chassis-crawler-robot-crawler-chassis-tracking-car-toy-car/1156336694.html
у продавца несколько моделей
Тут уж моя жаба тоже не даст. Тогда буду по-прежнему смотреть на тамию, там конечно все пластиковое, но комплект в 25 долларов обходится, плюс доставка.
Впрочем, кому я это говорю? Для чайника подсесть на дуину — это как на герыча, неизлечимо! :)
PS К робо-самоходкам не пришел, у мну пока уно цветы поливает, температуру пола держит да отслеживает движение и количество людей в квартире включая свет в комнате куда идешь а не куда зашел. На очереди — шторы…
А то очень интересно))