Создание сортировщика-распаковщика на базе Arduino

Arduino как торговая марка аппаратно-программных средств для непрофессиональных пользователей. Загрузка программы в микроконтроллер. Создание полуавтоматической машины для распаковывания упаковок с пищей и распределения на заданное количество человек.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 11.01.2020
Размер файла 299,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

1

Создание сортировщика-распаковщика на базе Arduino

Введение

arduino программа полуавтоматический распаковывание

Arduino

Arduino -- торговая марка аппаратно-программных средств для построения простых систем автоматики и робототехники, ориентированная на непрофессиональных пользователей. Программная часть состоит из бесплатной программной оболочки (IDE) для написания программ, их компиляции и программирования аппаратуры. Аппаратная часть представляет собой набор смонтированных печатных плат, продающихся как официальным производителем, так и сторонними производителями. Полностью открытая архитектура системы позволяет свободно копировать или дополнять линейку продукции Arduino.

Микроконтроллеры для Arduino отличаются наличием предварительно прошитого в них загрузчика(bootloader). С помощью этого загрузчика пользователь загружает свою программу в микроконтроллер без использования традиционных отдельных аппаратных программаторов. Загрузчик соединяется с компьютером через интерфейс USB (если он есть на плате) или с помощью отдельного переходника UART-USB. Поддержка загрузчика встроена в Arduino IDE и выполняется в один щелчок мыши.

Язык программирования

Программирование ведется целиком через собственную программную оболочку (IDE), бесплатно доступную на сайте Arduino.

Язык программирования Arduino является стандартным C++ с некоторыми особенностями, облегчающими новичкам написание первой работающей программы.

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

- Обязательную в C++ функцию main() препроцессор Arduino создает сам, вставляя туда необходимые «черновые» действия.

- Программист должен написать две обязательные для Arduino функции setup() и loop(). Первая вызывается однократно при старте, вторая выполняется в бесконечном цикле.

- В текст своей программы (скетча) программист не обязан вставлять заголовочные файлы используемых стандартных библиотек. Эти заголовочные файлы добавит препроцессор Arduino в соответствии с конфигурацией проекта. Однако пользовательские библиотеки нужно указывать.

- Менеджер проекта Arduino IDE имеет нестандартный механизм добавления библиотек. Библиотеки в виде исходных текстов на стандартном C++ добавляются в специальную папку в рабочем каталоге IDE. При этом название библиотеки добавляется в список библиотек в меню IDE. Программист отмечает нужные библиотеки и они вносятся в список компиляции.

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

Простейшая Arduino-программа состоит из двух функций:

setup(): функция вызывается однократно при старте микроконтроллера.

loop(): функция вызывается после setup () в бесконечном цикле все время работы микроконтроллера.

Загрузка программы в микроконтроллер

Закачка программы в микроконтроллер Arduino происходит через предварительно запрограммированный специальный загрузчик (все микроконтроллеры от Ардуино продаются с этим загрузчиком). Загрузчик может работать через интерфейсы RS-232, USB или Ethernet в зависимости от состава периферии конкретной процессорной платы. В некоторых вариантах, таких как Arduino Mini или неофициальной Boarduino, для программирования требуется отдельный переходник.

Пользователь может самостоятельно запрограммировать загрузчик в чистый микроконтроллер. Для этого в IDE интегрирована поддержка программатора на основе проекта AVRDude. Поддерживается несколько типов популярных дешёвых программаторов.

Актуальность

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

Данный проект был интересен с точки зрения реализации (желание опробовать оборудование в “ФабЛаб Политех” и научиться работе с микроконтроллерами).

Поставленные цели

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

Гипотеза

Разрезание упаковки является эффективным методом её вскрытия.

1.Ход работы

| 23.03.18

-Ознакомление с Arduino

-На данном этапе проблем не возникло

-Были разобраны материалы и видеоуроки по работе с Arduino, позволяющие приобрести необходимые для решения проблемы знания.

| 01.04.18

-Сборка основы конструкции - Arduino UNO c модулями

-Путём изменения кода программы была решена проблема с “залипанием” кнопки; При попытке подключении двигателя стала очевидной необходимость использования подключения двигателя через транзистор и резистор;

Нехватка портов подключения привела к покупке BreadBoard-а

