Начало работы с Arduino в Windows
Данный документ разъясняет, как подключить плату Arduino к компьютеру и загрузить ваш первый скетч.
- Необходимое железо — Arduino и USB-кабель
- Программа — среда разработки для Arduino
- Подсоедините плату
- Установите драйвера
- Запустите среду разработки Arduino
- Откройте готовый пример
- Выберите вашу плату
- Выберите ваш последовательный порт
- Загрузите скетч в Arduino
Необходимое железо — Arduino и USB-кабель
В этом руководстве предполагается, что вы используете Arduino Uno, Arduino Duemilanove, Nano или Diecimila.
Вам потребуется также кабель стандарта USB (с разъемами типа USB-A и USB-B): такой, каким, к примеру, подключается USB-принтер. (Для Arduino Nano вам потребуется вместо этого кабель с разъемами А и мини-В).
Программа – среда разработки для Arduino
Найдите последнюю версию на странице скачивания.
После окончания загрузки распакуйте скачанный файл. Убедитесь, что не нарушена структура папок. Откройте папку двойным кликом на ней. В ней должны быть несколько файлов и подкаталогов.
Подсоедините плату
Arduino Uno, Mega, Duemilanove и Arduino Nano получают питание автоматически от любого USB-подключения к компьютеру или другому источнику питания. При использовании Arduino Diecimila убедитесь, что плата сконфигурирована для получения питания через USB-подключение. Источник питания выбирается с помощью маленького пластикового джампера, надетого на два из трех штырьков между разъемами USB и питания. Проверьте, чтобы он был установлен на два штырька, ближайших к разъему USB.
Подсоедините плату Arduino к вашему компьютеру, используя USB-кабель. Должен загореться зеленый светодиод питания, помеченный PWR.
Установите драйвера
Установка драйверов для Arduino Uno на Windows7, Vista или XP:
- Подключите вашу плату и подождите, пока Windows начнет процесс установки драйвера. Через некоторое время, несмотря на все её попытки, процесс закончится безрезультатно.
- Нажмите на кнопку ПУСК и откройте Панель управления.
- В панели управления перейдите на вкладку Система и безопасность (System and Security). Затем выберите Система. Когда откроется окно Система, выберите Диспетчер устройств (Device Manager).
- Обратите внимание на порты (COM и LPT). Вы увидите открытый порт под названием «Arduino UNO (COMxx)».
- Щелкните на названии «Arduino UNO (COMxx)» правой кнопкой мышки и выберите опцию «Обновить драйвер» (Update Driver Software).
- Кликните «Browse my computer for Driver software».
- Для завершения найдите и выберите файл драйвера для Uno – «ArduinoUNO.inf», расположенный в папке Drivers программного обеспечения для Arduino (не в подкаталоге «FTDI USB Drivers»).
- На этом Windows закончит установку драйвера.
См. также: пошаговые скриншоты для установки Uno под Windows XP.
Установка драйверов для Arduino Duemilanove, Nano или Diecimila в Windows7, Vista или XP:
Когда вы подключите плату к компьютеру, Windows запустит процесс установки драйвера (если до этого вы не подключали к компьютеру плату Arduino).
В Windows Vista драйвер скачается и установится автоматически (это действительно работает!)
В Windows XP откроется Мастер установки нового оборудования (Add New Hardware wizard).
- На вопрос «Подключиться к узлу Windows Update для поиска программного обеспечения? (Can Windows connect to search for software?)» выберите ответ «Нет, не в этот раз (No, not this time)». Нажмите «Далее».
- Выберите «Установить из списка или указать местонахождение (Advanced) (Install from a list or specified location (Advanced))» и нажмите «Далее».
- Убедитесь, что выбрано «Искать наиболее подходящий драйвер в указанном месте (Search for the best driver in these locations)»; снимите флажок «Искать на съемных носителях (Search removable media)»; выберите «Добавить область поиска (Include this location in the search)» и укажите папку drivers/FTDI USB Drivers в дистрибутиве Arduino. (Последнюю версию драйвера можно найти на FTDI веб-сайте). Нажмите «Далее».
- Мастер начнет поиск и затем сообщит вам, что обнаружен «USB Serial Converter». Нажмите «Готово (Finish)».
- Снова появится мастер установки нового оборудования. Выполните все те же шаги с теми же опциями и указанием того же пути для поиска. На этот раз будет обнаружен «USB Serial Port».
Проверить, что драйвера действительно установлены можно, открыв Диспетчер устройств (Windows Device Mananger) (он находится во вкладке Оборудование(Hardware) панели Свойства системы(System)). Найдите «USB Serial Port» в разделе «Порты (Ports)» – это и есть плата Arduino.
Запустите среду разработки Arduino
Дважды щелкните на приложении для Arduino.
Откройте готовый пример
Откройте мгновенный пример скетча «LED» по адресу: File > Examples > 1.Basics > Blink.
Выберите вашу плату
Вам нужно выбрать пункт в меню Tools > Board menu, соответствующий вашей плате Arduino.
Выбор Arduino Uno
Для Duemilanove Arduinoплат с ATmega328 (проверьте на плате надпись на микросхеме) выберите Arduino Duemilanove или Nano с ATmega328. Вначале платы Arduino выпускались с ATmega168; для них выберите Arduino Diecimila, Duemilanove, или Nano с ATmega168. Подробно о пунктах меню платы можно прочитать на странице «Среда разработки».
Выберите ваш последовательный порт
Выберите устройство последовательной передачи платы Arduino из меню Tools | Serial Port. Вероятно, это будет COM3 или выше (COM1 и COM2 обычно резервируются для аппаратных COM-портов). Чтобы найти нужный порт, вы можете отсоединить плату Arduino и повторно открыть меню; пункт, который исчез, и будет портом платы Arduino. Вновь подсоедините плату и выберите последовательный порт.
Загрузите скетч в Arduino
Теперь просто нажмите кнопку «Upload» в программе – среде разработки. Подождите несколько секунд – вы увидите мигание светодиодов RX и TX на плате. В случае успешной загрузки в строке состояния появится сообщение «Done uploading (Загрузка выполнена)».
(Замечание. Если у вас Arduino Mini, NG или другая плата, вам необходимо физически кнопкой подать команду reset непосредственно перед нажатием кнопки «Upload»).
Несколько секунд спустя после окончания загрузки вы увидите как светодиод вывода 13 (L) на плате начнет мигать оранжевым цветом. Поздравляю, если это так! Вы получили готовый к работе Arduino!
Как программируют Arduino
Arduino — это программируемый микроконтроллер, который можно использовать в робототехнике, умном доме и вообще запрограммировать его как угодно: чтобы он кормил кота, поливал растения, предупреждал вас о приближении врагов или открывал двери с помощью магнитного ключа. У нас есть подборка 10 интересных вещей, которые можно сделать на этой платформе. Теперь время разобраться, как программисты с ней работают.
Язык Arduino
Если опытный программист посмотрит на код для Arduino, он скажет, что это код на C++. Это недалеко от истины: основная логика Ардуино реализована на C++, а сверху на неё надет фреймворк Wiring, который отвечает за общение с железом.
На это есть несколько причин:
- У С++ слава «слишком сложного языка». Arduino позиционируется как микроконтроллеры и робототехника для начинающих, а начинающим иногда трудно объяснить, что С++ не такой уж сложный для старта. Проще сделать фреймворк и назвать его отдельным языком.
- В чистом С++ нет удобных команд для AVR-контроллеров, поэтому нужен был инструмент, который возьмёт на себя все сложные функции, а на выходе даст программисту часто используемые команды.
- Разработчики дали программистам просто писать нужные им программы, а все служебные команды, необходимые для правильного оформления кода на С++, взяла на себя специальная среда разработки.
Среда разработки (IDE) Arduino.
Подготовка и бесконечность
В любой программе для Arduino есть две принципиальные части: подготовительная часть и основной цикл.
В подготовительной части вы говорите железу, чего от вас ожидать: какие порты настроить на вход, какие на выход, что у вас как называется. Например, если у вас датчик подключён ко входу 10, а лампочка к выходу 3, то вы можете обозвать эти входы и выходы как вам удобно, а дальше в коде обращаться не к десятому входу и третьему выходу, а по-человечески: к датчику или лампочке. Вся часть с подготовкой выполняется один раз при старте контроллера. Контроллер всё запоминает и переходит в основной цикл.
Основной цикл — это то, что происходит в функции loop(). Ардуино берёт оттуда команды и выполняет их подряд. Как только команды закончились, он возвращается в начало цикла и повторяет всё. И так до бесконечности.
В основном цикле мы описываем все полезные вещи, которые должен делать контроллер: считывать данные, мигать лампами, включать-выключать моторы, кормить кота и т. д.
Что можно и чего нельзя
Ардуино работает на одноядерном и не шибко шустром процессоре. Его тактовая частота — 16 мегагерц, то есть 16 миллионов процессорных операций в секунду. Это не очень быстро, плюс ядро только одно, и оно исполняет одну команду за другой.
Вот какие ограничения это на нас накладывает.
Нет настоящей многозадачности. Можно симулировать многозадачность с помощью приёма Protothreading, но это скорее костыль. Нельзя, например, сказать: «Когда нажмётся такая-то кнопка — сделай так». Вместо этого придётся в основном цикле писать проверку: «А эта кнопка нажата? Если да, то…»
Нет понятия файлов (без дополнительных примочек, библиотек и железа). На контроллер нельзя ничего сохранить, кроме управляющей им программы. К счастью, есть платы расширения, которые позволяют немножко работать с файлами на SD-карточках.
Аналогично с сетью: без дополнительных плат и библиотек Ардуино не может ни с чем общаться (кроме как включать-выключать электричество на своих выходах).
Полегче со сложной математикой: если вам нужно что-то сложное типа тригонометрических функций, будьте готовы к тому, что Ардуино будет считать их довольно медленно. Для вас это одна строчка кода, а для Ардуино это тысячи операций под капотом. Пощадите.
Отчёты? Ошибки? Только при компиляции. У Ардуино нет встроенных средств сообщить вам, что ему нехорошо. Если он завис, он не покажет окно ошибки: во-первых, у него нет графического интерфейса, во-вторых — экрана. Если хотите систему ошибок или отчётность, пишите её 🙂
Если серьёзно, то перед заливом программы на контроллер компилятор проверит код и найдёт в нём опечатки или проблемы с типами данных. Но на этом всё: если у вас случайно получилась бесконечная петля в коде или при каких-то обстоятельствах вы повесите процессор делением на ноль — жмите перезагрузку и исправляйте код.
И всё же
Ардуино — это кайф: вы с помощью кода можете управлять физическим миром, моторами, лампами и электродеталями. Можно создать умную розетку; можно собрать умный замок для сейфа; можно сделать детектор влажности почвы, который будет включать автоматический полив. И всё это — на довольно понятном, читаемом и компактном языке C++, на который сверху ещё надета удобная библиотека для железа. Прекрасный способ провести выходные.
Какие ещё языки используют для Arduino
Но чу! Под Arduino можно писать и на других языках!
С. Как и С++, Си легко можно использовать для программирования микроконтроллеров Arduino. Только если С++ не требует никаких дополнительных программ, то для С вам понадобится WinAVR, чтобы правильно перевести код в язык, понятный контроллерам AVR.
Python. Было бы странно, если бы такому универсальному языку не нашлось применения в робототехнике. Берёте библиотеки PySerial и vPython, прикручиваете их к Python и готово!
Java. Принцип такой же, как в Python: берёте библиотеки для работы с портами и контроллерами и можно начинать программировать.
HTML. Это, конечно, совсем экзотика, но есть проекты, которые заставляют HTML-код работать на Arduino.
А вообще Arduino работает на контроллерах AVR, и прошить их можно любым кодом, который скомпилирован под это железо. Всё, что вам нужно — найти библиотеку для вашего любимого языка, которая преобразует нужные команды в машинный код для AVR.
Программируем Ардуино без написания программного кода | Электрик по-жизни
Привет, друзья!
После того, как я собрал и подключил цветомузыку сам, у меня появилось дикое желание научиться программировать микроконтроллер Ардуино , но…
Создание схем
Собрать схему подключения микроконтроллера для меня не проблема, например вот такую:
Управление освещением с помощью фоторезистораИли такую:
Схема проверки батареекНаписание кода для Ардуино
Написать код в Arduino IDE для меня — проблема. Пусть молодёжь в этом разбирается, у меня по-немецкому языку в школе тройка была, а тут ещё английский учить надо.
Скетч для схемы управления освещением с помощью фоторезистораКонечно можно напрячься, потратить годик на изучение C++, но время то идёт неумолимо, а самый ценный ресурс в наше время — это ВРЕМЯ.
Поэтому визуальные редакторы для меня более приемлемы. Попробовал программировать в визуальной среде Scratch.
Мне понравилось, но…
Программный код для регулировки освещения с помощью фоторезистора написанный в программе ScratchПрограмма Scratch всем хороша и меня бы наверно устроила, если бы не была привязана к компьютеру.
Это значит, что написав программу и запустив её на Arduino Uno (кроме Uno ещё программа совместима только с платой Leonardo), подключив плату к независимому источнику питания, выполняться программа не будет, так как в программе Scratch компьютер служит для Ардуино как сервер и плата становится зависима от компьютера.
Scratch скорее подходит для начального обучения для самых маленьких, чтобы увидеть взаимодействие с платой и смоделировать процессы. При чем скажу, что это достаточно наглядно и интересно. Но изучив операторов Scratch в большом программировании Ардуино эти знания не пригодятся, по крайней мере я не нашёл больше такой среды программирования.
Может я не прав?
Моё мнение такое: программа Scratch не подходит для написания программного кода для микроконтроллеров Arduino и тем более для больших проектов.
Что же делать? Как быть? Учить C++?
Нет!!! Я нашел КЛАССНУЮ программу для визуального программирования Ардуино без знания С++, но об этом в следующей статье.
Спасибо, что дочитали статью до конца.
Читайте ещё статью :
Сам не ожидал. Сделал портативный гаджет для программирования
Надеюсь статья была вам полезна и интересна.
Понравилась статья, ставьте палец вверх.
Хотите следить за новостями, подписывайтесь на наш канал.
Впереди ещё много интересного!Вы можете помочь проекту в развитии:
Программирование Arduino Pro Mini
Плата Arduino Pro Mini не содержит на борту USB интерфейс и для её программирования в среде Arduino IDE необходимо дополнительное устройство — переходник USB-UART.
Плата Arduino Pro Mini выпускается с микроконтроллером ATMega168 и ATMega328, а они, в свою очередь, бывают с питанием 5 Вольт и 3,3 Вольта. Так же существует клон платы Arduino Pro Mini с микроконтроллером LGT8F328P.
Рис. ПлатаArduino Pro Mini с микроконтроллером ATMega168
USB-UART интерфейсные платы выпускают с CP2102, Ch440G и другими микросхемами.
Рис. Плата USB-UART интерфейса на микросхеме CP2102
Рис. Плата USB-UART интерфейса на микросхеме CP2102
Рис. Плата USB-UART интерфейса на микросхеме Ch440G.
USB-DATA кабели от старых телефонов так же содержат микросхему USB-UART интерфейса и их удобно использовать при программировании плат Arduino Pro Mini.
Рис. Плата USB-UART интерфейса на микросхеме CP2101 в USB-DATA кабеле от старого телефона NOKIA.
Переходник USB-UART сделанный из USB-DATA кабеля от телефона Sony-Ericsson.
Рис. Принципиальная схема подключения USB-UART интерфейса к плате Arduino Pro Mini.
При подключении интерфейса USB-TTL(UART) к плате Arduino Pro Mini следует правилам из следующей таблицы, но также, следует учитывать что маркировка на платах USB-TTL не всегда соответствует сигналам. Возможны варианты указанные в скобках.
USB-UART (TTL) | Arduino Pro Mini |
---|---|
TX (RX) | RX |
RX (TX) | TX |
GND | GND |
+5V | VCC |
RST/DTR/GRN | RST/DTR |
Программируют плату Arduino Pro Mini в среде Arduino так же как и остальные платы Arduino. В Arduino IDE в меню Инструменты / Плата выбираем Arduino Mini, а в меню Инструменты / Процессор выбираем тип микроконтроллера установленного на нашей плате.
Как запрограммировать Arduino с помощью C++
Так что в последнее время я играл с моим Arduino, и мне было интересно, есть ли какой-то способ запрограммировать Arduino в C++. Я программировал его с помощью языка C++/ Processing в Vim и использовал makefile для компиляции и загрузки в Arduino.
Но моя цель-иметь возможность использовать классы и все замечательные функции C++ (или, по крайней мере, sum) для его программирования. В конце концов я бы даже хотел запрограммировать его в raw C, и у меня просто возникли проблемы с тем, чтобы узнать, как это сделать. Было бы здорово, если бы кто-то мог указать мне правильное направление или помочь мне.
c++ c arduinoПоделиться Источник Michaelslec 30 августа 2013 в 01:36
2 ответа
- Как запрограммировать экран CAN-BUS arduino для управления автомобилем windows?
Мой проект состоит в том, чтобы управлять автомобилем windows с помощью распознавания голоса. Я успешно контролировал некоторые LED-е, используя щит EasyVR arduino и arduino MEGA. Теперь я хочу взять под контроль windows, используя экран CAN-BUS arduino. Поскольку автомобиль, которым я владею, не…
- Avr-GCC с Arduino
Как я могу запрограммировать свой Arduino в C на Ubuntu. Я слышал об avr-gcc, но все онлайн-учебники кажутся чрезвычайно утомительными и не имеют вариантов для чипа AVR с загрузчиком Arduino. Может ли кто-нибудь помочь мне с более простым способом установить avr-gcc на Ubuntu и начать…
51
Вот мой опыт: я создаю роботизированную умную игрушку для аутичных детей, используя Arduino, датчики, двигатели, светодиоды и bluetooth. Я написал свои собственные библиотеки, чтобы делать именно то, что мне нужно, используя C++. Но я обнаружил, что компилятор Arduino IDE-это более старая версия, которая не поддерживает новые функции C++11.
Поэтому мне пришлось найти способ скомпилировать код C++11 и загрузить его в свой Arduino. Оказывается, это «pretty» basic: мне нужен был Makefile, набор инструментов avr-gcc 4.8 и вуаля! Работа makefile выполняется Sudar ( https://github.com/sudar/Arduino-Makefile), и она отлично работает. Однако мне пришлось немного настроить его, чтобы он работал для моего проекта.
Вот некоторые документы, которые я написал для своего проекта. Вы должны взглянуть, это может быть полезно для вас. https://github.com/WeAreLeka/moti/blob/master/INSTALL.md
Надеюсь, это поможет! Ура 🙂
EDIT 08/16/2014:
Поскольку я получил много запросов, подобных этому, от друзей и других разработчиков, я решил создать какой-то фреймворк , чтобы быстро и легко начать работать с вашими проектами Arduino.
Это голый проект Arduino
Надеюсь, это может быть чем-то полезным! Если вы найдете ошибки или вещи, которые я мог бы сделать лучше, не стесняйтесь заполнять и выпускать. 🙂
Поделиться ladislas 30 августа 2013 в 07:40
5
Язык, поддерживаемый Arduino IDE, в основном является C++ с некоторыми дополнительными функциями, реализованными программистами Arduino. Кроме того, в эскизе вы просто кодируете подпрограммы setup
и loop
(есть несколько других, которые вы в конечном итоге получите, когда станете более продвинутым программистом).
В эскизе вы можете определить классы в библиотеке и включить эту библиотеку с помощью Arduino IDE. Arduino IDE реализует компилятор Atmel, который создает код для процессора Arduino (существует несколько моделей). Вы можете работать за пределами Arduino IDE (звучит так, как вы есть), но вам все равно нужен компилятор, который нацелен на правильный процессор Atmel.
Наконец, классы C++ могут стать большими, поэтому в какой-то момент ваш исходный код перерастет то, что может хранить процессор. Итак, классы Arduino редки и точны!
Для начала я бы использовал Arduino IDE и писал эскизы (которые в основном являются C++). И, если позволяет случай, вы можете кодировать свои собственные библиотеки в C и/или C++.
Поделиться JackCColeman 30 августа 2013 в 04:52
Похожие вопросы:
Не могу запрограммировать Arduino из OS X
Я пытаюсь запрограммировать Arduino из OS X Lion. Это абсолютно не сработает, и у меня нет других машин, чтобы работать над этим. Вот ошибка, которую я получаю, когда пытаюсь загрузить: Binary…
как запрограммировать Arduino на языке assembly в os x?
Я довольно новичок в Arduino, но не в программировании. Недавно я купил Arduino Uno,и, несмотря на то, что изначально узнал, что он может быть запрограммирован только на c, я хотел посмотреть, смогу…
Не могу запрограммировать Arduino 328P после первого использования ICSP Sparkfun AVR Pocket Programmer
Мне нужно было изменить свое коричневое выходное напряжение на 4.3V с Arduino по умолчанию. Я купил у Sparkfun карманный программатор AVR и подключился в соответствии с инструкциями. У меня есть…
Как запрограммировать экран CAN-BUS arduino для управления автомобилем windows?
Мой проект состоит в том, чтобы управлять автомобилем windows с помощью распознавания голоса. Я успешно контролировал некоторые LED-е, используя щит EasyVR arduino и arduino MEGA. Теперь я хочу…
Avr-GCC с Arduino
Как я могу запрограммировать свой Arduino в C на Ubuntu. Я слышал об avr-gcc, но все онлайн-учебники кажутся чрезвычайно утомительными и не имеют вариантов для чипа AVR с загрузчиком Arduino. Может…
загрузите код arduino в arduino с помощью winform c#
Я создаю редактор кода для arduino с помощью winform C#, и у меня очень хорошо получается мой проект. Мой редактор позволяет автозаполнение и предоставляет помощь во время программирования. Моя…
Невозможно запрограммировать Atmega8a MCU с помощью arduino
Я новичок в этом деле. Купил микроконтроллер Atmega8a, чтобы немного повеселиться с ним. Но я не могу запрограммировать его с помощью arduino uno rev-3. Я не использовал никаких внешних частей для…
Как найти Arduino с помощью C#
Я хочу общаться с arduino, используя C#., но я не хочу общаться с любым arduino. Я хочу найти конкретный arduino. Например, если я использую arduino nano и встраиваю в него свои коды, я хочу найти…
Можете ли вы запрограммировать python на Arduino
Я ищу способ программировать с помощью python на Arduino. Существуют ли какие-либо переводчики даты up-to? Я просмотрел некоторые старые вопросы, но нет никаких версий даты up-to. В частности, я ищу…
Можете ли вы открыть и отредактировать файлы .c в Arduino IDE? А затем загрузить их на доску Arduino
Я пытался открыть c файла в Arduino IDE (что, как утверждают некоторые люди, возможно). Я не смог этого сделать. Как я могу запрограммировать Arduino в c, учитывая, что у меня есть проект/файлы в…
Arduino: ТОП-3 графических сред программирования
В последние годы кружки программирования и робототехники стали крайне популярны и доступны даже для учеников начальной школы. Это сделалось возможным благодаря применению графических сред программирования, которые, надо отметить, активно используются и крупными компаниями. Чтобы рассказать о графических средах программирования, мы выбрали три наиболее популярных из них.
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
Читайте также:
Page not found — Лаборатория проектов школы 169
Unfortunately the page you’re looking doesn’t exist (anymore) or there was an error in the link you followed or typed. This way to the home page.
Blog
- 02/25/2021 — Новое пособие «Дизайн компьютерных игр»
- 01/22/2021 — Snap4Arduino и проекты «виртуальной» робототехники
- 01/21/2021 — Cеминар «Программирование микроконтроллеров в визуальных средах. От учебных проектов к профессиональным»
- 01/18/2021 — Дистанционная внеурочка, материалы занятий по темам Робототехника и Дизайн компьютерных игр
- 12/01/2020 — Лекция-демонстрация «Комплект на базе робота Makeblock mBot в школе и дома»
- 11/24/2020 — Профессиональный и личностный успех в проектах технической направленности как фактор формирования социальных установок обучающихся
- 11/23/2020 — Виртуальная робототехника на Scratch и Snap4arduino
- 11/16/2020 — Цифровая образовательная среда. Проблемы, решения и влияние на социальные установки. Начало.
- 11/11/2020 — Представляем 5 главу книги «Scratch и Arduino для юных программистов и конструкторов»
- 08/25/2020 — Программа физического моделирования Algodoo, первые шаги
- 08/19/2020 — Средства визуального программирования микроконтроллеров, краткий обзор обновлений
- 08/04/2020 — Готовим дидактические материалы для внеурочки в условиях продолжающейся пандемии
- 06/01/2020 — Шаг за шагом моделируем в Scratch гармонические колебания и упругое взаимодействие объектов
- 04/27/2020 — Шаг за шагом моделируем столкновения объектов в среде Snap4arduino
- 04/18/2020 — Шаг за шагом моделируем поведение робота в среде Snap4arduino
- 04/04/2020 — Создание домашних заданий в TRIK Studio
- 03/27/2020 — Дистанционное обучение робототехнике на платформе TRIK Studio
- 03/05/2020 — Открытая учебная робоплатформа нового поколения
- 02/25/2020 — Преемственность учебных материалов в робототехнике, альтернативы mBot
- 12/12/2019 — Методы распределённой разработки как учебный инструмент в робототехнике
- 12/10/2019 — Приглашаем на городской семинар «Современные микроконтроллеры и ранняя инженерная профориентация в школе»
- 12/02/2019 — Открытые зимние состязания Санкт-Петербурга по робототехнике 2019
- 11/22/2019 — Наш УМК по робототехнике — Победитель конкурса инновационных продуктов!
- 10/22/2019 — Сборка робота на основе конструктива из набора «Ресурсный набор Lego Mindstorms EV3 (45560)»
- 09/20/2019 — Наш УМК выставлен на участие в региональном конкурсе инновационных продуктов
- 09/12/2019 — Семинар «Техносфера современной школы: создание и перспективы использования»
- 09/01/2019 — Перевод регламента соревнований makeX 2019 года
- 05/29/2019 — Апробация плат от Elecfreaks
- 05/26/2019 — 2 место в категории «Следовании по линиии экстремал»
- 05/15/2019 — Образовательный робонабор под нашу книжку.
- 04/24/2019 — ME-Sensors 3D (модели для печати защитных пластин)
- 04/18/2019 — Региональный круглый стол в 169-ой
- 04/07/2019 — Поздравляем победителей открытых состязаний Санкт-Петербурга по робототехнике 6-7 апреля 2019
- 03/31/2019 — Открытые соревнованиях по робототехнике Центрального района
- 03/28/2019 — ИТНШ 2019. «Ноу-хау» на основной площадке конференции.
- 03/27/2019 — ИТНШ 2019. Выездной семинар в 169-ой
- 02/22/2019 — 3D-печать на занятиях. Из опыта работы.
- 02/18/2019 — Fischertechnik. BT Стартовый набор. Пробуем ROBO Pro Light
- 02/11/2019 — Образовательные продукты Makeblock — традиции, инновации и открытые стандарты
- 02/02/2019 — Курсы робототехники в 169-ой
- 01/30/2019 — Первый шаг в мир микроконтроллеров
- 01/27/2019 — Городские соревнования «Юный конструктор»
- 12/25/2018 — Обзор визуальных средств программирования микроконтроллеров (часть 2)
- 12/20/2018 — Городской семинар «Scratch-подобные визуальные среды программирования микроконтроллеров: обзор, сравнение, расширение возможностей, опыт использования»
- 12/19/2018 — Обзор визуальных средств программирования микроконтроллеров (часть 1)
- 12/14/2018 — Игрофикация в робототехнике, плюсы и минусы
- 12/14/2018 — Fischertechnik. BT Стартовый набор. Начинаем апробацию.
- 12/05/2018 — MakeBlock Ranger. 3D модели для сборки. Вариант 1.
- 11/22/2018 — Наш УМК — лауреат конкурса инновационных продуктов!
- 11/21/2018 — Поздравляем нашего выпускника!
- 10/23/2018 — В 169-ой переведен регламент MakeX Robotics Competition Blue Planet 2018
- 10/18/2018 — Новое поколение микроконтроллеров и программных средств, в чем отличие?
- 10/14/2018 — Зачем и как мы учим программировать микроконтроллеры. Как?
- 10/06/2018 — Робофинист 2018: ведем мастер-классы, представляем новые продукты.
- 10/05/2018 — Ура! В издательстве БХВ вышла наша новая книжка про роботов!
- 09/28/2018 — 3D печать в школе — несколько зарисовок из опыта работы.
- 09/22/2018 — Договор с MakeBlock Co.Ltd и ООО «ЦС Импэкс» о совместных исследованиях!
- 06/08/2018 — Advanced Arduino Extension — расширение для mBlock3 от А.Григорьева
- 04/24/2018 — Встреча: MakeBlock, DIGIS, БХВ и 169-ая))
- 03/28/2018 — ИТНШ 2018. Выездной семинар в 169-ой.
- 03/27/2018 — ПОФ 2018. Ярмарка «Успешных практик реализации ФГОС»
- 03/20/2018 — mBot. Собираем оптимальную конфигурацию учебного робота.
- 03/15/2018 — ПРОБЛЕМЫ ВНЕДРЕНИЯ УЧЕБНЫХ ПРОГРАММ ПО НАПРАВЛЕНИЮ «РОБОТОТЕХНИКА» В ОБЩЕОБРАЗОВАТЕЛЬНОЙ ШКОЛЕ
- 03/08/2018 — 7-8 марта. Выступление на Робофесте 2018 в Москве.
- 03/06/2018 — Новый видеоролик о mBot: «лягушка» и «жук»
- 02/14/2018 — ОПЫТ ПРЕПОДАВАНИЯ РОБОТОТЕХНИКИ В ОБЩЕОБРАЗОВАТЕЛЬНОЙ ШКОЛЕ
- 01/31/2018 — вебинар «Опыт школ по внедрению Инженерного инновационного класса»
- 01/30/2018 — Семинар по программированию микроконтроллеров и технологиям «Интернет-вещей»
- 01/18/2018 — Робототехника и экология. Выступление в Туле.
- 12/09/2017 — «Робоняша» в 169-ой
- 12/08/2017 — Новый ролик в видеоблоге: Робот mBot от компании Makeblock. ч.3-1. Расширение: шестиногий робот.
- 11/30/2017 — Межрайонный мастер-класс
- 11/25/2017 — 169-ой школе исполнилось 80 лет!
- 11/18/2017 — Практиканты «Петровского колледжа» в 169-ой
- 11/15/2017 — Новая книга!
- 11/07/2017 — Проект «Знакомимся, mBot!»
- 10/06/2017 — «Умные вещи», новый виток развития технологий
- 10/05/2017 — Как связать два микроконтроллера по Bluetooth. Настраиваем HC-05 для работы в режиме Master
- 10/04/2017 — СПО в школе. Давайте вместе заполним список! Часть 1. Поддержка робототехники и конструирования
- 10/03/2017 — Робототехника… без роботов. Scratch и имитационное программирование. Движение по линии
- 10/02/2017 — Стандарты для Arduino-роботов как возможность занять правильную нишу в образовательной робототехнике.
- 10/02/2017 — Использование распределенных ресурсов сетевых партнеров для формирования современной техносферы образовательной организации
- 10/02/2017 — Визуальное программирование микроконтроллеров в образовании
Arduino Project Hub
Все productsAmazon Alexa Официальный Arduino SkillArduino 101Arduino 4 Реле ShieldArduino ADK Rev. 3Arduino DueArduino EsploraArduino Ethernet Rev. 3Arduino Ethernet Shield 2Arduino GemmaArduino GSM щит V2Arduino IDEArduino IoT CloudArduino ISPArduino LCD ScreenArduino LeonardoArduino Leonardo С HeadersArduino LilyPad Главная BoardArduino LilyPad USBArduino Mega 2560Arduino MicroArduino Mini 05Arduino Mini USB серийный adapterArduino MKR1000Arduino MKR2UNO AdapterArduino МКР 485 ShieldArduino МКР CAN ShieldArduino МКР ENV ShieldArduino МКР Fox 1200Arduino МКР GSM 1400Arduino МКР IoT BundleArduino МКР IoT Bundle 1010Arduino МКР IoT Prime BundleArduino МКР NB 1500Arduino МКР Прото Большой ShieldArduino МКР Прото ShieldArduino МКР реле Прото ShieldArduino MKR SD Proto ShieldArduino MKR Vidor 4000Arduino MKR WAN 1300Arduino MKR WAN 1310Arduino MKR WiFi 1010Arduino MKR ZeroArduino MotorShield Rev3Arduino Nano 33 BLEArduino Nano 33 BLE SenseArduino Nano 33 IoTArduino Nano EveryArduino Nano R3Arduino Oplà IoT KitArduino Portenta H7Arduino Pro Mini 328 — 3.3V / 8MHzArduino Pro Mini 328 — 5V / 16MHzArduino Proto ShieldArduino YOUGY YYY SIM KitArduino UNOArduino UNO Rev3Arduino UNO Wifi Rev.2Arduino USB 2 Serial microArduino USB Host ShieldArduino Web EditorArduino Wi-Fi Shield Комплект для роботов ShieldArduino ZeroEMoRo BasicIndustruino Proto KitLilypad Arduino SimpleMateria 101MKR Motor CarrierRoad to Santa Claus KitRural Hack Kit
Все категорииАудио и звукЛетающие предметыГаджеты, игры и игрушки
Последнее обновлениеСамое популярноеСамое недавнееСамое уважаемоеТенденции
Любая сложностьПростойСреднийПродвинутыйСверхсложный
Любой типРуководство по началу работыДемонстрацияProtipTeardownTutorialРаботает
Program An Arduino За несколько простых шагов
STEP 1
Микроконтроллеры Arduino бывают разных типов.Самым распространенным является Arduino UNO, но есть и специализированные варианты. Прежде чем приступить к сборке, проведите небольшое исследование, чтобы выяснить, какая версия будет наиболее подходящей для вашего проекта.
STEP 2
Для начала вам необходимо установить Arduino Programmer, также известную как интегрированная среда разработки (IDE).
ШАГ 3
Подключите Arduino к USB-порту компьютера. Для этого может потребоваться специальный кабель USB. У каждого Arduino свой виртуальный адрес последовательного порта, поэтому вам нужно будет перенастроить порт, если вы используете разные Arduinos.
ШАГ 4
Установите тип платы и последовательный порт в программаторе Arduino.
STEP 5
Протестируйте микроконтроллер с помощью одной из предварительно загруженных программ, называемых эскизами, в Arduino Programmer. Откройте один из примеров эскизов и нажмите кнопку загрузки, чтобы загрузить его. Arduino должен начать реагировать на программу: например, если вы настроили его на мигание светодиода, он должен начать мигать.
STEP 6
Чтобы загрузить новый код в Arduino, вам либо потребуется доступ к коду, который вы можете вставить в программатор, либо вам придется написать его самостоятельно, используя язык программирования Arduino, чтобы создать свой собственный. эскиз.Скетч Arduino обычно состоит из пяти частей: заголовок с описанием скетча и его автора; раздел, определяющий переменные; программа установки, которая устанавливает начальные условия переменных и запускает предварительный код; подпрограмма цикла, в которую вы добавляете основной код, который будет выполняться многократно, пока вы не остановите выполнение скетча; и раздел, в котором вы можете перечислить другие функции, которые активируются во время настройки и подпрограмм цикла. Все эскизы должны включать в себя процедуры настройки и цикла.
STEP 7
После того, как вы загрузили новый скетч в Arduino, отключите его от компьютера и интегрируйте в свой проект, как указано.
Этот проект был взят из книги Большая книга хаков: 264 удивительных технических проекта своими руками _ сборника гениальных и веселых проектов для начинающих творцов. Купите здесь.
Проверить | Сканирует ваш код и сообщает о любых ошибках |
Загрузить | Компилирует ваш код и загружает его на плату Arduino через USB |
Новый | Открывает пустой эскиз Arduino |
Открыть | Открывает список сохраненных эскизов в файловом браузере |
Сохранить | Сохраняет текущий эскиз |
Serial Monitor | Открывает последовательный монитор в новом window |
Структура программы Arduino | |
void setup () {} | Выполняется один раз при запуске |
void loop () {} | Работает постоянно |
Встроенные функции Arduino | |
Настройка контактов | |
pinMode (PIN_NUMBER, INPUT / OUTPU T) | Устанавливает контакт в местоположении PIN_NUMBER как INPUT или OUTPUT |
pinMode (PIN_NUMBER, INPUT_PULLUP) | Устанавливает контакт в местоположении PIN_NUMBER как вход с использованием встроенного вывода платы Arduino -вверх резистор |
digitalRead (PIN_NUMBER) | Считывает ввод с PIN_NUMBER и возвращает 1 или 0 (HIGH или LOW) |
digitalWrite (PIN_NUMBER, VALUE) | Записывает значение 1 или 0 (HIGH или LOW) к цифровому выводу PIN_NUMBER |
analogRead (PIN_NUMBER) | Считывает аналоговый вывод PIN_NUMBER и возвращает целое число от 0 до 1023 |
analogWrite (PIN_NUMBER, VALUE) | Эмулирует аналоговый выход VALUE с использованием PWM на PIN_NUMBER (примечание: доступно только на контактах 3, 5, 6, 9, 10 и 11) |
analogReference (по умолчанию) | Использование опорного напряжения по умолчанию (5В или 3. 3V в зависимости от напряжения бортовой) |
analogReference (внутренний) | Использовать внутреннее опорное напряжение (1.1V для ATmega168 / 328p, 2,56 для ATmega 32U4 / 8) |
analogReference (внешний) | Использование прикладывается напряжение к Ареф штырька как опорное напряжение (примечание: 0- только) |
функции времени | |
Миллиса () | Возвращает время в миллисекундах, так как Arduino эскиз начал бегать как беззнаковое длинное целое |
micros () | Возвращает время в микросекундах с момента начала работы скетча Arduino как длинное целое число без знака |
delay (INTEGER) | Задерживает выполнение программы на INTEGER миллисекунды |
delayMicroseconds (INTEGER) | Delays выполнение программы для целых микросекунд |
Математические функции | |
мин (i, j) | Возвращает наименьшее из двух значений i и j |
max (i, j) | Возвращает наибольшее из двух значений i и j |
abs (i) | Возвращает абсолютное значение i. |
sin (угол) | Возвращает синус угла в радианах |
cos (угол) | Возвращает косинус угла в радианах |
tan (угол) | Возвращает тангенс угла угол в радианах |
sqrt (i) | Возвращает квадратный корень из i |
pow (основание, показатель степени) | Возводит основание числа в экспоненту числа (например,g pow (2, 3) == 8) |
constrain (i, minval, maxval) | Сопоставляет значение i между minval и maxval |
map (val, fromL, fromH, toL, toH) | Переназначает val из одного диапазона в другой |
random (i) | Возвращает случайное длинное целое число меньше i |
random (i, j) | Возвращает случайное длинное целое число между i и j |
randomSeed (k) | Использует значение k для заполнения функции random () |
Приведение | |
(тип) переменной | Преобразует значение переменной в новый тип |
Serial Связь | |
Последовательный. begin (speed) | Начать последовательную связь с указанной скоростью |
Serial.end () | Завершить последовательную связь |
Serial.print (DATA) | Печатает ДАННЫЕ на последовательный порт. ДАННЫЕ могут быть символами, строками, целыми числами и числами с плавающей запятой |
Serial.available () | Возвращает количество символов, доступных для чтения в последовательном буфере |
Serial.read () | Прочитать первый символ в последовательном буфере (возвращает -1, если данные недоступны) |
Последовательный.write (DATA) | Записать ДАННЫЕ в последовательный буфер. ДАННЫЕ могут быть символом, целым числом или массивом |
Serial.flush () | Очищает последовательный буфер после завершения исходящей связи |
Servo (#include the Servo.h tag) | |
Servo myServo | Создает переменную myServo типа Servo |
myServo.attach (PIN_NUMBER) | Связывает myServo с контактом в местоположении PIN_NUMBER |
myServo.write (angle) | Записывает угол между 0 и 180 сервоприводом, подключенным к myServo |
myServo.writeMicroseconds (us) | Записывает значение в микросекундах на сервопривод, подключенный к myServo (обычно между 1000 и 2000 с 1500 в качестве средней) |
myServo.read () | Возвращает целое число, содержащее текущий угол сервопривода от 0 до 180 |
myServo.attached () | Возвращает истину, если сервопривод прикреплен к выводу |
myServo.detach () | Разъединяет myServo с прикрепленным контактом |
myServo.detach () | Разъединяет myServo с прикрепленным контактом |
Как программировать Arduino?
В предыдущем руководстве мы увидели, как установить IDE Arduino, настроить или установить необходимые драйверы USB, а также базовую настройку IDE, чтобы плата Arduino распознавалась IDE. В этом руководстве мы продолжим работу с Arduino IDE, исследуя ее функции, понимая основные операции и загружая нашу первую программу на плату Arduino UNO.
Перед тем, как продолжить обучение, подключите плату Arduino UNO к компьютеру с помощью кабеля USB, как показано на изображении ниже, и выберите соответствующую плату и COM-порт, если это еще не сделано. Нет необходимости во внешнем источнике питания для платы Arduino, поскольку она потребляет необходимую мощность от USB-соединения.
Программы в среде Arduino называются эскизами. В среде Arduino IDE белое пространство, выделенное на изображении ниже, называется текстовым редактором.Это пространство можно использовать для написания всего кода для наших плат Arduino.
Выберите следующий набор проектов Arduino, которые вы хотите изучить в Electronicshub : Arduino Projects »Прежде чем приступить к написанию нашей собственной программы, мы сначала рассмотрим пример скетча, представленный в среде Arduino IDE. Для этого нам нужно перейти в меню «Файл» и перейти на вкладку «Примеры». В раскрывающемся меню вкладки Примеры мы можем увидеть список правильно разделенных на категории примеров, таких как Базовый, Аналоговый, Цифровой, Связь и т. Д.
Как новичок или первый пользователь, используйте базовые примеры и выберите в них эскиз «Мигание». Откроется новое окно с наброском Blink. Используя эскиз Blink, мы собираемся включить светодиод, подключенный к 13 -му контакту Arduino, на одну секунду и выключить его на одну секунду в повторяющейся манере, то есть мы будем мигать светодиодом непрерывно.
Всякий раз, когда мы начинаем с электроники и, в частности, микроконтроллеров, первый проект или программа, которую мы реализуем, — это мигание светодиода, поскольку мигание светодиода в электронике считается эквивалентом Hello World в C.
На этом этапе мы напрямую загрузим скетч, не углубляясь в программную часть проекта. Чтобы загрузить эскиз на плату Arduino, нам нужно использовать два значка в Arduino IDE: сначала «Проверить или скомпилировать», а затем «Загрузить». Эти значки выделены на изображении ниже.
Первый значок с галочкой — это значок проверки или компиляции. Используя этот значок, мы можем проверить правильность написанного скетча с точки зрения синтаксиса и показать ошибки компиляции, если они есть.Мы загружаем скетч только в том случае, если компиляция прошла успешно, без ошибок. В качестве альтернативы мы можем использовать сочетание клавиш Ctrl + R для проверки или компиляции эскиза.
Часть в нижней части IDE называется окном сообщений. Он отображает статус компиляции, сообщения об ошибках и подробную информацию об ошибках. Если мы скомпилируем скетч с помощью первого значка, мы сможем увидеть статус компиляции и сообщение Done Compilation в окне сообщений.
Если в скетче есть ошибка, например, пропущенная точка с запятой или незакрытая скобка, компиляция останавливается на этом месте, и в окне сообщения указывается ошибка вместе с ее типом и местоположением.Используя это, мы можем исправить ошибку.
Второй значок рядом со значком «Подтвердить» — это значок «Загрузить». Как только компиляция скетча будет успешной, мы сможем загрузить скетч, используя этот значок. Существует сочетание клавиш Ctrl + U для загрузки скомпилированного скетча. Каждый раз, когда мы нажимаем на значок «Загрузить», эскиз компилируется перед загрузкой.
Поскольку наш скетч был успешно скомпилирован без ошибок, мы можем продолжить загрузку скетча. Когда мы щелкаем значок загрузки, начнется загрузка скетча, и микроконтроллер на плате Arduino будет запрограммирован.
В это время светодиоды TX и RX на плате Arduino UNO мигают, указывая на то, что данные передаются через последовательный порт. После успешной загрузки скетча в окне сообщений появится сообщение Done Uploading.
В окне сообщения также отображаются некоторые другие детали, такие как объем флэш-памяти, используемой кодом, время, необходимое для загрузки и т. Д.
После успешной загрузки скетча светодиод на плате Arduino, который подключен к его 13 -й штифт , начнет мигать с интервалом в одну секунду (или согласно написанному эскизу).
В этом уроке мы увидели, как загрузить наш первый скетч на плату Arduino UNO, а также поняли некоторые основные функции Arduino IDE. В следующем уроке мы проанализируем тот же эскиз и разберемся с эскизом, его компонентами и изменим некоторые параметры, чтобы лучше понять их.
Программирование микроконтроллеров Arduino для начинающих | разработано специалистами по программному обеспечению j-labs
Проверьте, насколько просто и легко программировать микроконтроллер Arduino.
Он компактный, мощный, поставляется с сотнями дополнительных компонентов, которые позволяют почувствовать себя настоящим инженером.
Пусть это руководство вдохновит вас на создание собственных устройств, микромашин, компонентов умного дома и многого другого!
Настройте свою плату и IDEШаг 1 — вам нужна плата Arduino. Существует множество типов плат, а также множество клонов, для начала, Arduino Uno — самый дешевый выбор.
Шаг 2 — Загрузите программное обеспечение Arduino Ide. Загрузите программное обеспечение IDE, совместимое с вашей ОС, с официальной страницы https://www.arduino.cc/en/Main/Software.
Программное обеспечение работает как с оригинальной платой, так и с более дешевыми клонами.
Шаг 3 — Включите плату. Подключите плату Arduino к ПК с помощью USB-кабеля.
Шаг 4 — Запустите и настройте IDE.
- Файл -> Новое для запуска нового проекта
- Инструменты -> Плата для выбранного типа платы, которую вы используете
- Инструменты -> Последовательный порт для выбора порта плата подключена к
Теперь вы готовы к написать код.
Структура кода
Программное обеспечение Arduino имеет открытый исходный код. Исходный код среды Java выпускается под лицензией GPL, а библиотеки микроконтроллеров C / C ++ — под лицензией LGPL.
Структура кода состоит из двух основных функций:
· Функция Setup ()
· Функция Loop ()
Пустая настройка () {
}
Функция настройки используется для инициализировать переменные, режимы контактов, прикрепить библиотеки. Эта функция будет запускаться только один раз после включения платы или после сброса.
Пустой цикл () {
}
Эта функция последовательно выполняет цикл, позволяя программе изменяться и реагировать.Активно управлять платой
Содержит основное тело программы.
Создание проекта
В этом руководстве я буду использовать два модуля Arduino для создания простого детектора пыли / загрязнения.
Я буду использовать:
- Датчик пыли DMS501
- простой двухстрочный ЖК-дисплей (с поворотным потенциометром) 2 строки с 16 буквами для представления результата измерения.
- В качестве контроллера я использую Arduino Mega (клон), но все используемые модули можно подключить к плате Arduino.
Все модули, которые могут быть подключены к микроконтроллерам, имеют документацию с деталями подключения.
Примечание:
Существует большое количество различных модулей, которые можно подключить к Arduino, и его соединительные контакты могут быть разными.
Производители всегда предоставляют необходимую вспомогательную информацию. Найдите в Интернете, как подключить ваши модули,
Существует множество руководств для любого типа дисплея / модуля, который у вас есть.
Может быть даже несколько способов подключения каждого модуля, после создания нескольких приспособлений вы поймете, как это сделать.
Схема контактов подключения для ЖК-дисплея, как указывалось ранее, это не единственный способ сделать это с ЖК-дисплеем 2×16:
Описание контактов:
1 Земля (0 В) — Земля
2 Напряжение питания; 5 В (4,7 В — 5,3 В) — Vcc
3 Регулировка контрастности; через переменный резистор — VEE
4 Выбирает регистр команд при низком уровне и регистр данных при высоком — Регистр Выберите
5 Низкий для записи в регистр; Высокий уровень для чтения из регистра — чтение / запись
6 Отправляет данные на выводы данных при подаче импульса от высокого к низкому — Включить
7 8-битных контактов данных — D80
8 8-битных контактов данных — D81
9 8-битных выводы данных — D82
10 выводов данных 8-бит — D83
11 выводов 8-бит данных — D84
12 выводов 8-битных данных — D85
13 выводов 8-битных данных — D86
14 выводов 8-битных данных — D87
15 Backlight VCC (5V) — Led +
16 Backlight Ground (0V) — Led
И датчик пыли:
Полная схема подключения:
Код — переменные и библиотеки
Этот код C ++ универсален и будет работать на любой плате Arduino или клонировать.
Я разделил все переменные на первую часть кода.
В первую часть я включаю библиотеки для обоих модулей, чтобы в дальнейшем использовать их предопределенные методы.
Другая часть — определить PINS, к которым фактически подключаются кабели.
Setup ()
Часть настройки содержит код, который будет выполняться при запуске — только один раз.
Инициализация для двух модулей.
Шлейф для прогрева датчика.
Вывод информации на консоль и на ЖК-дисплей
Loop ()
Фактический код, который будет выполняться на устройстве в бесконечном цикле.
Запрос данных от датчика и очистка ЖК-дисплея для удаления текста счета.
Я использую методы библиотеки dsm501 для получения информации о плотности частиц
для последующей печати на ЖК-дисплее. Я использую эту библиотеку, потому что в основном этот датчик обеспечивает количество частиц на квадратный фут, а эти единицы мало что говорят о нашей стране.
Lib содержит нетривиальные вычисления для преобразования его в мкг / м3 (микрограмм на квадратный метр)
Консоль
Ввод инструментов-> Serial Monitor покажет консоль
Конечное устройство
Сводка
Arduino удобна для пользователя микроконтроллер, от простого к дешевому и легкого в запуске.
На рынке представлено множество различных плат и сотни различных датчиков, двигателей, модулей и т.д.
Это позволяет создавать полезные и сложные устройства. Все это хорошо задокументировано, есть множество руководств, видео на YouTube и форумов, которые помогут начать работу, решить проблемы и упростят вашу жизнь.
Мир маленькой электроники остается открытым для всех, кто хочет попробовать.
Альтернативные интерфейсы Arduino — learn.sparkfun.com
Обзор опций
Arduino — это круто! Это наша популярная образовательная платформа в области электроники и лучший выбор для быстрого прототипирования, но она не для всех.Может быть, это загадочный язык, или IDE на основе Java, или, может быть, это просто бирюзовая граница окна — независимо от ваших рассуждений, если вы пытаетесь избежать IDE Arduino, вот несколько альтернатив, которыми мы хотели бы поделиться .
Альтернативы Arduino, рассматриваемые в этом руководстве, варьируются от простого вводного графического программирования до веб-интерфейсов Arduino для вашего веб-браузера. Вот краткий обзор каждого описанного интерфейса, мы более подробно рассмотрим его позже:
ArduBlock — расширение Arduino для визуального программирования
ArduBlock — это надстройка для графического программирования к стандартной среде разработки Arduino.Вместо запоминания загадочных функций, забвения точек с запятой и отладки кода ArduBlock позволяет вам создавать свою программу Arduino, перетаскивая блокирующие блоки.
ArduBlock — идеальный интерфейс, если вы только начинаете заниматься программированием, электроникой или Arduino. Ознакомьтесь с разделом ArduBlock этого руководства для ознакомления и краткого руководства по началу работы.
Minibloq — автономное программное обеспечение для визуального программирования
В том же духе, что и ArduBlock, Minibloq — это среда графического программирования , в которой группы блоков накладываются друг на друга для создания вашей программы.Однако, в отличие от ArduBlock, Minibloq — это отдельная программа, установка Arduino не требуется.
Одной из самых мощных функций Minibloq является генерация кода в реальном времени — когда вы перетаскиваете блоки в свою программу, одновременно генерируется эквивалентный код. Это делает Minibloq отличным инструментом для начинающих и программистов среднего уровня.
Ознакомьтесь с разделом Minibloq этого руководства для ознакомления с интерфейсом.
… и выше
Это альтернативы, которые мы обсудим в этом руководстве, но есть много других, которые стоит проверить, в том числе:
- Scratch for Arduino — Подробнее визуальное программирование ! Scratch for Arduino (S4A) — это рифф популярной среды программирования Scratch.Если вы опытный пользователь Scratch, это определенно стоит проверить!
- Modkit — После успешной кампании на Kickstarter, Modkit уверенно движется к созданию еще одной отличной визуальной альтернативы Arduino. Посетите их веб-сайт и прочувствуйте их визуальную среду на основе браузера .
- Arduino IDE для Atmel Studio — Atmel Studio — невероятно мощный инструмент для программирования и отладки микросхем AVR, подобных тем, что есть на Arduino.Если вам нужен более продвинутый подход к для Arduino или чипов Atmel в целом, ознакомьтесь с этим расширением для Atmel Studio.
Это расширение может быть чрезвычайно мощным инструментом — в комплекте с реализацией точки останова и множеством функций, к которым вы можете привыкнуть из более продвинутых IDE.
ArduBlock
ArduBlock — это среда программирования, призванная сделать «физические вычисления с Arduino такими же простыми, как перетаскивание».«Вместо того, чтобы писать код, беспокоиться о синтаксисе и (неправильно) расставлять точки с запятой, ArduBlock позволяет визуально запрограммировать со скомпонованным списком блоков кода.
ArduBlock основан на простоте Arduino и представляет собой идеальный шлюз для начинающих к физическим вычислениям. Вместо того, чтобы рвать волосы на отладку, вы можете тратить свое время на создание!
Установка ArduBlock
ArduBlock является чем-то вроде «надстройки» к Arduino, поэтому для него требуется, чтобы у вас была установлена Arduino IDE.Однако преимущество этого в том, что Arduino многоплатформенный — ArduBlock работает на Windows, Mac или Linux . Кроме того, наличие уже существующей Arduino упрощает переход от визуального программирования к текстовому программированию, когда неизбежность приближается.
Установка ArduBlock может быть немного сложной — нет установщика, только файл Java, который нужно сохранить в очень определенном месте. Чтобы установить его, выполните следующие действия:
- Загрузите и установите Arduino (если вы еще этого не сделали) — Ardublock является расширением IDE Arduino по умолчанию, поэтому для его запуска вам потребуется установить Arduino на свой компьютер.Ознакомьтесь с нашим руководством по установке Arduino IDE, чтобы узнать, как это сделать.
- Загрузите ArduBlock — щелкните ссылку слева или перейдите на страницу ArduBlock Sourceforge, чтобы найти последнюю и лучшую версию.
- Определите местоположение вашей книги Arduino Sketchbook — это папка на вашем компьютере, в которой по умолчанию сохраняются ваши эскизы и библиотеки. Чтобы найти местоположение вашего блокнота, запустите Arduino, и откройте Preferences , перейдя в File> Preferences.Содержимое верхнего текстового поля определяет местоположение вашего альбома для рисования. Запомните это место и закройте Arduino.
- Создайте [альбом для рисования] / tools / ArduBlockTool / tool / — файл Ardublock, который вы скачали ранее, должен находиться в очень определенном месте в вашем альбоме для рисования Arduino. Перейдите в свой альбом для рисования, затем создайте группу из трех каталогов: tools > ArduBlockTool > tool (будьте осторожны, каждая папка чувствительна к регистру, ).
- Вставьте «ardublock-xxxxxxxx.jar» в / tool / — Вставьте загруженный вами файл Ardublock — файл JAR (Java ARchive) — в последнюю папку в созданном вами гнезде.
- Запустите Arduino — или перезапустите его, если он был открыт.
- Выберите плату и последовательный порт. — Как и при использовании Arduino, выберите плату и последовательный порт в меню «Инструменты».
- Откройте ArduBlock — запустите ArduBlock, щелкнув Tools > ArduBlock .Если вы не видите здесь записи для ArduBlock, проверьте еще раз, чтобы убедиться, что все ваши каталоги правильно набраны и заключены в регистр.
ArduBlock работает рука об руку с Arduino IDE — он полагается на то, что IDE открыта в фоновом режиме, поэтому не закрывает окно Arduino !
Использование ArduBlock
Окно ArduBlock разделено на две половины. Слева есть «ящики», в которых хранятся все возможные блоки, которые вы можете добавить в свой скетч. На пустой серой доске справа от нее вы «рисуете» свой набросок.Чтобы добавить блок к вашему эскизу, просто перетащите его из корзины в пустую серую область.
Для начала, для каждого скетча ArduBlock требуется программный блок , который вы можете найти в разделе «Управление». Блок Program определяет функции setup
и loop
, которые требуются каждой программе Arduino.
Оттуда вы можете перетащить больше блоков, привязав их либо к циклу , либо к разделам
, либо к настройке
. Здесь попробуйте сделать программу мигания .Блоки набора цифровых выводов , которые производят цифровой вывод (аналог функции Arduino digitalWrite
), находятся в разделе «Выводы». Блок delay миллисекунд , находящийся в разделе «Control», аналогичен функции delay
Arduino.
Затем нажмите Загрузить в Arduino , чтобы отправить рисунок на плату Arduino. Вы можете ALT + TAB вернуться в окно Arduino, чтобы проверить статус загрузки кода.
После того, как вы успешно загрузили свой первый скетч, продолжайте экспериментировать и изучать содержимое других ящиков!
Советы и хитрости ArduBlock
Вы можете клонировать блоков или групп блоков, щелкнув правой кнопкой мыши и выбрав «Клонировать».Все, от блока, который вы щелкнули правой кнопкой мыши, до нижней части этой «группы» будет скопировано и вставлено в верхний левый угол окна. Это огромная экономия времени на для больших рисунков.
Вы можете временно удалить код из вашего скетча, перетащив его из всего блока «Программа». Все, что не связано с основным программным блоком, будет проигнорировано при компиляции вашего кода. Это отличный инструмент для отладки — вы можете удалить блок кода из выполнения программы, не удаляя его на самом деле, что очень похоже на комментирование кода.
Наконец, если вы снова взглянете на окно Arduino после загрузки чертежа ArduBlock, вы можете заметить кое-что другое. Чтобы создать ваш код, программа ArduBlock просто анализирует ваши блоки и выводит эквивалентный код Arduino в окно Arduino.
Это станет отличным инструментом обучения, если вы хотите перейти от графического программирования к текстовому.
Ресурсы ArduBlock
Цифровая песочница SparkFun
В наличии DEV-12651Цифровая песочница (DS) — это обучающая платформа, охватывающая как программный, так и аппаратный мир.Он оснащен микро…
12Миниблок
Minibloq — это среда программирования с визуальным управлением для Arduino и других физических вычислительных устройств. Вместо того, чтобы ломать голову над синтаксисом, типами переменных, ошибками компиляции и другими неприятностями кода, Minibloq позволяет создавать вашу программу, используя серию графических блоков.
Помимо нежного визуального введения в программирование, одной из самых крутых функций Minibloq является его генератор кода в реальном времени . Когда вы добавляете блоки в чертеж Minibloq, в следующем окне будет сгенерирована эквивалентная строка кода. Это отличный инструмент, если вы хотите перейти от языков графического программирования к тексту.
Minibloq специализируется на робототехнике . Он включает поддержку популярных платформ робототехники, таких как Multiplo и наш RedBot Kit.
Начало работы с Minibloq
Перейдите на страницу загрузки Minibloq, чтобы получить последнюю версию. Имейте в виду, что, по крайней мере, на данный момент Minibloq (в основном) совместим только с Windows .
По умолчанию интерфейс разделен на три столбца — представление оборудования, редактор Minibloq и редактор кода. На главной панели инструментов вверху вы можете выбрать, какие столбцы вы хотите отобразить или скрыть.
Раздел оборудования позволяет вам выбрать вашу Arduino-совместимую плату среди опций, включая RedBoard, Arduino Uno, Arduino Leonardo, RedBot Kit и другие.
Среднее окно редактора Minibloq — это то место, где вы будете проводить большую часть своего времени при создании программы. Это представление работает рука об руку с отдельным окном «Действия», в котором вы нажимаете кнопки, чтобы добавлять блоки в свою программу.
Наконец, справа есть вид «Сгенерированный код», который является самой мощной обучающей функцией Minibloq. Это огромный помощник в облегчении перехода от визуального программирования к программированию «кодирование».
Чтобы привыкнуть к созданию чертежа Minibloq, нужно время.Попробуйте создать программу мигания , чтобы почувствовать это:
Затем ознакомьтесь с некоторыми из включенных примеров, перейдя в Файл > Примеры . Среди множества примеров эскизов — коллекция специальных программ SparkFun Inventor’s Kit и RedBot Kit. Проверьте их!
Ресурсы Minibloq
Ищете подходящую Arduino?
Ознакомьтесь с нашим руководством по сравнению с Arduino ! Мы собрали все имеющиеся у нас платы для разработки Arduino, чтобы вы могли быстро сравнить их и найти идеальную для своих нужд.
Отведи меня туда!
Как кодировать Arduino с помощью Chromebook
Я уже упоминал, что использую Chromebook для занятий CompSci в моем местном общественном колледже. Благодаря проекту Crostini, который устанавливает полный дистрибутив Debian Linux, я могу использовать Linux-версии различных инструментов разработчика. Они отлично работают на моем Pixel Slate, но недавно я купил Chromebook более высокого класса с 16 ГБ ОЗУ, чтобы ускорить процесс кодирования.
К сожалению, один из двух моих занятий в этом семестре требует, чтобы мы использовали микроконтроллер Arduino. Это небольшое устройство подключается к компьютеру через USB, чтобы отправлять на него мои приложения. В какой-то момент это будет работать в Crostini, но на сегодняшний день со стабильным каналом Chrome OS 76 единственными USB-устройствами, поддерживаемыми в Crostini, являются телефоны Android. Даже использование флага, разрешающего неподдерживаемые USB-устройства, не работает с моей Arduino.
Итак, я решил посмотреть, какие еще варианты у меня есть, и оказалось, что их несколько.Некоторые из них бесплатны, а некоторые имеют ежемесячную плату, но все они работают непосредственно с Chrome OS в браузере; Linux не нужен!
Вот очень короткая демонстрация загрузки скетча — это программа Arduino — на мое устройство с использованием одного из этих решений.
Arduino Create
Эта онлайн-среда разработки Arduino (показана на видео) является официальной веб-версией загружаемой IDE Arduino. Вы создаете свой набросок в браузере, и он сохраняется в облаке.Когда вы готовы запустить свой скетч, вы нажимаете кнопку, чтобы сервер скомпилировал ваш код, а затем отправляете его на подключенное через USB устройство.
Эта услуга бесплатна для пробного использования в течение одного месяца, но имеет некоторые ограничения с точки зрения серверного времени, разрешенного для компиляции, количества поддерживаемых устройств, отсутствия пользовательских библиотек и т. Д. Для получения дополнительных функций и меньших ограничений вы можете приобрести подписку за 6,99 долларов США. месяц. Переход на годовую подписку экономит вам 12 долларов в год.
Chromeduino 2
Chromeduino 2 — это веб-расширение Chrome, которое также предоставляет IDE Arduino.Однако, поскольку само расширение не может компилировать эскизы, вам придется полагаться на внешний сервер Chromeduino.
Я упоминаю об этом только потому, что не знаю, кто управляет серверами — я видел три доступных при использовании Chromeduino 2 — и хотя я не подозревал бы ничего гнусного, я обычно не доверяю серверам, управляемым людьми или компаниями, которых я не делаю. незнаю.
Однако код Chromeduino 2 общедоступен для ознакомления и включает в себя код сервера. Я мог бы использовать это на своем собственном сервере и решить любые проблемы с безопасностью.На самом деле, мне интересно, смогу ли я запустить сервер Chromeduino 2 в контейнере Linux моего Chromebook, чтобы все работало локально. Это фактически позволило бы мне работать над эскизами Arduino полностью в автономном режиме. Хм….
Тем не менее, это бесплатное решение.
Codebender
Последним стал Codebender, еще одна онлайн-среда Arduino IDE для использования в браузере. У этого варианта есть несколько интересных особенностей. Главное, что привлекло мое внимание, это то, что вы можете встроить Codebender в веб-страницы, чтобы поделиться своими эскизами с другими, чтобы они могли редактировать или отправлять их на собственную плату Arduino:
Тем не менее, это самая дорогая из группы — 10 долларов в месяц или 100 долларов в год.Для преподавателей есть несколько вариантов, которые относительно недороги, если вы хотите, чтобы весь класс программировал на Arduinos.