sonyps4.ru

Arduino программа для программирования. Какие существуют среды разработки (IDE) для Arduino

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

Из этой статьи вы узнаете:

Приветствую вас на страницах моего блога kip-world! С вами Гридин Семён. Друзья, у меня часто происходят задержки с публикациями статей. Поэтому прошу меня извинить.

Я наконец-то добрался до самого корня своего ресурса. То, ради чего я всё начинал. Прошло 1,5 года.

Я пишу эти строки по своей любимой теме — об одноплатных компьютерах и о Raspberry PI в частности. Саму плату я заказал на . Как раз 11 Ноября, в это время был праздник в честь шоппинга и в китайском магазине были сумасшедшие скидки.

Вот, я воспользовался случаем...

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

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

Начнём с описания...

Описание Raspberry PI

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

Какие могут быть применения на Raspberry PI 3:

  • Домашний сервер для хранения данных;
  • Майннинг Биткойнов;
  • Робот под управлением WI-FI или с машинным зрением
  • Игровая приставка или игровой автомат;
  • Домашняя метеостанция;
  • Планшет;
  • Охранная система с распознаванием лиц;
  • «Умный» дом;

На этой машинке можно собрать любую автоматику. Собрать любого робота.

Самые главные критерии любой системы автоматики заключаются в следующем:

  • Составление главного алгоритма и применение библиотек;
  • Учёт скорости цикла обработки операции;
  • Учёт дискретизации и скорости опроса аналоговых сигналов;
  • Наличие сетевой связи;

Давайте начнём с основных технических характеристик:

SoC Broadcom BCM2837
Процессор ARM Cortex-A53 (4 ядра)
Графический процессор Broadcom VideoCore IV
Оперативная память 1Гб LDDR2
Встроенные адаптеры 10/100Мбит Ethernet, Bluetooth 4.1 LE, Wi-Fi 802.11n
Порты 4xUSB 2.0, HDMI, 3.5мм аудиовыход, 40-pin GPIO , Camera Serial Interface (CSI), Display Serial Interface (DSI)
Разъем под microSD-карту

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

Основной операционной системой является Linux. ОС прописывается на флешку microSD и вставляется в соответствующий слот.

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

Основная архитектура процессора является ARM Cortex-A53. О чем это говорит? О том, что мы можем прошить одну из множества операционных систем:

  1. Raspbian (производная Debian, заточенная под Raspberry). Кстати говоря эту операционную систему применяют в серверах хостингов
  2. Raspberry PI Desktop
  3. UBUNTU Mate
  4. Snappy UBUNTU Core
  5. Windows 10 IOT
  6. LIBREELEC
  7. PINET
  8. RISC OS
  9. Weather station

Для начала изучения я предлагаю опробовать Raspbian. Нужно сначала понять, как вообще пользоваться ОС Linux.

Для Raspberry доступны следующие интерфейсы:

  • UART (Serial);
  • I²C/TWI;
  • SPI с селектором между двумя устройствами;
  • Ethernet на 10/100 Мбит с выходом на стандартное гнездо 8P8C (RJ45);
  • Wi-Fi 802.11n и Bluetooth 4.1, обеспечиваемые микросхемой Broadcom BCM43438;

По поводу питания одноплатного компьютера. На борту платы есть micro-USB, которое принимает 5 Вольт. Можно запитать через ПИНы. Но лучше всего подключить адаптер питания на 5 В с выходным током на 2 А. Таким образом хватит энергоёмкости для устройств, которые вы будете подключать к USB.

Так что способен выполнять в основном только узкие задачи — локальные. Вообще интересно использовать непосредственно связку RPI + Arduino. Всегда хотел опробовать.

Что нужно для запуска Raspberry PI

Для начала работы вам потребуется:

  1. Сама плата мини-компьютера;
  2. Набор медных радиаторов (Очень рекомендую, если хотите чтобы малина проработала подольше);
  3. Любой корпус (не обязательно, но желательно);
  4. Блок питания 5 В на 2.5 А;
  5. Карта памяти microSD с минимальным объемом 8 Гб;