-Собран "скелет" конструкции, основанный на Arduino UNO, и написана прошивка

| 30.04.18

-Работа с 3D принтером

-На данном этапе проблем не возникло

-С помощью Fusion 360 были смоделированы и распечатаны на принтере две заготовки(шестерни)

| 07.05.18

-Сборка механического каркаса

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

-Решено отказаться от использования двигателя постоянного тока (в связи с дороговизной более мощного)

| 14.05.18 - 28.05.18

-Сборка корпуса со всеми составляющими

-Вместо автоматического "открытия" упаковки было решено использовать механическое

-Корпус был собран

2. Использованное оборудование

-Arduino UNO

-Сервопривод SG90

-Датчик препятствий

-BreadBoard

-Кнопка, транзистор, резистор, комплект проводов

3. Arduino прошивка

Нам необходимо подключение библиотеки для работы с сервоприводом:

#include <Servo.h> // Библиотека для сервопривода

Объявим необходимые переменные. Переменная servo1 объявляется особым типом переменных специфичным для работы с сервоприводом (Servo).

Servo servo1; // Объявление переменных

int timestep;

int timestep1;

boolean flag = 0;

boolean flag1 = 0;

boolean battle;

byte i;

byte j;

byte v;

byte c;

Функция setup() выполняется единожды при подключении Arduino к источнику питания. Настраиваем пины на вход и выход, сервопривод ставим в положение 0 градусов.

void setup() {

servo1.attach(4); // Задание пинов на вход и выход

pinMode(3,INPUT_PULLUP);

pinMode(2,INPUT);

pinMode(9,OUTPUT);

Serial.begin(9600); // Открытие com-порта со скоростью передачи данных 9600 бит/с

servo1.write(0);

// digitalWrite(9,LOW);

}

Функция loop() выполняется многократно.

