Программирование ардуино: используем scratch и mblock

Программируем mBot в Arduino IDE: управление DC-моторами

Сергей Косаченко, учитель Томского физико-технического лицея, протестировал робототехнический конструктор Makeblock mBot Educational Robot Kit и рассказывает об особенностях управления моторами.

Мне попал в руки на тестирование робототехнический набор Makeblock mBot Educational Robot Kit. Робот уже был собран, поэтому мне интересно было изучить, как он программируется, чтобы прикинуть как с ним можно выстроить учебные занятия по образовательной робототехнике для школьников.

Характеристики Makeblock mBot Educational Robot Kit:

  • Среда программирования: Arduino IDE, mBlock (Mac OS, Windows, Linux*), mBlockly for mBot (iPad).
  • Устройства ввода: датчик света (Light sensor), кнопка (button), инфракрасный приемник (infrared receiver), ультразвоковой дальномер (ultrasonic sensor), датчик линии (line follower).
  • Устройства вывода: пьезопищалка (buzzer), RGB-светодиоды (RGB LED), инфракрасный передатчик (infrared transmitter), 2 порта для моторов (two motor ports).
  • Микроконтроллер: ATmega328, Arduino UNO-совместимый.
  • Питание: 4 AA батарейки по 1,5 Вольт.
  • Беспроводная связь: Bluetooth.
  • Размеры: 17 х 13 х 9 см.
  • Масса: 500 грамм.

Поскольку дома работаю на Ubuntu Linux, то первым делом начал установку mBlock с сайта http://www.mblock.cc/download/ (установочный deb-пакет).

Установить среду под Linux получилось, но вот загрузить в робота простую тестовую программу сходу не удалось.

Ну, хорошо, попробуем программировать робота в Arduino IDE. Обзор информации и готовых проектов на ресурсах, посвященных Makeblock, привел к пониманию, что для упрощения программирования требуется специальная библиотека, и такая библиотека на просторах интернета была найдена. Приятно, что Makeblock придерживается философии OpenSource!

Скачал библиотеку по ссылке https://github.com/Makeblock-official/Makeblock-Libraries

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

Пример 1. Работа с моторами

Скорость вращения моторами на mBot варьируется в диапазоне от -255 до 255, причем от знака «+» или «-» числового значения скорости зависит направление вращения двигателем.

Если «+» — вращение DC-мотора по часовой стрелке, если смотреть на колесо, прикрепленное к валу двигателя. А если «-», то вращение против часовой стрелки.

Учтем это при написании скетча для mBota: двигатели развернуты друг относительно друга на 180 градусов, поэтому, если нам нужно, чтобы робот двигался вперед, то для левого мотора нужно подать отрицательное значение скорости, а для правого — положительное.

Моторы в комплекте mBot без энкодеров, поэтому программировать маневры можно по таймингу (по времени).

Попробуем написать самый простой скетч, исполняя который робот mBot двигался бы по квадрату. Для этого в процедуре loop() нужно, чтобы робот двигался некоторое время вперед, затем поворачивался бы на 90 градусов. Эти два действия робот и будет повторять в цикле loop().

Ниже приведен данный скетч:/* Робот mBot движется по квадрату (c) Sergey Kosachenko */ //подключаем библиотеку Makeblock #include “MeOrion.

h” //определяем двигатели MeDCMotor motorLeft(M1); //левый двигатель MeDCMotor motorRight(M2); //правый двигатель uint8_t motorSpeed = 100; void setup() { } void loop() { //вперед левый мотор motorLeft.run(-motorSpeed); //вперед правый мотор motorRight.

run(motorSpeed); delay(2000); //2 секунды робот едет вперед //стоп моторы! motorLeft.stop(); motorRight.stop(); delay(100); // подождем 0,1 секунды пока робот остановится //поворот налево примерно на 90 градусов на месте motorLeft.run(motorSpeed); //левый мотор назад motorRight.

run(motorSpeed); //правый мотор вперед //время для поворота подбирается экспериментально //и сильно зависит от поверхности, по которой ездит робот delay(700); //стоп моторы! motorLeft.stop(); motorRight.stop(); delay(500); // подождем 0,5 секунды пока робот остановится }

Чтобы загрузить скетч в контроллер mBot, нужно подключить к нему USB-шнур и включить питание. Затем кликаем по кнопке Загрузить.

После загрузки скетча робот сразу же начнет движение, поэтому придерживайте mBot’а на весу. Если у вас робот осуществляет поворот не точно на 90 градусов, то нужно экспериментально подобрать время поворота.

Оно сильно зависит от поверхности, по которой ездит робот и заряда батареек.

Кстати, о батарейках! Блок питания на 4 элемента питания формата AA по 1,5 Вольт (в быту их называют «пальчиковыми батарейками») надежно крепится на «липучке» под контроллером, но часто доставать его для замены батареек или зарядки аккумуляторов не очень удобно.

Лайфхак: чтобы батарейки были легкодоступны и не падали, можно закрепить их канцелярской резинкой на крыше робота.