Затем нам нужна периферия для работы, в общем, как и обычный компьютер.

  1. Монитор или телевизор с HDMI выходом;
  2. Клавиатура;
  3. Мышь;

Если у вас Монитор с VGA ничего страшного, переходим на HDMI с помощью специального преобразователя.

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

Для реализации различных программных функций Raspberry в основном . Можно писать на Java. Есть ещё и совсем детский объектно — ориентированный язык программирования Scratch.

Можно и применить для Raspberry, вполне реально.

Примеры проектов с малиной

Что можно сделать с Raspberry PI 3? А много чего, очень много. Примеров реализации просто море.

Я скину в основном англоязычные видео, так как они наиболее информативные::

1 GameBoy на Raspberry PI Zero


Или как вариант:

И вторая часть:

2 Квадрокоптер на RPI

3 «Умный» дом на RPI

4 Полноценный «домашний» сервер

5 Шикарный видеомагнитофон в машину

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

С уважением, Гридин Семён

Raspberry Pi 3 Model B - новейший одноплатный компьютер третьего поколения на основе 64-битного четырехъядерного ARM v8 Cortex-A53 процессора компании Broadcom BCM2837 с тактовой частотой 1.2 ГГц. На первый взгляд трудно найти внешние отличия Raspberry Pi 3 Model B (RPI3) от предыдущей модели Raspberry Pi 2 (RPi2). Такая же по размерам PCB, те же разъемы на тех же местах и нет корпуса. Но, не смотря на кажущееся отсутствие отличий, RPI3 - это совершенно другое изделие. Этот компьютер разработан на новом процессоре с тактовой частотой на 300 МГц выше, чем у предыдущей модели. Четыре ядра Cortex-A53 и двухъядерный графический сопроцессор Video Core IV ® Multimedia, который обеспечивает Open GL ES 2.0, аппаратное ускорение Open VG и 1080p30 H.264 декодирование.

По заявлениям разработчика нового компьютера Raspberry Pi Foundation производительность RPi3 на 50% выше, чем у предыдущей модели, а по сравнению с RPi первого поколения - он на порядок быстрее.

Но, пожалуй, еще более интересным отличием от предыдущих моделей является наличие встроенного WiFi 802.11n и Bluetooth (поддержка Bluetooth 4.1 и Bluetooth Low Energy - BLE). А это в эпоху "интернета вещей" открывает для изделия новые горизонты.

При внимательном рассмотрении платы можно заметить установленную в левом верхнем углу WiFi/ BT SMD антенну (Рис. 1), а справа возле 40-контактного разъема GPIO место под двухконтактный разъем RUN (для сброса), который в RPi2 (Рис. 2) был установлен на месте, где теперь можно увидеть чип антенну, т.е. эти отверстия под разъем - не новинка: они просто перемещены.

Рис. 1. Одноплатный компьютер третьего поколения Raspberry Pi 3 Model B. Вид сверху

Рис. 2. Одноплатный компьютер второго поколения Raspberry Pi 2 Model B. Вид сверху

Рис. 3. Одноплатный компьютер третьего поколения Raspberry Pi 3 Model B. Вид снизу

Теперь заметим, что чуть выше держателя microSD карты (Рис. 3) расположен беспроводной модуль на основе чипа BCM43143. В предыдущей модели (Рис. 4) его, конечно, нет. С нижней стороны платы можем увидеть микросхему оперативной памяти, которая, похоже, осталась той же, что и в RPi2 - Elpida B8132B4PB-8D-F объемом 1 ГБ.

Рис. 4. Одноплатный компьютер второго поколения Raspberry Pi 2 Model B. Вид снизу

RPi3 поддерживает операционные системы Linux (Raspbian, UBUNTU и др.), а также Windows 10 IoT.

Основные отличия RPi3 от RPi2:

  • Новый 64-битный четырехъядерный ARMv8 Cortex-A53 процессор BCM2837 с тактовой частотой 1.2 ГГц;
  • WIFI 802.11n;
  • Bluetooth 4.1;
  • Bluetooth Low Energy (BLE);
  • Выросла потребляемая мощность 2.5А@5В (у RPi2 1.8А@5В).

