Arduino. синтаксис и структура кода

Подготовка платы Arduino к работе

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

После этого вы должны загрузить в плату Arduino программу, приведенную в конце данной статьи. К строкам программы имеются комментарии, помогающие понять их смысл. Ультразвуковой датчик вычисляет время между передачей импульса и его возвращением обратно после отражения от объекта. Это время определяется в Arduino с помощью функции PulseIn. В дальнейшем это время преобразуется в значение расстояния с помощью следующей строчки кода:

Arduino

dist = (timetaken/2) / 2.91;

1 dist=(timetaken2)2.91;

В этой формуле расстояние вычисляется в миллиметрах (мм).

Yenka

Yenka — отличный симулятор, который студенты и опытные пользователи могут использовать для обучения и преподавания основ программирования и схем. Как и большинство Ардуино симуляторов из нашего списка, он оснащен всеми необходимыми функциями для проверки эскизов/идей, отладки ваших проектов и разработки сложных проектов без ввода аппаратного обеспечения в эксплуатацию.

Yenka широко используется преподавателями, преподающими основы электроники, но из-за стоимости студентам она может быть не по карману. Это кросс-платформенный симулятор, который работает как в операционной системе Linux, так и в Windows. Несмотря на стоимость программа может быть идеальным тренажером Ардуино для вашего личного использования.

Mitov Software grants a limited warranty with these restrictions:

THE SOFTWARE IS SUPPLIED AS IT IS. MITOV SOFTWARE AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH REGARD TO THE SOFTWARE. NO LIABILITY FOR CONSEQUENTIAL DAMAGES. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL MITOV SOFTWARE OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE.

Какие бывают платы

По производителю

Существуют как официальные версии плат Arduino, так и платы от сторонних производителей. Оригинальные платы отличаются высоким качеством продукта, но и цена тоже выше. Они производятся только в Италии и США, о чём свидетельствует надпись на самой плате.

На примере самой популярной платы Arduino UNO:

  • Оригинальная плата. Поставляется только в фирменной коробке, имеет логотип компании, на портах платы — маркировка. Цена от производителя 20 €.

  • Плата от стороннего производителя. Качество хуже, однако цена начинается от 150 рублей. Качество платы может отразиться на её работоспособности в дальнейшем. Хоть это и редкость, но плата и вовсе может не работать «из коробки» — всё зависит от добросовестности изготовителя и продавца. Для работы с подобными платами требуется драйвер CH340, который находится в свободном доступе. Во всём остальном процесс разработки идентичен процессу разработки на оригинальных платах.

По назначению

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

Различные платы Arduino. Источник

Самые популярные из них:

  • Arduino Nano — различие с UNO только в конструктивном исполнении. Nano меньше.
  • Arduino Mega — плата на базе мощного микроконтроллера. Имеет большое количество портов.
  • Arduino Micro — имеет встроенную поддержку USB-соединения, а потому может использоваться как HID-устройство (клавиатура, мышь, MIDI-устройство).
  • Arduino Ethernet — имеет возможность подключения к сети через Ethernet-провод. На плате также расположен слот для microSD карточки.
  • Arduino Mini — по характеристикам немного уступает UNO. Преимуществом платы является её миниатюрное исполнение.
  • Arduino Due — плата на базе 32-разрядного ARM микроконтроллера. Имеет преимущество в производительности по сравнению с остальными.
  • Arduino LilyPad — форм-фактор позволяет использовать плату в предметах одежды и текстиля.
  • Arduino Yún — «нужно было ставить линукс…». Имеет поддержку дистрибутива Linux, встроенную поддержку Ethernet и Wi-Fi, слот для microSD. Как и Micro, имеет встроенную поддержку USB-соединения.

4

Критерии выбора хорошего биокамина и принцип его работы

Интерфейс программы

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

Блоки ArduBlock разделены на 6 категорий.

Control

В разделе «Управление» мы найдем разнообразные циклы.

Порты (Pin)

Pin

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

Цифры, константы и Переменные

Блоки категорий “Numbers/Constants” это переменные

Operators

Эта категория включает в себя логические и математические операторы.

Utilities 