Источник: robotomsk.blogspot.ru.

Источник: http://edurobots.ru/2017/10/mbot-dc-motor/

Соединяем Scratch и Arduino

Мы выполнили все пункты: от А до Б.

Виктор Черномырдин

Сначала немного о том, как вообще работает Scratch для Arduino.

Arduino – это контроллер, вся задача которого сводится к тому, чтобы подавать питание на пины (контакты) платы или снимать с них сигнал. Что и куда подавать, что делать с полученным сигналом – определяется программой, выполняющейся на микроконтроллере. (Нет, я вас не гружу, это действительно важно для понимания.)

Данные для контроллера можно не только получать от датчиков, но и передавать с обычного компьютера, подключив плату кабелем USB. Так же точно обратно на комп можно передавать данные с Arduino.

Программа для Arduino пишется на языке C++ (си-плюс-плюс), затем компилируется, то есть переводится в понятный контроллеру вид, загружается в контроллер, выполняется. В случае Arduino такая программа называется “скетч”. Для того, чтобы такие программы писать, компилировать и загружать, используется специальное программное обеспечение.

Мы его установим. Из всего многообразия нам будет нужна плата Arduino UNO. Теоретически может подойти любая плата из семейства Arduino, но программное обеспечение Scratch for Arduino гарантированно работает только с Arduino Diecimila, Duemilanove и Uno. Выбор в пользу “флагмана” Uno – очевиден.

🙂

Scratch – визуальная и немножко “игрушечная” среда программирования, то есть большую взрослую программу написать в ней не получится (хотя вы можете попробовать, а вдруг?).

Scratch существует в разных видах, от он-лайн вариантов, до обычных локально выполняющихся программ для PC, Mac, Android и т.п.

Нам понадобится S4A – специальный вариант Scratch for Arduino. Его мы тоже установим.

Чтобы все заработало, нам нужен будет еще специальный скетч для Arduino. Его, как вы догадались, мы тоже установим. Далее инструкция, как это сделать.

Можете также посмотреть первоисточник S4A.cat, но там все чуть менее подробно расписано. Зато там есть небольшой FAQ, к которому можно обратиться в случае возникновения проблем.

Для начала по ссылочке идем качать Arduino IDE. Находим вариант для своей операционной системы, качаем, ставим. Никаких проблем возникнуть не должно. Одновременно установятся все необходимые драйвера. Подключаем плату Arduino USB-кабелем к компьютеру, запускаем программу Arduino. Видим вот такое окно.

Для начала нужно выбрать тип нашей платы и COM-порт, на который она “встала”.Далее проверим работоспособность платы и всего этого программно-аппаратного добра. Открываем пример “Blink”.И нажимаем кнопку “Загрузка” – это кнопка, на которой нарисована стрелка вправо, если что.

После того как пример скомпилируется и загрузится, на плате начнет мигать светодиод (кстати, присоединенный к 13 пину) с интервалом в 1 секунду. Если это произошло, значит плата работает, и программное обеспечение к ней тоже работает. Если что-то пошло не так – то, скорее всего, у вас неправильно указан тип платы или порт. Поправьте.

Если вообще ничего не получается – значит, не повезло лично вам, и надо гуглить решение проблемы. 🙂 Или обратитесь к материалам по работе с Arduino, например сайту arduino.ru.

Пока неудачники гуглят, мы продолжим с теми, у кого всё ОК. Теперь, чтобы, как говорится, два раза не вставать, сразу и закачаем в плату тот самый скетч, который поженит ее со Скретчем.

Прямо по этой ссылке скачиваем файл S4AFirmware16.ino. Открываем его в Arduino IDE (Файл > Открыть), нажимаем кнопку “Загрузка”. Через некоторое время скетч загрузится в плату контроллера, и все будет ОК.

Arduino готов к Скретчу.

Загруженный скетч остается в памяти контроллера после отключения питания, пребудет там и ныне и присно и во веки веков, или пока вы не загрузите вместо него что-то другое. Тут вообще все просто. Скачиваете S4A для Windows или находите на сайте s4a.cat версию для вашей операционной системы. Устанавливаете. Запускаете.

После запуска некоторое время будете видна табличка “поиск платы”, а потом плата найдется. (Если у вас что-то не работает – начните поиск решения проблемы с сайта S4A.cat.)Особенность этого варианта Scratch в том, что здесь кроме обычных спрайтов (объектов), есть так же объекты Arduino, у которых доступны функции управления платой.

Вы видите такой объект в виде рисунка платы на скриншоте (и увидите его при запуске программы). Также видна панель сенсоров, на которой отображаются данные от аналоговых и цифровых входов. А уже все соединилось само собой. Смотрите. У нас есть плата Arduino, подключенная USB-кабелем к компьютеру.

В плату “залит” специальный скетч, благодаря которому с ней может взаимодействовать S4A. Сам Scratch запущен и уже “нашел” плату контроллера. Давайте проверим работоспособность всего комплекса, снова помигав встроенным на плату светодиодом на 13 пине. Для этого соберем такую вот простую программку.Запускаем.