Что не изменилось:

  • Объем оперативной памяти - 1 ГБ;
  • Графический 2-ядерный сопроцессор Video Core IV ® Multimedia;
  • Количество USB портов - 4;
  • Количество выводов GPIO, доступных пользователю - 40;
  • Полноценный HDMI порт;
  • Порт Ethernet;
  • Комбинированный разъем 3.5 мм аудио и композитный видеовыход;
  • Интерфейс видеокамеры (CSI);
  • Интерфейс дисплея (DSI);
  • Слот для microSD карты (теперь push-pull, а не push-push, как ранее);
  • MicroUSB разъем (вход питания);
  • Форм-фактор (корпуса подходят от предыдущей версии);
  • Цена осталась прежней.

На Рис. 5 показано расположение основных разъемов и некоторых компонентов RPi3.

Рис. 5. Расположение основных разъемов и некоторых компонентов RPi3

Сравнительные характеристики моделей семейства RPi (Таблица 1)

Таблица 1. Сравнительные характеристики семейства Raspberry Pi

Наименование

Модель B+

Модель А+

Модель А

Процессор

Broadcom BCM2837 64 bit ARMv8, четыре ядра.

Broadcom BCM2836 32 bit ARMv7, четыре ядра.

Одно ядро.

Broadcom BCM2835 32 bit ARMv6 SoC full HD multimedia applications processor.

Одно ядро.

Broadcom BCM2835 32 bit ARMv6 SoC full HD multimedia applications processor. Одно ядро.

Скорость процессора

1GB SDRAM @ 400 MHz

1GB SDRAM @ 400 MHz

512 MB SDRAM @ 400 MHz

256 MB SDRAM @ 400 MHz

256 MB SDRAM @ 400 MHz

Память для ОС

Встроенный

Встроенный

А теперь посмотрим на результаты тестирования семейства Raspberry Pi

Рис. 6. Тестирование производительности системы (утилита SYSBENCH)

Чем меньше величина (Рис. 6), тем лучше, т. к. это время, затраченное на вычисления. Желтый цвет представляет многопотоковые вычисления, белый - однопотоковые. Наглядно видна динамика улучшения производительности от модели к модели. Использование 4 ядер, т.е. многопотоковых вычислений, существенно увеличивает производительность системы.

Рис. 7. Тест GPIO

Для работы с GPIO чаще всего используется программы на языке Python. В этом тесте простая программа RPI.GPIO переключает контакты GPIO так быстро, как это возможно, а частотомер измеряет скорость этих переключений.

Рис. 8. Тестирование на примере видеоигры QUAKE III Arena

Качество видеоигры сильно зависит от производительности процессора. В данном тесте использовалось разрешение для дисплея 1280 х 1024, максимальная детализация текстуры, 32-битное качество текстуры и трехлинейная фильтрация для получения таких результатов. Здесь чем выше результат, тем лучше.

Рис. 9. Тест Whetstone

Тест Whetstone был разработан в 70-х годах прошлого века для измерения скорости компьютера.

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

Рис. 10. Тест Drystone

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

Рис. 11. Тест Power Draw

Вы не можете получить более высокую производительность, ничем не жертвуя. И тест Power Draw хорошо это иллюстрирует. Получили высокую производительность, придется пожертвовать потреблением. Как можно видеть из этого теста, потребление с ростом производительности растет даже на холостом ходу. Но выход есть. Если производительность не столь важна, а ваше устройство должно работать с батарейным питанием, то, пользуясь результатом теста, можно из линейки Raspberry выбрать подходящий компьютер.

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

Ну, насколько хватит фантазии разработчика…

Обзор составил и подготовил
Шрага Александр,
a.

Рассмотрим начало работы с Arduino в операционной системе Windows. В качестве примера возьмём платформу Arduino Uno. Для других плат разница минимальна.

Установка Arduino IDE

Для начала нужно установить на компьютер интегрированную среду разработки Arduino — Arduino IDE. Из за войны между Arduino SRL и Arduino LLC , в зависимости от модели платформы, выберете версию Arduino IDE.

Скачать Arduino IDE 1.6.4 - для всех платформ, кроме Arduino Leonardo ETH и Arduino M0 (стабильная версия от Arduino LLC).

