Компетенции, необходимые для участия в практическом туре
Компетенции, необходимые для участия в практическом туре | Главная
14.03.2023
Для подготовки к практическому туру, который состоится 25 марта 2023 года, необходимо ознакомиться с требованиями к участникам:
5-6 класс
В роботе может быть использовано не более двух датчиков освещенности/отраженного света, одного датчика расстояния (любого типа), механического датчика касания. Остальные сенсоры могут быть на усмотрение участника.
Количество моторов не ограничено.
Управление мобильной платформой:
- Движение по черной линии
- Обнаружение поперечных линий
- Движение прямо
- Разворот на угол кратный̆ 90
Определение наличия объекта с разными свойствами
Понимание базовых принципов работы используемых сенсоров.
Понимание базовых принципов работы используемых двигателей.
Операции с переменными: чтение, запись, сравнение.
Умение использовать базовые алгоритмические структуры: циклы, ветвления.
Понимание базовых принципов конструирования.
7-8 класс
В роботе может быть использовано не более двух датчиков освещенности и одного датчика расстояния (любого типа) механического датчика касания. Остальные сенсоры могут быть на усмотрение участника.
Количество моторов не ограничено.
Управление мобильной платформой:
- Движение по черной линии
- Обнаружение поперечных линий
- Движение прямо
- Разворот на угол кратный̆ 90
Определение наличия объекта с разными свойствами.
Понимание базовых принципов работы используемых сенсоров.
Понимание базовых принципов работы используемых двигателей.
Операции с переменными: чтение, запись, сравнение.
Логические операции И, ИЛИ, НЕ.
Умение использовать базовые алгоритмические структуры: циклы, ветвления.
Понимание базовых принципов конструирования.
Подсчет пройденного расстояния.
9-11 класс
В роботе может быть использовано не более двух датчиков освещенности и одного датчика расстояния (любого типа). Остальные сенсоры могут быть на усмотрение участника.
Управление мобильной платформой:
- Движение по черной линии
- Обнаружение и подсчет поперечных линий
- Движение прямо
- Разворот на заданный угол
Определение расстояния до объекта.
Точные перемещения на заданное расстояние.
Понимание базовых принципов работы используемых сенсоров.
Понимание базовых принципов работы используемых двигателей.
Операции с переменными.
Операции с массивами: запись, поиск, обработка.
Операции с двумерными массивами (только для 10-11 класс).
Ориентирование и навигация на заранее известном поле.
Механизм для точного захвата и транспортировки объекта (не более 45 х 45 х 45 мм) по плоскости.
10-11 класс
Все оборудование, включая компьютер с установленным ПО Arduino IDE 1.8.xx будет предоставлено участнику организаторами. Использовать свое оборудование не разрешается.
Чтение документации для предоставленных электронных компонентов.
Понимание принципов работы базовых электронных компонентов.
Понимание базовых принципов коммутации электронных компонентов.
Чтение простейших электронных схем.
Базовое понимание типов электрических сигналов: аналоговые, цифровые (включая ШИМ), основные протоколы передачи данных.
Навыки программирования контроллеров семейства Arduino в среде Arduino IDE.
Операции с двумерными массивами: запись, поиск, обработка.
Операции с переменными.
Цифровая электроника и программирование микроконтроллеров (Ардуино)
Цифровая электроника и программирование микроконтроллеров (Ардуино)
Навыки современного продвинутого «самодельщика» (которые являются также и основами современной общеинженерной подготовки) включают умение сконструировать механическую часть изделия, снабдить его электронной начинкой (включая микроконтроллерный «мозг») и эту электронику запрограммировать. Таким образом, (а) инженерное 3D-моделирование и конструирование, (б) цифровую электронику и (в) программирование (в том числе, микроконтроллеров) следует рассматривать как три взаимосвязанных и взаимодополняющих направления обучения в рамках начальной пред-инженерной подготовки детей. Данный курс покрывает два из этих трех направлений: основы цифровой электроники и ее программирование.
Для изучения материала используется недорогая и широкодоступная микроконтроллерная платформа Ардуино, а при выполнении творческих проектов обучающиеся опираются также на конструкторские навыки, полученные на занятиях по инженерному 3D-моделированию и на соответствующую технологическую базу (3D-принтеры, лазерные и фрезерные станки).
В результате прохождения курса, ребята научатся: cобирать на макетной плате и программировать несложные электронные устройства на основе контроллера Ардуино и распространенных датчиков. Самостоятельно находить и изучать документацию на незнакомые внешние устройства (модули). Находить, устанавливать и использовать библиотеки программ для работы с конкретным устройством. Используя знания, полученные на курсе 3D-конструирования, создавать и изготавливать корпуса и механические узлы для электронных изделий. Используя знания, полученные на курсе «Робототехники», создавать на базе контроллера Ардуино роботов для участия в соревнованиях. Проектировать и изготавливать несложные печатные платы для электронных самоделок. Объяснять и обосновывать использованные технические и программные решения. Уметь разработать и изготовить электронную игрушку, электронную «начинку» для моделей, изготавливаемых в рамках других технических объединений.
Особенности и ограничения курса, взаимодействие с другими образовательными программами
В этом объединении, ребята познакомятся как с возможностями микроконтроллерных устройств, так и с основами программирования для них, до уровня, достаточного для создания несложных «умных» самоделок. Совместное изучение аппаратного и программного аспектов микроконтроллерных устройств на основе Ардуино и Ардуино-совместимых модулей позволяет быстро и наглядно решать учебные задачи. При этом, однако, многие темы, традиционно изучаемые в курсах по радиоэлектронике, программированию и робототехнике, оказываются вне поля зрения. Для получения полноценной подготовки, рекомендуется совмещать данный курс с курсами по смежным дисциплинам. Рассмотрим, по темам, ограничения и особенности данного курса.
Программирование. Неотъемлемой частью данного курса является изучение, с нулевого уровня, языка программирования С, включая отдельные конструкции C++. Изучается базовый синаксис языка, управляющие конструкции (циклы, условные операторы, ветвления), работа с числовыми и строковыми данными, определение и вызов функций, вызов методов готовых (библиотечных) классов. В силу специфики микроконтроллера Ардуино (в частности, крайне ограниченного объема оперативной памяти) в курсе не рассматривается динамическое распределение памяти, работа с многомерными массивами, традиционные структуры данных (списки, стеки, очереди, деревья, хэш-таблицы и пр.) и алгоритмы работы с ними. Объектное программирование изучается только на уровне использования готовых объектов. По очевидным причинам, не изучается визуальный пользовательский интерфейс. В рамках данного курса не предполагается также, что обучающиеся будут писать на ПК программы для взаимодействия со сделанными ими микроконтроллерными устройствами (хотя во многих случаях это крайне полезно).
Рекомендуется: до прохождения данного курса, обучающимся очень полезно (но не обязательно) знать основы программирования на любом текстовом или графическом языке (хотя бы на уровне понимания, что такое переменная, массив, циклы и условные операторы).
Архитектура микроконтроллеров: библиотеки, входящие в состав платформы Ардуино, эффективно скрывают особенности архитектуры микроконтроллера и низкоуровневые детали его взаимодействия с внешними устройствами.
Радиоэлектроника. На занятиях изучаются исключительно схемы, построенные вокруг микроконтроллера Ардуино, и в основном на уровне использования готовых плат-модулей (собственно контроллера Ардуино, датчиков, драйверов моторов и пр.). Схемно, большинство изучаемых конструкций тривиально просты, за счет того, что большая часть сложности переходит в логику управляющей программы. Из дискретных аналоговых компонентов в курсе фигурируют светодиоды, резисторы, и очень изредка и поверхностно — конденсаторы и транзисторы. Теоретические знания по их устройству и применению даются в лишь минимальном объеме, достаточном для понимания их роли и особенностей использования в конкретном проекте. Аналоговые схемы, а также традиционная цифровая логика (элементы И-ИЛИ-НЕ, триггеры и пр. ) не рассматриваются вовсе.
Рекомендуется: до, после или параллельно с данным курсом, пройти курс «Основы радиоэлектроники».
Практические навыки: пайка, радиомонтаж, электроизмерения: в рамках данного курса, большая часть проектов делается сборкой на макетных платах (без пайки). Преимущества такого подхода — простота и возможность разборки и повторного использования компонентов. Однако очевидно, что схемы на макетных платах малопригодны или вовсе неприемлемы для мобильных роботов и всякого рода конкурсных и заказных проектов. В связи с этим, в данную образовательную программу введена тема конструирования и изготовления печатных плат, однако специальных занятий по пайке и радиомонтажу не предусмотрено. Предполагается, что обучающиеся либо посещают занятия по электронике, либо учатся паять по мере необходимости, в индивидуальном порядке, либо объединяются в команды с распределением ролей.
Рекомендуется: до или параллельно с данным курсом, пройти курс «Основы радиоэлектроники» либо обучаться пайке самостоятельно.
3D моделирование и конструирование: многие мини-проекты данного курса предполагают конструирование и изготовление механической части устройства. Предполагается, что большинство обучающихся уже владеют навыками инженерного 3D-моделирования и прототипирования (3D-печать, лазерная резка). Обучающиеся, не владеющие такими навыками, могут выполнять проекты в составе команды с распределением ролей.
Рекомендуется: до или параллельно с данным курсом, пройти курс «Инженерное 3D-моделирование и прототипирование».
Робототехника: в рамках данного курса изучается использование всех основных видов датчиков и актуаторов (приводов), используемых в образовательной робототехнике. Однако задачи и алгоритмы, характерные для образовательной/соревновательной робототехники (регуляторы, следование по линии, захват и перемещение объектов, прохождение лабиринта) подробно не рассматриваются. При наличии предварительной подготовки по робототехнике, обучающийся должен быть в состоянии самостоятельно создать и запрограммировать робота для участия в соревновании. Такие проекты приветствуются, но не входят в обязательную программу курса.
Рекомендуется: прохождение данного курса после курсов робототехники на основе образовательных наборов (Лего, Фишер-Техник и т.п.)
Записаться в объединение
2D-массив Arduino| Delft Stack
- Инициализация 2D-массива в Arduino
- Сохранение данных в 2D-массиве
- Замена значения в 2D-массиве
- Извлечение Извлечение значения из определенной позиции в массиве 2D
- Arduino
MatrixMath
Библиотека для двумерных массивов
В этом уроке мы обсудим двумерный массив в Arduino. Мы обсудим, как мы можем инициализировать двумерный массив и использовать его для хранения данных.
Инициализация двумерного массива в Arduino
Инициализация двумерного массива очень похожа на инициализацию одномерного массива. В двумерном массиве мы должны определить количество строк и столбцов, а затем инициализировать его некоторыми данными. Например, см. код ниже.
недействительная установка(){ интервал nRow = 2; инт нкол = 4; интервал myArray[nRow][nCol] = { {1, 2, 3, 4}, {5, 6, 7, 8} }; }
В приведенном выше коде nRow
— это переменная типа int
, которая используется для определения количества строк в двумерном массиве. nCol
— это переменная типа int
, которая используется для определения количества столбцов в двумерном массиве, а myArray
— это массив типа int
, который используется для хранения заданных значений int
. Вы можете изменить все эти значения в соответствии с заданными данными. Обратите внимание, что вы также можете определить массивы других типов данных, таких как float
в Arduino. Также обратите внимание, что вы должны определить количество строк и столбцов или, по крайней мере, количество столбцов во время инициализации массива.
Сохранение данных в 2D-массиве
Массив
в ArduinoЕсли вы хотите сохранить данные в 2D-массиве, вы должны использовать для этой цели два цикла. Чтобы сохранить данные в 2D-массиве, вы должны перейти к каждой позиции в 2D-массиве и сохранить там данные. В 2D-массиве много элементов, поэтому сохранение данных в каждой позиции вручную займет много времени. Чтобы сэкономить время, вы можете использовать два цикла для перехода к каждой позиции и сохранения данных в определенной позиции. Например, см. код ниже.
недействительная установка(){ целые данные = 0; интервал myArray[nRow][nCol]; for (int nr = 0; nr < nRow; nr++) { for (int nc = 0; nc < nCol; nС++) { myArray[nr][nc] = данные++; } } }
В приведенном выше коде мы используем два цикла для перехода к каждой позиции в двумерном массиве и сохранения там заданных данных. В этом примере данные — это переменная, значение которой равно нулю, но вы можете изменить ее значение в соответствии с заданными данными. Этот метод будет хранить или заменять данные в каждой позиции двумерного массива.
Замена значения в 2D
Массив
в определенной позиции в ArduinoЕсли вы хотите сохранить или заменить данные только в одной позиции, вам нужно использовать оператор присваивания только для конкретной позиции. Например, см. код ниже.
недействительная установка(){ интервал nRow = 2; инт нкол = 4; интервал myArray[nRow][nCol] = { {1, 2, 3, 4}, {5, 6, 7, 8} }; myArray[nRow][nCol] = 0; }
В приведенном выше коде мы заменяем значение, присутствующее в nRow
и nCol
позиции в двумерном массиве до 0
.
Получение значения из определенной позиции в 2D-массиве
Массив
в ArduinoЕсли вы хотите получить значение из определенной позиции в 2D-массиве, вы можете использовать оператор присваивания. Например, см. код ниже.
недействительная установка(){ интервал nRow = 2; инт нкол = 4; интервал myArray[nRow][nCol] = { {1, 2, 3, 4}, {5, 6, 7, 8} }; int myValue = myArray[nRow][nCol]; }
В приведенном выше коде мы извлекаем значение, присутствующее в позициях nRow
и nCol
в двумерном массиве, то есть 8
.
Arduino
MatrixMath
Библиотека для 2D-массивов Библиотеку MatrixMath
, присутствующую в Arduino, можно использовать для многих операций, таких как сложение, вычитание, умножение, инверсия и печать 2D-массивов. Прочитайте документацию библиотеки для получения дополнительной информации и посмотрите пример здесь.
AlleBilderVideosShoppingMapsNewsBücher
suchoptionen
Tipp: Begrenze diesuche auf deutschsprachige Ergebnisse. Du kannst deinesuchsprache in den Einstellungen ändern.
Примеры | ArduinoJson 6
arduinojson.org › пример
В этом примере показано, как сгенерировать документ JSON с помощью библиотеки ArduinoJson. Посмотреть пример. примеры/JsonGeneratorExample.ino.
JsonConfigFile.ino · JsonHttpClient.ino · JsonServer.ino · JsonFilterExample.ino
Примеры | ArduinoJson 5
arduinojson. org › пример
В этом примере показано, как создать документ JSON с помощью библиотеки ArduinoJson. Посмотреть пример. примеры/JsonGeneratorExample.ino. client.println ...
JsonParserExample.ino | ArduinoJson 6
arduinojson.org › Версия 6 › Примеры
Описание. В этом примере показано, как десериализовать документ JSON с помощью ArduinoJson. Онлайн-демонстрация этого примера доступна на сайте wandbox.org.
JsonGeneratorExample.ino | ArduinoJson 6
arduinojson.org › Версия 6 › Примеры
Описание. В этом примере показано, как сгенерировать документ JSON с помощью ArduinoJson. Онлайн-демонстрация этого примера доступна на сайте wandbox.org.
Arduino IDE - Получение с JSON Объект для Einsteiger - mademart
mademart.net › arduino-ide-arbeiten-mit-json-objekten-fur-einsteiger
20.02.2021 · ArduinoJson — разработанная библиотека Arduino IDE. Bevor wir damit anfangen, mit einem JSON Objekt zu arbeiten, muss zuerst eine passenden Library . ..
Декодирование и кодирование JSON Arduino | Random Nerd Tutorials
randomnerdtutorials.com › decoding-and-encoding-...
Самый простой способ декодировать и кодировать строки JSON с помощью Arduino IDE — использовать библиотеку ArduinoJson 5.13.5, которая была разработана, чтобы быть наиболее интуитивно понятной. JSON ...
JSON за 10 минут, чтобы узнать больше, используя Praxis Beispiel! - YouTube
www.youtube.com › смотрите
05.03.2022 · JSON за 10 минут, чтобы узнать больше, mit Praxis Beispiel! | #EdisTechlab #arduino #json ...
Добавлено: 9:42
Прислано: 05.03.2022
Ähnliche Fragen
Как использовать файл JSON в Arduino?
Могу ли я использовать JSON в Arduino?
Как записать файл JSON в Arduino?
Как отправить данные JSON в Arduino?
bblanchon/ArduinoJson: библиотека JSON для Arduino и... Функции. Десериализация JSON · Опционально декодирует escape-последовательности UTF-16 в .