Если светодиод на плате замигал (а он, скорее всего, замигал) – значит, все ОК.

Теперь можете создавать свои прекрасные и интересные программы с использованием контроллера!

Источник: http://zaprog.blogspot.com/2018/04/scratch-arduino.html

mBot – робот для обучения программированию и робототехнике

mBot — это интересный набор для построения небольшого робота, от команды Makeblock. Конструктор призван научить детей основам программирования, электроники и робототехники.

Читайте также:  Домашний погодный виджет с помощью arduino и raspberry

Проект успешно стартовал на кикстартере, представив двухколёсного робота на базе надёжной платформы из анодированного алюминия, которая совместима с конструкторами Makeblock и LEGO.

Электроника mBot состоит из базовой платы mCore, которая создана на базе контроллера Arduino и двух датчиков — ультразвукового датчика препятствий и инфракрасного датчика линии.
На плате mCore уже установлены: * датчик освещённости, * два RGB-светодиода, * бузер, * инфракрасный приёмник и передатчик, * драйвер двигателей,

* 4 разъема RJ25 (с цветовой кодировкой) — для подключения дополнительных датчиков.

Весь набор mBot состоит всего из 45 деталей.По прилагаемой инструкции, ребёнок сможет собрать платформу за 10 минут.

Видео сборки робота mBot:

Для робота mBot, можно выбрать среду программирования: это может быть либо обычная Arduino IDE или визуальная объектно-ориентированная среда программирования mBlock.
Робот программируется через USB кабель или Bluetooth. Управлять роботом, можно по Bluetooth через мобильное приложение mBot (доступно для iOS и Android) или входящим в комплект ИК-пультом.

Программирование робота mBot при помощи mBlock — танцующий робот

mBot: избегание препятствий и края стола

mBot: как использовать 2.4GHz-модуль и Bluetooth

Makeblock mBot: режим следования по линии

Совместимость с конструкторами Makeblock и LEGO, а также с одноплатным компьютером Raspberry Pi и стандартным Arduino, позволяет собрать на базе mBot какого-нибудь по-настоящему уникального робота.

Робот mBot с установленной Raspberry Pi и web-камерой:

mBot создан не только для обучения, но и для творчества и развлечения. Робота можно использовать в разных играх — например: футбол, сумо и т.п.Работа с mBot, объединяет в себе естественнонаучные дисциплины, математику и основы инженерных знаний (STEM — Science, Technology, Engineering, Mathematics — наука, технология, инженерия, математика). Это идеальный выбор не только для школ и «кружков», но и для дома.
Купить робота mBot можно в магазине.

Ссылки

mBot: $49 educational robot for each kid
Review: Makeblock mBot (Bluetooth version)
mBlock
Руководства mBot
Курс по mBot
How to use Scratch or Arduino to program a mBot with Makeblock
Map with cardboard overpass for line follower robot
mBot robot kit: 3rd part of review. Programming the robot
mBot plus: artificial vision via Raspberry Pi

По теме

Finch — робот учебное пособие
Robotino — робот для обучения

Источник: http://robocraft.ru/blog/robots/3454.html

Arduino: Программирование без программирования — DRIVE2

На сегодняшний день Ардуино является одним из самых простых способов освоить микроконтроллеры: благодаря простому интерфейсу, простоте (можно сказать даже примитивности) “языка Ардуино” программирование микроконтроллеров становится доступно даже школьникам.

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

Итак встречаем: Scratch, ArduBloсk и FLProg — три попытки сделать так, чтобы программирование стало доступно даже дошкольникам 🙂

Scratch
Страница проекта — s4a.cat/В 2003 году группа исследователей под руководством Митчела Резника из MIT Media Lab решила сделать общедоступный язык программирования. В результате через 4 года появился Scratch — “среда для обучения школьников программированию”.

В этой среде можно создавать и играть с различными объектами, видоизменять их вид, перемещать их по экрану, устанавливать формы взаимодействия между ними.

Это объектно-ориентированная среда, в основе которой лежит принцип конструктора LEGO и в которой программы собираются из разноцветных блоков-кирпичиков команд точно так же, как собираются из разноцветных кирпичиков конструкторы Лего.

Среда русифицирована, для нее есть много инструкций и руководств на русском языке. Проекты, создаваемые в Scratch, выкладываются на сайте проекта scratch.mit.edu/, все они доступны для скачивания и использования. Среда доступна для работы ребенка с раннего возраста, немного умеющего читать и пользоваться мышью.

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

Конечно, у Scratch отсутствует масса функций реального языка программирования, но и имеющихся достаточно для создания довольно сложных программ и игр.

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

В 2008 году появился проект Scratch для Arduino (в оригинале: Scratch For Arduino или сокращённо — S4A) — это модификация Scratch, которая предоставляет возможность простого визуального программирования контроллера Arduino, а так же содержит новые блоки для управления датчиками и исполнительными механизмами, подключаемыми к Arduino.