Utilities

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

Модули

Bricks

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

Дребезг контактов

Очень хорошо, когда всё идеально. Но к сожалению всё на так и идеально. И с кнопками та же проблема. Механические контакты кнопки не могут замыкаться/размыкаться мгновенно. Это называется «дребезг контактов». Как это понять. На вход микроконтроллера поступают импульсы. Но вместо того чтоб просто получить 1 или 0 из-за данного явления на вход поступает целая кучка импульсов. Это может создать ложные сигналы. И именно поэтому мы делаем небольшую задержку в нашей программе. На скорость это особо не повлияет, но обеспечит нас от ошибки.

На этом у нас конец второй части

Спасибо за внимание

Какие ещё языки используют для Arduino

Но чу! Под Arduino мож­но писать и на дру­гих языках!

С. Как и С++, Си лег­ко мож­но исполь­зо­вать для про­грам­ми­ро­ва­ния мик­ро­кон­трол­ле­ров Arduino. Толь­ко если С++ не тре­бу­ет ника­ких допол­ни­тель­ных про­грамм, то для С вам пона­до­бит­ся , что­бы пра­виль­но пере­ве­сти код в язык, понят­ный кон­трол­ле­рам AVR.

Python. Было бы стран­но, если бы тако­му уни­вер­саль­но­му язы­ку не нашлось при­ме­не­ния в робо­то­тех­ни­ке. Берё­те биб­лио­те­ки PySerial и vPython, при­кру­чи­ва­е­те их к Python и готово!

Java. Прин­цип такой же, как в Python: берё­те биб­лио­те­ки для рабо­ты с пор­та­ми и кон­трол­ле­ра­ми и мож­но начи­нать программировать.

HTML. Это, конеч­но, совсем экзо­ти­ка, но есть про­ек­ты, кото­рые застав­ля­ют HTML-код рабо­тать на Arduino.

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

Главное — алгоритмы

Любой робот — это один боль­шой алго­ритм. Что­бы научить­ся думать как про­грам­мист и писать свои алго­рит­мы с нуля, при­хо­ди­те в Практикум. 
Попробовать

Исходный код программы

Код программы для Python

Python

from visual import *
import serial # подключение библиотеки для работы с портом последовательной связи
import time # библиотека чтобы использовать задержки (delay) в программе
ArduinoSerial = serial.Serial(‘com18′,9600) # создаем объект последовательного порта связи с именем arduinoSerialData
time.sleep(2) # ждем 2 секунды чтобы установилась последовательная связь
obj = box(pos=(-5,0,0), size=(0.1,4,4), color=color.white)
wallL = box(pos=(-1,0,0), size=(0.2,12,12), color=color.cyan)
text(text=’US sensor’, axis=(0,1,0) , pos=(-2,-6,0), depth=-0.3, color=color.cyan)
t = 0
while 1:
rate(100)
t = int (ArduinoSerial.readline()) # считываем данные из последовательного порта связи и печатаем их в виде строки
t= t* 0.05
obj.pos.x = t
print(t)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

fromvisual import*

importserial# подключение библиотеки для работы с портом последовательной связи

importtime# библиотека чтобы использовать задержки (delay) в программе

ArduinoSerial=serial.Serial(‘com18’,9600)# создаем объект последовательного порта связи с именем arduinoSerialData

time.sleep(2)# ждем 2 секунды чтобы установилась последовательная связь

obj=box(pos=(-5,,),size=(0.1,4,4),color=color.white)

wallL=box(pos=(-1,,),size=(0.2,12,12),color=color.cyan)

text(text=’US sensor’,axis=(,1,),pos=(-2,-6,),depth=-0.3,color=color.cyan)

t=

while1

rate(100)

t=int(ArduinoSerial.readline())# считываем данные из последовательного порта связи и печатаем их в виде строки

t=t*0.05

obj.pos.x=t

print(t)

Код программы для Arduino

Arduino