void loop() {

v = !digitalRead(2);

battle = !digitalRead(3);

Отрабатываем нажатие кнопки. Устранено “залипание” кнопки. Встроенная функция millis() возвращает время с начала работы программы.

if (battle==1 && flag==0 && (millis()-timestep)>300){ // Отрабатываем нажатие кнопки..

flag = 1;

i++;

Serial.println(i); // Вывод в порт (использовалось для отладки программы)

timestep = millis();

}

Отжатие кнопки

if (battle==0 && flag==1){ // ..и отжатие

flag = 0;

}

Через 2.5 секунды после последнего нажатия кнопки запускается дальнейший скрипт.

if ((millis()-timestep)>2500 && i>1){

j = i;

}

4. Моделирование в Fusion 360

Fusion 360TM - это первый инструмент 3D CAD, CAM и CAE в своем роде. Он объединяет весь процесс разработки продукта в единой облачной платформе, которая работает как на Mac, так и на ПК.

Комплекс представляет собой полноценный CAD/CAE/CAM инструмент. Применяется в сфере промышленного дизайна и производства, позволяет спроектировать практически всё, что бывает необходимо.

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

Выводы по проекту

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

Список использованной литературы

1. Видеоуроки по Arduino // [Официальный сайт YouTube канала AlexGyver] / Copyright AlexGyver Technologies 2015-2018 - URL: http://alexgyver.ru/arduino_lessons/ . - (дата обращения: 23.03.2018).

2. Лекции по Arduino // [Информационный портал BOTEON] / "BOTEON" 2012-2013 высокие технологии, робототехника, энергосбережение, интернет технологии- URL: http://boteon.com/blogs/obuchayuschie-lekcii-po-arduino . - (дата обращения: 23.03.2018).

3. Интернет-класс обучения работы с Arduino // [Информационный портал robotclass] /- URL: http://robotclass.ru . - (дата обращения: 23.03.2018).

4. Р. Лафоре Объектно-ориентированное программирование в С++ - Издательство “Питер” - 4 издание; Санкт-Петербург: “Питер”, 2004. - С.168 - 217.

Размещено на Allbest.ru

...

Подобные документы

  • Анализ GPS-навигаторов для животных. Использование плат и среды программирования Arduino для разработки ошейника с GPS-навигатором для отслеживания маршрута, проделанного животным, и уведомления об этом пользователя. Выбор модели микроконтроллера.

    курсовая работа [2,4 M], добавлен 18.10.2015

  • Представление о системе Arduino. Структура платформы Android. Выбор средств разработки. Разработка структур данных и алгоритмов. Характеристика Bluetooth модуля, блок реле, резисторов, диодов. Графический интерфейс приложения. Написание кода программы.

    дипломная работа [4,0 M], добавлен 19.01.2017

  • Возможности платформы Arduino. Загрузка микроконтроллера прерываниями. Подтягивающие (нагрузочные) резисторы. Аналого-цифровой преобразователь, цоколевка. Прерывание по таймеру, память. Библиотеки Servo, SPI, Stepper. Комбинация фазы синхронизации.

    курсовая работа [53,4 K], добавлен 23.12.2014

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

    курсовая работа [425,2 K], добавлен 07.07.2012

  • Применение современных микроконтроллеров как одного из перспективных аппаратно-программных средств информационных систем. Общие принципы построения микроконтроллеров, их типовая структура. Разработка программы расчета задержек на языке ассемблер.

    курсовая работа [719,2 K], добавлен 22.04.2019

  • Выбор инструментальных и программных средств для создания сайта. Структура программного продукта. Создание сайта при помощи программы WordPress. Тестирование разработанной программы. Разработка структуры и дизайна сайта. Наполнение сайта контентом.

    курсовая работа [1,0 M], добавлен 09.01.2014

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

    курсовая работа [2,1 M], добавлен 16.02.2015

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

    курсовая работа [734,3 K], добавлен 12.03.2013

  • Количественная оценка стойкости пароля. Создание программы на базе разработанного алгоритма. Экспериментальная проверка количественных оценок стойкости пароля. Понятие и назначение интерфейса. Методы защиты от несанкционированного доступа к информации.

    курсовая работа [22,8 K], добавлен 13.11.2009

  • Создание обучающей презентации о создании сайта в программе для конструирования сайтов "Joomla". Установка локального сервера "Denwer" и программы "Joomla". Создание меню, загрузка изображений. Смена шаблона, работа с текстом в программе MS PowerPoint.

    дипломная работа [3,8 M], добавлен 04.03.2013

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

    курсовая работа [1006,4 K], добавлен 19.12.2013

  • История создания WordPress. Выбор домена и хостинга для сайта. Минимальные требования для установки системы. Загрузка Wordpress для самостоятельной установки. Создание базы данных mysql. Установка прав доступа к директориям. Повышение производительности.

    курсовая работа [1,7 M], добавлен 18.12.2013

  • Организация корпоративного файлового сервера, выполняющего функции прокси-сервера на базе ОС Linux. Процесс его реализации. Выбор оптимальной аппаратно-программной платформы. Расчёт сметы затрат на выполнение объёма работ по созданию FTP-сервера.

    дипломная работа [2,0 M], добавлен 06.07.2012

  • Средства программирования, описание языка С++. Назначение программы, требования к документации. Стадии разработки, виды испытаний. Используемые технические, программные средства. Вызов и загрузка, входные и выходные данные. Программа и методика испытаний.

    контрольная работа [205,3 K], добавлен 23.07.2013

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

    дипломная работа [2,0 M], добавлен 29.05.2015

  • Описание пакета прикладной программы Net Beans 8.1. Разработка пользовательского интерфейса апплета. Создание рамочных окон на базе фреймов библиотеки java.swing. Изменение цвета текстовых данных. Проектирование и создание инфологической модели апплета.

    контрольная работа [1,8 M], добавлен 11.07.2016

  • Обоснование выбора средств разработки. Алгоритм загрузки изображения на сервер. Модуль авторизации в административной панели сайта. Хранение данных в базе данных. Работа с локальными и удалёнными файлами. Тестирование работы программного средства.

    курсовая работа [1,3 M], добавлен 18.04.2018

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

    контрольная работа [1,5 M], добавлен 27.06.2022

  • Описание технических средств. Описание программного обеспечения. Порядок создания документа. Способы получения справочной информации. Создание нового документа. Загрузка рабочего документа. Рабочая книга, ячейки.

    контрольная работа [44,8 K], добавлен 09.04.2004

  • Создание инструмента проектирования и прототипирования графических пользовательских интерфейсов сложных информационных систем. Интерфейс пользователя и командной строки. Средства прототипирования и их характеристики. Создание интерактивных прототипов.

    дипломная работа [2,4 M], добавлен 04.07.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.