S4A представляет собой скетч прошивки s4a.cat/downloads/S4AFirmware15.ino, которая загружается в Ардуино, делает его исполнительным устройством, программа выполняется на компьютере, Ардуино её физически выполняет, передавая сигналы на выходы платы. Ардуино в этом случае через Serial-соединение получает от Скретча команды какие порты в какой уровень установить и передает на ПК измеренные уровни с входов.

Более подробно можно узнать либо на странице проекта, либо посмотрев видео от Амперки — www.youtube.com/playlist?…OzZQGDFdoRfldtqbmNU6a-PIp

ArduBloсk
Страница проекта -blog.ardublock.com/Имен разработчиков и их локализации мне найти не удалось, но данный проект активно продвигается разработчиком плат sparkfun, поэтому ИМХО это их проект.

Ardublock это графический язык программирования для Arduino, предназначенный для непрограммистов и простой в использовании. В отличии от Скретча ArduBloсk встраивается в среду Arduino IDE и генерит программый скетч, загружаемый в МК.

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

Среди руссоязычного сообщества проект известен благодаря учителю-энтузиасту из Лабинска Александру Сергеевичу Аликину — geektimes.ru/post/258834/

FLProg
Страница проекта — flprog.ru/
Проект развивается силами одного человека — Сергея Глушенко. Основная идея заключается в том, чтобы адаптировать применяющиеся в области программирования промышленных контроллеров языки FBD и LAD к Ардуино.

FBD (Function Block Diagram) — графический язык программирования стандарта МЭК 61131-3. Программа образуется из списка цепей, выполняемых последовательно сверху вниз. При программировании используются наборы библиотечных блоков.

Блок (элемент) — это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.). Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов. К выходу блока подключается следующий блок, образуя цепь.

Внутри цепи блоки выполняются строго в порядке их соединения. Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход контроллера.

Ladder Diagram (LD, LAD, РКС) — язык релейной (лестничной) логики. Синтаксис языка удобен для замены логических схем, выполненных на релейной технике. Ориентирован на инженеров по автоматизации, работающих на промышленных предприятиях.

Обеспечивает наглядный интерфейс логики работы контроллера, облегчающий не только задачи собственно программирования и ввода в эксплуатацию, но и быстрый поиск неполадок в подключаемом к контроллеру оборудовании.

Программа на языке релейной логики имеет наглядный и интуитивно понятный инженерам-электрикам графический интерфейс, представляющий логические операции, как электрическую цепь с замкнутыми и разомкнутыми контактами.

Протекание или отсутствие тока в этой цепи соответствует результату логической операции (истина — если ток течет; ложь — если ток не течет). Основными элементами языка являются контакты, которые можно образно уподобить паре контактов реле или кнопки.

Пара контактов отождествляется с логической переменной, а состояние этой пары — со значением переменной. Различаются нормально замкнутые и нормально разомкнутые контактные элементы, которые можно сопоставить с нормально замкнутыми и нормально разомкнутыми кнопками в электрических цепях.
Результатом работы FLProg является конечный код, который может быть подгружен в МК.

Это не все проекты, позволяющие реализовать визуальный способ программирования. Есть и другие — возможно лучшие и более прогрессивные, но менее известные.