#define Trigger 2
#define Echo 3
int timetaken, dist;
int sendv;
void setup() {
Serial.begin (9600);
pinMode(Trigger, OUTPUT);
pinMode(Echo, INPUT);
}
void loop() {
timetaken=dist=0; //устанавливаем необходимые переменные в 0 перед проведением расчетов
//инициируем посылку датчиком ультразвукового сигнала
digitalWrite(Trigger, HIGH);
digitalWrite(Trigger, LOW);

timetaken = pulseIn(Echo, HIGH); //определяем время распространения импульса (до объекта и обратно)
dist = (timetaken/2) / 2.91; //рассчитываем расстояние до объекта

if (dist <= 200 && dist > 0) // если расстояние до объекта находится в диапазоне 0-20 см то передаем его в программу на python
sendv = dist;
Serial.println(sendv);

delay(200);
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

#define Trigger 2
#define Echo 3

inttimetaken,dist;

intsendv;

voidsetup(){

Serial.begin(9600);

pinMode(Trigger,OUTPUT);

pinMode(Echo,INPUT);

}

voidloop(){

timetaken=dist=;//устанавливаем необходимые переменные в 0 перед проведением расчетов

//инициируем посылку датчиком ультразвукового сигнала

digitalWrite(Trigger,HIGH);

digitalWrite(Trigger,LOW);

timetaken=pulseIn(Echo,HIGH);//определяем время распространения импульса (до объекта и обратно)

dist=(timetaken2)2.91;//рассчитываем расстояние до объекта

if(dist<=200&&dist>)// если расстояние до объекта находится в диапазоне 0-20 см то передаем его в программу на python

sendv=dist;

Serial.println(sendv);

delay(200);

}

AutoCAD 123D

Роль Autodesk в разработке электрических схем на протяжении многих лет нельзя переоценить. 123D — это еще одно из предложений компании Autodesk совместимых с Arduino

Во-первых, важно отметить, что 123D — это приложение САПР, которое имеет специальную функцию для проектирования схем. Поэтому при загрузке бесплатного приложения вы получите как приложение САПР, так и симулятор Ардуино

Autodesk Circuits - Electronics LabAutodesk Circuits — Electronics Lab

Как и другие симуляторы, упомянутые выше, 123D — действительно отличный инструмент для изучения основ программирования Arduino и проектирования схем. Приложение работает на Windows и экосистеме Android. Оно также имеет очень большую базу ресурсов и поддержку (как и большинство продуктов Autodesk) для разработки схем или обучения с нуля. Это приложение настоятельно рекомендуется большинству пользователей.

Codim

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

На курсе учащийся научится:

  • Основам электроники
  • Самостоятельно собирать электрические схемы
  • Программировать на языке Си++
  • Самостоятельно собирать и программировать роботов
  • Создавать устройства интернета вещей
  • Управлять роботом и устройствами интернета вещей с помощью смартфона
  • Воплощать свои самые фантастические идеи в жизнь
  • Технической грамотности
  • Разовьет образное мышление
  • Раскроет свой творческий потенциал.

Вкладка “Инструменты”

Вкладка “Инструменты”

  • АвтоФорматирование – выравнивает код по табуляции. Крайне важная фишка, используйте её и комбинацию Ctrl+T как можно чаще
  • Архивировать скетч – сохраняет скетч как .zip архив
  • Исправить кодировку и перезагрузить – полезная штука, когда скачал чей-то код из интернета, а там поехала кодировка
  • Управлять библиотеками… – открывает менеджер библиотек, из которого можно установить библиотеки из официального списка 
  • Монитор порта
  • Плоттер по последовательному соединению – встроенный построитель графиков по идущим в порт данным
  • Плата – выбор платы, куда хотим загрузить прошивку
  • Процессор – выбор процессора, который стоит на плате. Обычно он один на выбор, но иногда есть варианты
  • Порт – COM порт, к которому подключена плата. Это всегда порт, отличный от COM1 (системный порт)
  • Программатор – выбор программатора для загрузки кода через программатор
  • Записать загрузчик – прошивает загрузчик, соответствующий выбранной плате и процессору в микроконтроллер при помощи программатора (который ISP)

Simulator for Arduino

Продукт, разработанный virtronics, является полнофункциональным симулятором, доступным для студентов и начинающих в мире электроники, всех тек, кто ищет отличный симулятор Arduino. Это кросс-платформенный симулятор, который поддерживается как операционными системами Linux, так и Windows.

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

Также важно отметить, что Simulator for Arduino — это не приложение с открытым исходным кодом, но оно бесплатно

Создание библиотек

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

  • заголовочный с расширением .h;
  • с кодом и расширением .cpp).