Запуск Arduino IDE

После того как вы загруз или и установили Arduino IDE, давайте запустим её! Должно открыться окно как на рисунке ниже.

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

    Arduino IDE не запускается? Вероятно на компьютере некорректно установлена JRE (Java Runtime Environment). Обратитесь к пункту (1) для переустановки Arduino IDE: инсталлятор сделает всю работу по развёртыванию JRE.

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

После установки Arduino IDE пришло время подключить платформу Arduino к компьютеру.

Соедините Arduino с компьютером через USB-кабель. Вы увидите, как на плате загорится светодиод «ON», и начнёт мигать светодиод «L». Это означает, что на плату подано питание, и микроконтроллер Arduino начал выполнять прошитую на заводе программу «Blink» (мигание светодиодом).

Чтобы настроить Arduino IDE на работу с конкретной Arduino, нам необходимо узнать, какой номер COM-порта присвоил компьютер данной платформе. Для этого нужно зайти в «Диспетчер устройств» Windows и раскрыть вкладку «Порты (COM и LPT)». Мы должны увидеть следующую картину:


Это означает, что операционная система распознала нашу плату Arduino как COM-порт, подобрала для неё правильный драйвер и назначила этому COM-порту номер 2 . Если мы подключим к компьютеру другую плату Arduino, то операционная система назначит ей другой номер. Поэтому, если у вас несколько плат Arduino, очень важно не запутаться в номерах COM-портов.

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

Если после подключения Arduino к компьютеру, в диспетчере устройств не появляется новых устройств, это может быть следствием одной из причин:

    Неисправный USB-кабель или порт

    Блокировка со стороны операционной системы

    Неисправная плата Arduino

Настройка Arduino IDE на работу с Arduino

Теперь нам необходимо сообщить Arduino IDE, что плата, с которой ей предстоит общаться, находится на COM-порту с номером 2 .

Для этого переходим в меню: Инструменты Порт и выбираем порт «COM2». Теперь Arduino IDE знает — что-то находится на порту «COM2». И с этим «чем-то» ей вскоре предстоит общаться.

Чтобы у Arduino IDE не осталось никаких сомнений, нам необходимо сообщить Arduino IDE с какой именно платой будем работать. Для этого переходим в меню: Инструменты Плата и выбираем плату «Arduino Uno».

Теперь Arduino IDE знает всё что ей необходимо для прошивки Arduino.

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

    Список последовательных портов пуст? Значит Arduino некорректно подключена. Вернитесь к пункту (3), чтобы отладить соединение.

    Arduino IDE невероятно тормозит при навигации по меню? Отключите в диспетчере устройств все внешние устройства типа «Bluetooth Serial». Например, виртуальное устройство для соединения с мобильным телефоном по Bluetooth может вызвать такое поведение.

Среда настроена, плата подключена. Теперь можно переходить к загрузке скетча.

Arduino IDE содержит очень много готовых примеров, в которых можно быстро подсмотреть решение какой-либо задачи. Есть в ней и простой пример «Blink». Давайте выберем его.

Немного модифицируем код, чтобы увидеть разницу с заводским миганием светодиода.

Вместо строчки:

напишем:

Полная версия кода:

void setup() { // настраиваем пин 13 в режим выхода pinMode(13, OUTPUT); } void loop() { // подаём на пин 13 «высокий сигнал» digitalWrite(13, HIGH); // ждём 100 миллисекунд delay(100); // подаём на пин 13 «низкий сигнал» digitalWrite(13, LOW); // ждём 100 миллисекунд delay(100); }

Теперь светодиод «L» должен загораться и гаснуть каждые 100 миллисекунд. То есть в 10 раз быстрее, чем в заводской версии. Загрузим наш скетч в Arduino и проверим, так ли это?

После загрузки светодиод начнёт мигать быстрее. Это значит, что всё получилось. Теперь можно смело переходить к « »

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

    В результате загрузки появляется ошибка вида avrdude: stk500_get sync(): not in sync: resp = 0x00 ? Это значит, что Arduino настроена некорректно. Вернитесь к предыдущим пунктам, чтобы убедиться в том, что устройство было распознано операционной системой и в Arduino IDE установлены правильные настройки для COM-порта и модели платы.

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

Visuino

Visuino - это бесплатная графическая среда, работающая на базе совместимых с Arduino промышленных контроллеров (ПЛК) Controllino. Она дает возможность создания сложных систем автоматизации и решений IoT (Internet of Things, интернета вещей), причем сделать это можно, просто перемещая и соединяя визуальные блоки. Программная среда автоматически генерирует код для промышленных контроллеров.

Итак, что надо сделать. Выбираем компоненты (модули) с панели компонентов и перемещаем их в область проектирования. Затем их необходимо соединить и настроить свойства. Это делается с помощью инспектора объектов.

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

Когда ПЛК запрограммирован, графическая среда подсказывает доступный способ подключения к контроллеру. Это может быть последовательный порт, Ethernet, Wi-Fi или GSM.

Наконец ваш проект готов: все контроллеры прописаны, все работает. Теперь, нажав на логотип Arduino, расположенный на верхней панели, вы заставите Visuino создать коды для Arduino и открыть среду его разработки (Arduino IDE), через которую уже можно скомпилировать код и загрузить его в ПЛК.

Совет. Если установленная плата не соответствует вашему Arduino, вы можете изменить ее с помощью команды «Select Board» (Выбрать панель).

Scratch

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

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

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

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

ArduBloсk

Когда человек уже полностью освоил Scratch, но еще не дорос до Wiring, на котором программируются Arduino-совместимые платы, самое время посоветовать ему написанный на Java инструмент ArduBloсk. Особенно хорош он для тех, кто увлекается робототехникой.

В чем же разница? Дело в том, что Scratch не умеет прошивать Arduino, он лишь управляет его ПЛК через USB. Таким образом, Arduino не может работать сам по себе, ведь он зависит от компьютера.

По сути, ArduBloсk - это промежуточный этап между детской Scratch и вполне профессиональной, хоть и доступной Visuino, поскольку так же, как последняя, обладает возможностью перепрошивки Arduino-совместимых контроллеров.

Совет. Не забудьте установить на свой ПК Java-машину . Это не займет много времени.

Итак, больше графических сред - хороших и разных. Да пребудет с вами Arduino.

Фото: компании-производители, pixabay.com

× Close


Arduino IDE - это бесплатная среда разработки для платформы Arduino, содержащая редактор кода, компилятор и модуль передачи прошивки в плату. Эта среда прекрасно подойдет для программистов, которые предпочитают языки программирования C и C++. Программы (скетчи), написанные с помощью Arduino IDE, обрабатываются препроцессором, а затем компилируются в AVR-GCC.

Среда разработки Arduino поставляется вместе с библиотекой программ, которая называется «Wiring», берущей начало от проекта Wiring, который позволяет делать много стандартных операций ввода/вывода гораздо проще.

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

Основные преимущества Arduino IDE для Windows

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

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

Основные недостатки

Пользователи отмечают, что некоторые версии Arduino IDE работают нестабильно. Также не стоит надеяться, что с этой программой можно создать серьезный проект. Arduino IDE скорее подходит для хобби-проектов.

Инсталляция

Что нового

  • Исправлено: IDE не запускается, если library_index.json развращен.
  • Исправлено: IDE не запускается, если найдена библиотека с недопустимой версией.
  • Исправлено: ошибки с ошибкой в очень сложных зарисовках (например, прошивка Marlin).
  • Исправлено: улучшен диалог, объясняющий, что теперь требуется MacOSX 10.8.
  • Исправлено: Медленные меню «Файл» и «Инструменты» в MacOSX.
  • Исправлено: поведение Weird Board Manager, если ядро AVR понижено до версии раньше 1.6.22.
  • Улучшенное удобство использования при первом использовании, если пользователь не выбирает последовательный порт.
  • Пользовательское меню «Инструменты» теперь сохраняет порядок, определенный в файле boards.txt.
  • AVR: Исправлены предупреждения EEPROM.
  • AVR: трактуйте «сужение преобразования» как предупреждение, а не ошибку. Это заставит некоторые библиотеки скомпилировать снова.
Arduino (


Загрузка...