Источник: https://www.drive2.ru/b/2729013/

  • Робототехника и конструирование Конструкторы и робототехника для ДОУ от различных производителей.
  • Методическая литература В данном разделе собрана полезная методическая литература как для педагогов, так и для руководителей дошкольных учреждений.

    • Ясли В данном разделе собрана полезная методическая литература как для педагогов, так и для руководителей дошкольных учреждений.
    • Дошкольное образование В данном разделе собрана полезная методическая литература как для педагогов, так и для руководителей дошкольных учреждений.
    • Начальное общее образование В данном разделе собрана полезная методическая литература как для педагогов, так и для руководителей дошкольных учреждений.
    • Основное и среднее образование В данном разделе собрана методическая литература по робототехнике для средней школы. Литература по робототехнике облегчит вхождение Ваше и Вашего ребёнка в мир робототехники и программирования.
    • Общая литература В данном разделе собрана полезная методическая литература как для педагогов, так и для руководителей дошкольных учреждений.

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

  • Еще Продажа моделей самолётов, вертолётов, автомобилей, катеров, танков и др. Подбор по бренду, типу двигателя, масштабу и цене. Условия доставки и оплаты.
    • Развивающая и коррекционная среда ДОО Продажа моделей самолётов, вертолётов, автомобилей, катеров, танков и др. Подбор по бренду, типу двигателя, масштабу и цене. Условия доставки и оплаты.
    • 3D принтеры и 3D сканеры Продажа моделей самолётов, вертолётов, автомобилей, катеров, танков и др. Подбор по бренду, типу двигателя, масштабу и цене. Условия доставки и оплаты.
    • Новинки Продажа моделей самолётов, вертолётов, автомобилей, катеров, танков и др. Подбор по бренду, типу двигателя, масштабу и цене. Условия доставки и оплаты.
    • Технопарки Продажа моделей самолётов, вертолётов, автомобилей, катеров, танков и др. Подбор по бренду, типу двигателя, масштабу и цене. Условия доставки и оплаты.
    • Алгоритмика Продажа моделей самолётов, вертолётов, автомобилей, катеров, танков и др. Подбор по бренду, типу двигателя, масштабу и цене. Условия доставки и оплаты.
    • Готовые кабинеты Продажа моделей самолётов, вертолётов, автомобилей, катеров, танков и др. Подбор по бренду, типу двигателя, масштабу и цене. Условия доставки и оплаты.
    • Дошкольное образование Продажа моделей самолётов, вертолётов, автомобилей, катеров, танков и др. Подбор по бренду, типу двигателя, масштабу и цене. Условия доставки и оплаты.
    • Курсы повышения квалификации Продажа моделей самолётов, вертолётов, автомобилей, катеров, танков и др. Подбор по бренду, типу двигателя, масштабу и цене. Условия доставки и оплаты.
    • Познавательные игрушки Продажа моделей самолётов, вертолётов, автомобилей, катеров, танков и др. Подбор по бренду, типу двигателя, масштабу и цене. Условия доставки и оплаты.
    • Познаем окружающий мир Продажа моделей самолётов, вертолётов, автомобилей, катеров, танков и др. Подбор по бренду, типу двигателя, масштабу и цене. Условия доставки и оплаты.
    • Развивающая игротека дошкольника Продажа моделей самолётов, вертолётов, автомобилей, катеров, танков и др. Подбор по бренду, типу двигателя, масштабу и цене. Условия доставки и оплаты.
    • Радиоуправляемые модели Продажа моделей самолётов, вертолётов, автомобилей, катеров, танков и др. Подбор по бренду, типу двигателя, масштабу и цене. Условия доставки и оплаты.
    Читайте также:  Уроки arduino: основы работы с семисегментными дисплеями

    ЕщеПродажа моделей самолётов, вертолётов, автомобилей, катеров, танков и др. Подбор по бренду, типу двигателя, масштабу и цене. Условия доставки и оплаты.

  • Источник: http://edusnab.ru/catalog/programmirovanie_v_srede_scratch/scratch_i_arduino_dlya_yunykh_programmistov_i_konstruktorov/

    Программирование Arduino с помощью ArduBloсk на примере робота, движущегося по полосе

    15 октября 2014 в 10:33 (МСК) | сохранено6 июня 2016 в 17:26 (МСК)<\p>

    Здравствуйте! Я Аликин Александр Сергеевич, педагог дополнительного образования, веду кружки «Робототехника» и «Радиотехника» в ЦДЮТТ г. Лабинска. Хотел бы немного рассказать об упрощенном способе программирования Arduino с помощью программы «ArduBloсk».

    Эту программу я ввел в образовательный процесс и восхищен результатом, у детей она пользуется особым спросом, особенно при написании простейших программ или для создания какого-то начального этапа сложных программ. ArduBloсk является графической средой программирования, т. е.

    все действия выполняются с нарисованными картинками с подписанными действиями на русском языке, что в разы упрощает изучение платформы Arduino. Дети уже со 2-го класса с легкостью осваивают работу с Arduino благодаря этой программе. Да, кто-то может сказать, что еще существует Scratch и он тоже очень простая графическая среда для программирования Arduino.

    Но Scratch не прошивает Arduino, а всего лишь управляет им по средством USB кабеля. Arduino зависим от компьютера и не может работать автономно. При создании собственных проектов автономность для Arduino — это главное, особенно при создании роботизированных устройств.

    Даже всеми известные роботы LEGO, такие как NXT или EV3 нашим ученикам уже не так интересны с появлением в программировании Arduino программы ArduBloсk. Еще Arduino намного дешевле любых конструкторов LEGO и многие компоненты можно просто взять от старой бытовой электронной техники. Программа ArduBloсk поможет в работе не только начинающим, но и активным пользователям платформы Arduino.

    Итак, что же такое ArduBloсk? Как я уже говорил, это графическая среда программирования. Практически полностью переведена на русский язык. Но в ArduBloсk изюминка не только это, но и то, что написанную нами программу ArduBloсk конвертирует в код Arduino IDE. Эта программа встраивается в среду программирования Arduino IDE, т. е. это плагин.

    Ниже приведен пример мигающего светодиода и конвертированной программы в Arduino IDE. Вся работа с программой очень проста и разобраться в ней сможет любой школьник.

    В результате работы на программе можно не только программировать Arduino, но и изучать непонятные нам команды в текстовом формате Arduino IDE, ну а если же «лень» писать стандартные команды — стоит быстрыми манипуляциями мышкой набросать простенькую программку в ArduBlok, а в Arduino IDE её отладить.

    Чтобы установить ArduBlok, необходимо для начала загрузить и установить Arduino IDE с официального сайта Arduino и разобраться с настройками при работе с платой Arduino UNO. Как это сделать описано на том же сайте или же на Амперке, либо посмотреть на просторах YouTube.

    Ну, а когда со всем этим разобрались, необходимо скачать ArduBlok с официального сайта, вот ссылка. Последние версии скачивать не рекомендую, для начинающих они очень сложны, а вот версия от 2013-07-12 — самое то, этот файл там самый популярный.

    Затем, скачанный файл переименовываем в ardublock-all и в папке «документы». Создаем следующие папки: Arduino > tools > ArduBlockTool > tool и в последнею кидаем скачанный и переименованный файл.

    ArduBlok работает на всех операционных системах, даже на Linux, проверял сам лично на XP, Win7, Win8, все примеры для Win7. Установка программы для всех систем одинакова.

    Ну, а если проще, я приготовил на Mail-диске 7z архив, распаковав который найдете 2 папки.

    В одной уже рабочая программа Arduino IDE, а в другой папке содержимое необходимо отправить в папку документы.

    Для того, чтобы работать в ArduBlok, необходимо запустить Arduino IDE. После чего заходим во вкладку Инструменты и там находим пункт ArduBlok, нажимаем на него — и вот она, цель наша.Теперь давайте разберемся с интерфейсом программы.

    Как вы уже поняли, настроек в ней нет, а вот значков для программирования предостаточно и каждый из них несет за собой команду в текстовом формате Arduino IDE. В новых версиях значков еще больше, поэтому разобраться с ArduBlok последней версии сложно и некоторые из значков не переведены на русский.

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

    В разделе «Числа/Константы» мы можем с вами выбрать цифровые значения или создать переменную, а вот то что ниже вряд ли будите использовать.В разделе «Операторы» мы с вами найдем все необходимые операторы сравнения и вычисления.В разделе «Утилиты» в основном используются значки со временем.

    «TinkerKit Bloks»- это раздел для приобретенных датчиков комплекта TinkerKit. Такого комплекта у нас, конечно же, нет, но это не значит, что для других наборов значки не подойдут, даже наоборот — ребятам очень удобно использовать такие значки, как включения светодиода или кнопка. Эти знаки используются практически во всех программах.

    Но у них есть особенность — при их выборе стоят неверные значки обозначающие порты, поэтому их необходимо удалить и подставить значок из раздела «числа/константы» самый верхний в списке.«DF Robot» — этот раздел используется при наличии указанных в нем датчиков, они иногда встречаются.

    И наш сегодняшний пример — не исключение, мы имеем «Регулируемый ИК выключатель» и «Датчик линии». «Датчик линии» отличается от того, что на картинке, так как он от фирмы Амперка. Действия их идентичны, но датчик от Амперки намного лучше, так как в нем имеется регулятор чувствительности.

    «Seeedstudio Grove» — датчики этого раздела мной ни разу не использовались, хотя тут только джойстики. В новых версиях этот раздел расширен.И последний раздел это «Linker Kit». Датчики, представленные в нем, мне не попадались. Хочется показать пример программы на роботе, двигающемся по полосе. Робот очень прост, как в сборке, так и в приобретении, но обо всем по порядку. Начнем с его приобретения и сборки.

    Вот сам набор деталей все было приобретено на сайте Амперка.

    1. AMP-B001 Motor Shield (2 канала, 2 А) 1 890 руб
    2. AMP-B017 Troyka Shield 1 690 руб
    3. AMP-X053 Батарейный отсек 3×2 AA 1 60 руб
    4. AMP-B018 Датчик линии цифровой 2 580 руб
    5. ROB0049 Двухколёсная платформа miniQ 1 1890 руб
    6. SEN0019 Инфракрасный датчик препятствий 1 390 руб
    7. FIT0032 Крепление для инфракрасного датчика препятствий 1 90 руб
    8. A000066 Arduino Uno 1 1150 руб

    Для начала соберем колесную платформу и припаяем к двигателям провода.Затем установим стойки, для крепления платы Arduino UNO, которые были взяты от старой материнской платы ну или иные подобные крепления.Затем крепим на эти стойки плату Arduino UNO, но один болтик прикрутить не получиться — разъемы мешают. Можно, конечно, их выпаять, но это уже на ваше усмотрение.Следующим крепим инфракрасный датчик препятствий на его специальное крепление. Обратите внимание, что регулятор чувствительности находиться сверху, это для удобства регулировки.Теперь устанавливаем цифровые датчики линии, тут придется поискать пару болтиков и 4 гайки к ним Две гайки устанавливаем между самой платформой и датчиком линии, а остальными фиксируем датчики.Следующим устанавливаем Motor Shield или по другому можно назвать драйвер двигателей. В нашем случае обратите внимание на джампер. Мы не будем использовать отдельное питание для двигателей, поэтому он установлен в этом положение. Нижняя часть заклеивается изолентой, это чтобы не было случайных замыканий от USB разъема Arduino UNO, это на всякий случай.Сверху Motor Shield устанавливаем Troyka Shield. Он необходим для удобства соединения датчиков. Все используемые нами сенсоры цифровые, поэтому датчики линии подключены к 8 и 9 порту, как их еще называют пины, а инфракрасный датчик препятствий подключен к 12 порту. Обязательно обратите внимание, что нельзя использовать порты 4, 5, 6, 7 так как оны используются Motor Shield для управлением двигателями. Я эти порты даже специально закрасил красным маркером, чтобы ученики разобрались.Если вы уже обратили внимание, мной была добавлена черная втулка, это на всякий случай, чтобы установленный нами батарейный отсек не вылетел. И наконец, всю конструкцию мы фиксируем обычной резинкой. Подключения батарейного отсека может быть 2-х видов. Первый подключение проводов к Troyka Shield. Также возможно подпаять штекер питания и подключать уже к самой плате Arduino UNO.Вот наш робот готов. Перед тем как начать программировать, надо будет изучить, как все работает, а именно: — Моторы: Порт 4 и 5 используются для управления одним мотором, а 6 и 7 другим; Скоростью вращения двигателей мы регулируя ШИМом на портах 5 и 6; Вперед или назад, подавая сигналы на порты 4 и 7. — Датчики: У нас все цифровые, поэтому дают логические сигналы в виде 1 либо 0; А что бы их отрегулировать, в них предусмотрены специальные регуляторы а при помощи подходящей отвертки их можно откалибровать.

    Читайте также:  Обзор hubsan h501s x4 - arduino+

    Подробности можно узнать на Амперке. Почему тут? Потому что там очень много информации по работе с Arduino.

    Ну что ж, мы, пожалуй, все просмотрели поверхностно, изучили и конечно же собрали робота. Теперь его необходимо запрограммировать, вот она — долгожданная программа!И программа конвертированная в Arduino IDE:void setup()
    {
    pinMode( 8 , INPUT);
    pinMode( 12 , INPUT);
    pinMode( 9 , INPUT);
    pinMode( 4 , OUTPUT);
    pinMode( 7 , OUTPUT);
    pinMode(5, OUTPUT);
    pinMode(6, OUTPUT);
    } void loop()
    {
    if (digitalRead( 12))
    {
    if (digitalRead( 8))
    {
    if (digitalRead( 9))
    {
    digitalWrite( 4 , HIGH );
    analogWrite(5, 255);
    analogWrite(6, 255);
    digitalWrite( 7 , HIGH );
    }
    else
    {
    digitalWrite( 4 , HIGH );
    analogWrite(5, 255);
    analogWrite(6, 50);
    digitalWrite( 7 , LOW );
    }
    }
    else
    {
    if (digitalRead( 9))
    {
    digitalWrite( 4 , LOW );
    analogWrite(5, 50);
    analogWrite(6, 255);
    digitalWrite( 7 , HIGH );
    }
    else
    {
    digitalWrite( 4 , HIGH );
    analogWrite(5, 255);
    analogWrite(6, 255);
    digitalWrite( 7 , HIGH );
    }
    }
    }
    else
    {
    digitalWrite( 4 , HIGH );
    analogWrite(5, 0);
    analogWrite(6, 0);
    digitalWrite( 7 , HIGH );
    }
    } В заключении хочу сказать, эта программа просто находка для образования, даже для самообучения она поможет изучить команды Arduino IDE. Самая главная изюминка — это то, что более 50 значков установки, она начинает «глючить». Да, действительно, это изюминка, так как постоянное программирование только на ArduBlok не обучит вас программированию в Arduino IDE. Так называемый «глюк» дает возможность задумываться и стараться запоминать команды для точной отладки программ. Желаю успехов.

    Источник: https://sohabr.net/gt/post/258834/

    Лаборатория проектов 169

    Ну вот и свершилось)))) В издательстве БХВ вышла книга “Scratch и Arduino для юных программистов и конструкторов” (Винницкий Ю.А. и Григорьев А.Т.)

    Книжка создавалась в рамках совместного проекта с издательством БХВ. Суть проста: нам нужно было пособие для занятий внеурочной (или кружковой) деятельностью, причем такое, что мы могли бы выдавать учащимся и на дом, если потребуется. А издательству интересны новые веяния в мире микроэлектроники “для детей”. И вот тут все сложилось, книжка действительно получилась интересной. 

    Совсем недавно в мире технического творчества и инженерных самоделок произошло две революции. Первая связана с появлением дешевых микроконтроллеров (Arduino и клоны), вторая – с появлением возможности программировать эти микроконтроллеры в визуальных Scratch-подобных средах. А это уже открывает возможность использовать эту схемотехнику даже в начальной школе!

    На текущий момент есть две среды, обеспечивающие визуальное программирование Arduino с возможностью создания не только интерактивно управляемых проектов, но и автономных, с загрузкой скетчей в память устройства. Это Snap4Arduino  и mBlock . Свободное ПО, работающее на различных платформах.

    При этом у mBlock механизм загрузки программ в автономный вариант – более простой, одной кнопкой. Поэтому в качестве “школьной” среды управления микроконтроллерами мы выбрали mBlock. И как раз в данной книге и показываются приемы работы с программой.

     

    Поскольку книгу могут читать и совсем новички в мире программирования, то начинается она с представления собственно среды Scratch и основ программирования, изложенных в виде проектов с рисованием орнаментов. А далее – микроконтроллеры, создание игровых проектов с электроникой, чуть-чуть о технологиях “умного дома”.

    А попутно постарались рассказать о работе программистов, показать, как создаются проекты, как оптимизируются программы…

    В общем – читайте и пробуйте. Благо, книга уже появилась и на Озоне и в других интернет-магазинах. Есть и вариант книги с набором электронных компонентов, и вот тут я скажу еще пару слов. Дело в том, что в данном наборе компоненты – модульные, с удобным подключением к плате контроллера.

    Это реально удобно для сборки, особенно когда собирает очень юный инженер. Например – работу с портами Ардуино мы рассматриваем на примере подключения светодиодной сборки, которая “втыкается”прямо в плату, кнопки, потенциометры, датчики и реле  – с SVG подключением, и т.д.

    Все проекты из книги апробированы на занятиях, часть проектов, не вощедших в книжку – доступна на сайте издательства в pdf формате.
    На основе книги можно построить как отдельный курс внеурочной деятельности, так и ввести модуль в более общий курс конструирования, пример нашей программы для 5 класса, где используется пособие.

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

    А мы радуемся благополучному окончанию еще одного проекта))) На очереди – робот mBot! 

    Источник: http://projectlab169.blogspot.com/2017/11/scratch-arduino.html

    Program a mBot With Scratch And Arduino

    Makeblock was founded in 2012 in Shenzhen as the world’s first open-source robot and programing platform. With more than 400 mechanical components, electronic modules, and software tools, the company is determined to bring meaningful STEM education opportunities and the maker mindset to the mass consumer market to make a real difference in society’s future with robotics.

    Makerblock has a variety of products and one great product is mBot, a robot better fit education and home use. It is simple to use and affordable, you can get mBot for $24 or with bluetooth for $99.

    The mBot is designed especially for mBlock Scratch-based language to help teachers and kids to have hands-on experience about robots and explore STEM education.

    World’s very first Scratch 2.0 branch that can upload a program into Arduino based boards

    mBot overview

    Makeblock keeps delivering tutorials about its products and the recent one was a line follower mBot on Insructables.

    To do this project you need the following tools

    Mechanical part list

    • 1*Metal Base Plate
    • 2*TT Gear Motor
    • 2*Wheel
    • 2*Tyre
    • 1*Plastic Universal Wheel
    • 1*Magic Tape 20*30mm
    • 6*Brass Stud M4*25
    • 14*Socket Cap Screw M4*8
    • 6*Nut M4
    • 4*Nut M3
    • 4*Philip’s Head Screw M3*25
    • 2*Tapping Screw M2.2*9.5

    Electronic Modules List

    You only have to put each element in the right place and to tighten some screws. The image below shows how to assemble the pieces together.

    The mBlock is a customized version of scratch. It is easy to use mBlock to interact with electronic modules. To make the project works, you should first program the Control Board (Compatible with Arduino) using this code of mBlock.

    You can also program it using Arduino IDE since it makes it easy to write code, upload it to the I/O board, and interact with mBot. Line following is one simple code for controlling the mBot by Infrared Controller.

    #include “mBot.h” #include “MePort.h” #include “MeIR.h” #include “MeDCMotor.h” MeBoard myBoard(mBot); double angle_rad = PI/180.0; double angle_deg = 180.0/PI; MeIR ir; MeDCMotor motor_9((MEPORT)9); MeDCMotor motor_10((MEPORT)10); void setup() { ir.begin(); } void loop() { if(ir.keyPressed(64)){ motor_9.run(255); motor_10.run(255); } else { if(ir.keyPressed(25)){ motor_9.run(-255); motor_10.run(-255); } else { if(ir.keyPressed(7)){ motor_9.run(255); motor_10.run(-255); } else { if(ir.keyPressed(25)){ motor_9.run(-255); motor_10.run(255); } else { motor_9.run(0); motor_10.run(0); } } } } ir.loop(); }

    You can learn more about using Arduino for mBot here.

    This is what should mBot do!

    You can build your own adventure, play some games or make some functions completed autonomously using mBot, such as playing football, ultrasonic obstacle-avoiding and following line. Makeblock is opening wide doors for innovation by making STEM and hands-on experience available for kids.

    A new product from MakerBlock is now live on Kickstarter. AirBlock, the first modular drone that can be turned into a hovercraft, car, and more. You can order this drone from the project’s page for $99.

    More details and updates can be reached at the official website. Also you can access codes and source files at Github.

    Источник: http://www.electronics-lab.com/program-mbot-scratch-arduino/

    Ссылка на основную публикацию
    Adblock
    detector