Введение в программирование АрдуиноВведение в программирование Ардуино

Первый дает пояснение содержимому библиотеки. Он включает перечень функций, объектов, переменных, которые использует библиотека. Несмотря на лайт-версию С++, в библиотеке могут использоваться атрибуты видимости объектов, классы, конструкторы и деструкторы и другие возможности ООП. В заголовках применяются директивы языка C++. Библиотека не помещается в особый модуль и хранится в текстовом виде, в формате файлов .cpp и .h в отдельной папке с именем библиотеки, но размещенном в каталоге libraries. Текстовые файлы компилируются при использовании указанной библиотеки.

Serial

// ====== SERIAL ======
// полный урок тут: https://alexgyver.ru/lessons/serial/

// === СТАРТ/СТОП ===
Serial.begin(Speed);    // открыть порт на скорости
Serial.end();           // закрыть порт
Serial.available();     // dозвращает количество байт в буфере приёма

// === ПЕЧАТЬ ===
// Отправляет в порт значение val – число или строку
Serial.print(val);
Serial.print(val, format);

// Отправляет и переводит строку
Serial.println(val);
Serial.println(val, format);

Serial.print(78);        // выведет 78
Serial.print(1.23456);   // 1.23 (умолч. 2 знака)
Serial.print('N');       // выведет N
Serial.print("Hello world."); // Hello world.
Serial.print(78, BIN);    // вывод "1001110"
Serial.print(78, OCT);    // вывод "116"
Serial.print(78, DEC);    // вывод "78"
Serial.print(78, HEX);    // вывод "4E"
Serial.print(1.23456, 0); // вывод "1"
Serial.print(1.23456, 2); // вывод "1.23"
Serial.print(1.23456, 4); // вывод "1.2345"

// === ПАРСИНГ ===
Serial.setTimeout(value); // таймаут ожидания приёма данных для парсинга, мс. По умолчанию 1000 мс (1 секунда)
Serial.readString();      // принять строку
Serial.parseInt();        // принять целочисленное
Serial.parseFloat();      // принять float

Меню вкладок

Меню вкладок

Система вкладок в Arduino IDE работает крайне необычным образом и очень отличается от понятия вкладок в других программах:

  • Вкладки относятся к одному и тому же проекту, к файлам, находящимся с ним в одной папке
  • Вкладки просто разбивают общий код на части, то есть в одной вкладке фигурная скобка { может открыться, а в следующей – закрыться }. При компиляции все вкладки просто объединяются в один текст по порядку слева направо (с левой вкладки до правой). Также это означает, что вкладки должны содержать код, относящийся только к этому проекту, и сделать в одной вкладке void loop() и в другой – нельзя, так как loop() может быть только один
  • Вкладки автоматически располагаются в алфавитном порядке, поэтому создаваемая вкладка может оказаться между другими уже существующими. Это означает, что разбивать блоки кода по разным вкладкам (как во втором пункте, { на одной вкладке, } на другой вкладке) – крайне не рекомендуется.
  • Также не забываем, что переменная должна быть объявлена до своего вызова, то есть вкладка с объявлением переменной должна быть левее вкладки, где переменная вызывается. Создавая новую вкладку нужно сразу думать, где она появится с таким именем и не будет ли из за этого проблем. Также название вкладок можно начинать с цифр и таким образом точно контролировать их порядок. Во избежание проблем с переменными, все глобальные переменные лучше объявлять в самой первой вкладке.
  • Вкладки сохраняются в папке с проектом и имеют расширение .ino, при запуске любой вкладки откроется весь проект со всеми вкладками.
  • Помимо “родных” .ino файлов Arduino IDE автоматически подцепляет файлы с расширениями .h (заголовочный файл), .cpp (файл реализации) и .pde (старый формат файлов Arduino IDE). Эти файлы точно так же появляются в виде вкладок, но например заголовочный файл .h не участвует в компиляци до тех пор, пока не будет вручную подключен к проекту при помощи команды include. То есть он висит как вкладка, его можно редактировать, но без подключения он так и останется просто отдельным текстом. В таких файлах обычно содержатся классы или просто отдельные массивы данных.

PSpice

Каждый студент, занимающийся электротехникой и электроникой, должен был столкнуться с PSpice в течение месяцев, потраченных на изучение основ проектирования схем и программирования. Но для тех кто не знает что такое PSpice — это интуитивный симулятор, который можно использовать для моделирования Arduino из-за множества функций, интегрированных в приложение. PSpice поддерживается операционной системой Windows и Linux и поставляется в разных модулях или типах.

Студенты могут использовать PSpice Lite, который абсолютно свободен, чтобы изучить основы программирования Ардуино, в то время как компании, преподаватели и другие эксперты могут использовать платный PSpice. PSpice в настоящее время используется в различных отраслях промышленности — автомобилестроении, образовании, энергоснабжении и т.д.

Нюансы аналоговых входов

Выходной аналоговый сигнал обеспечивается АЦП. В чипах Atmega использован шестиканальный АЦП. Его разрешение составляет 10 бит или значения от 0 до 1023. Основное назначение входов — чтение сигнала аналоговых датчиков.

Выводы Arduino, соответствующие аналоговым входам, нумеруются от 14 до 19. Выводы аналоговых входов могут подключать подтягивающие резисторы, работающие так же, как на цифровых выводах. Включение резисторов производится командой: digitalWrite(14, HIGH); // включить резистор на выводе аналогового входа 0

Если вы управляли выводом, задавая режим, то перед последующим изменением его функций осуществите сброс параметров во избежание некорректной работы

Используя аналоговые входы, следует уделить внимание работе с serial wire, вспомогательным каналом передачи данных

Scratch

Эта графическая среда программирования была создана в 2003 году, когда группа сотрудников MIT Media Lab решила разработать язык программирования, доступный абсолютно для всех. В итоге через некоторое время публике был представлен Scratch.

Больше всего, пожалуй, он похож на Lego. По крайней мере, принцип тот же: это объектно ориентированная среда, в которой программы собираются из деталей, разноцветных и ярких. Эти детали можно перемещать, видоизменять, заставлять взаимодействовать различным образом. Основа Scratch — блоки команд, таких как сенсоры, переменные, движение, звук, операторы, внешность, перо, контроль и пр. Встроенный графический редактор дает возможность нарисовать любой объект. Не прошло и пяти лет с момента создания Scratch, как возник проект Scratch для Arduino (сокращённо — S4A), позволяющая программировать ПЛК Arduino.

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

Совет. Для новичков в Scratch существует специальный ресурс: https://scratch-ru.info.

AlexGyver

Сайт для любителей техники предоставляет бесплатные текстовые уроки — максимально подробные уроки по программированию Arduino с разбором всех тонкостей и особенностей языка.

Есть также бесплатные видеоуроки. Цикл охватывает все стандартные операторы и функции Ардуино и построен таким образом, что от выпуска к выпуску у зрителя идёт плавное формирование “базы”, каждый последующий урок (видео урок) содержит в себе информацию из предыдущих, то есть уроки усложняются и становятся комплексными.

Что узнает ребенок:

  • Что такое Ардуино и зачем она нужна?
  • Что умеет Ардуино и что можно сделать на её основе?
  • Подключение датчиков к Ардуино
  • Питание Arduino от различных источников электричества
  • Математические операторы для работы с переменными
  • Особенности переменных и констант
  • Общение между компьютером и Arduino Через COM порт
  • Какие существуют типы реле? В чём достоинства и недостатки?
  • Как подключить реле и как им управлять?

И это еще не все. 16 видеоуроков расскажут все нюансы о программировании на Arduino.

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.

Circuit Lab

Circuit Lab Arduino Simulator — простой схематичный и мощный инструмент моделирования. Этот симулятор был разработан после PSpice, и он был построен преимущественно для использования электриками и инженерами электроники. Его функции позволяют пользователю изучить внутреннюю работу Arduino, реализовать отладку проектов и схем проектирования.

Приложение Circuit Lab не является бесплатным, и это может быть ограничивающим фактором для студентов, которые ищут доступный симулятор Arduino для работы. Приложение работает как в операционных системах Windows, так и в Linux. Развитие программы держится на большом сообществе и имеет достаточное количество вспомогательных материалов, тематических исследований и примеров, которые рассказывают о его возможностях и использовании.

О точках с запятыми

Вы могли заинтересоваться: зачем в конце каждого выражения ставится точка с запятой? Таковы правила C++.
Подобные правила называются синтаксисом языка. По символу компилятор понимает где заканчивается
выражение.

Как уже говорилось, переносы строк для него — пустой звук, поэтому ориентируется он на этот знак препинания.
Это позволяет записывать сразу несколько выражений в одной строке:

void loop()
{
    digitalWrite(5, HIGH); delay(100); digitalWrite(5, LOW); delay(900);
}

Программа корректна и эквивалентна тому, что мы уже видели. Однако писать так — это дурной тон. Код
гораздо сложнее читается. Поэтому если у вас нет 100% веских причин писать в одной строке несколько
выражений, не делайте этого.

Установка Ardublock

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

  1. Открыть Arduino IDE/Menu /Arduino/ Preferences, там вы найдете строку Sketchbook location
  2. Создайте папку “tools/ArduBlockTool/tool” внутри папки “Arduino” в строке “Sketch location” и скопируйте архив “ardublock-all.jar” в папку “tool”. Например, если имя пользователя “user”, то путь в среде Windows будет таким: “C:\Users\user\Documents\Arduino”
  3. Перезапустите Arduino IDE и у Вас должен появиться пункт “ArduBlock” в меню “Tool”

При установки на Mac для пользователя user путь будет следующим: “/Users/user/Documents/Arduino/tools/ArduBlockTool/tool/ardublock-all.jar”
При установке на Linux: “/home/user/sketchbook/tools/ArduBlockTool/tool/ardublock-all.jar”

Simduino для iPad

Этот продукт — платный, разработанный для использования на экосистеме смарт-устройств Apple. Это комплексный симулятор, который позволяет вам узнать о программировании и электронике на платформе Arduino. Он обеспечивает достаточную поддержку большинства языков программирования Arduino C и может использоваться для запуска нескольких проектов в соответствии с потребностями пользователя.

Эта программа имеет отличный рейтинг на iTunes. Хорошая поддержка помогает своим пользователям понять детали и описания, доступные пользователям на официальном сайте. Приблизительно за 2 доллара вы получите отличный Ардуино симулятор, совместимый с вашим iPad.

Работа проекта

Запустите программу на Python и поместите объект (в нашем случае мы использовали лист бумаги) напротив ультразвукового датчика как показано на следующем рисунке.

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

Так работает наша простейшая программа. Мы надеемся что вы получите удовольствие от реализации этого проекта и в дальнейшем на его основе сможете создать множество других интересных проектов, реализующих графическую мощь языка Python совместно с Arduino.

3. Подключение платы Arduino к компьютеру

  1. Соедините Arduino с компьютером по USB-кабелю. На плате загорится светодиод «ON» и начнёт мигать светодиод «L». Это значит, что на плату подано питание и микроконтроллер начал выполнять прошитую на заводе программу «Blink».
  2. Для настройки Arduino IDE под конкретную модель узнайте, какой номер COM-порта присвоил компьютер вашей плате. Зайдите в «Диспетчер устройств» Windows и раскройте вкладку «Порты (COM и LPT)».

Операционная система распознала плату Arduino как COM-порт и назначила номер . Если вы подключите к компьютеру другую плату, операционная система назначит ей другой номер

Если у вас несколько платформ, очень важно не запутаться в номерах COM-портов.

Что-то пошло не так?

После подключения Arduino к компьютеру, в диспетчере устройств не появляются новые устройства? Это может быть следствием следующих причин:

  • Неисправный USB-кабель или порт
  • Блокировка со стороны операционной системы
  • Неисправная плата
Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий