Тема: «Автомобиль будущего»
Автор работы:
Тимошенко Марина, 10 кл.,
МБУ ДО ЦДТ,
Ворошиловского района
г. Ростов-на-Дону
Руководитель:
Тимошенко Наталья Викторовна,
Педагог дополнительного образования,
МБУ ДО ЦДТ,
Ворошиловского района
г. Ростов-на-Дону
г. Ростов-на-Дону
2019 год
Содержание:
1. Введение.
2. Основная часть
2.1 Материалы и инструменты
2.2 Технологическая карта
2.3 Экономическая оценка изделия
3. Заключение.
4. Литература.
5. Приложение.
Введение
Современные технологии за последние несколько лет сделали огромный прорыв. Сегодня данная среда продолжает активно развиваться и удивлять новыми интересными решениями. Человеком созданы различные модели роботов, имитирующие какую-либо деятельность.
Программирование... Для меня это– область деятельности, направленная на разработку программного обеспечения, которое в свою очередь, направлено на улучшение и облегчение человеческого быта («умный дом»), промышленной деятельности, среды услуг и технологического прогресса.
Программирование дает возможность самостоятельно реализовывать идеи, создавать продукт с нуля. ЭТО ТВОРЧЕСТВО! И это самое крутое, и главное то, что освоение программирования сейчас доступно, как никогда. Всегда есть книги и интернет.
Программирование – это не просто способ заставить работать «железяки», но и поставить себя на путь развития своих способностей. Сейчас игрушками интересуются не только дети. Учитывая последние тенденции «продления периода детства» во всем мире — до 21 года, а в перспективе это будет не менее 25–30 лет подобные «игрушки» будут пользоваться спросом. (Глава Минздрава Вероника Скворцова анонсировала продление до 30 лет периода детства, который сейчас продолжается до 21 года. Об этом министр рассказала на всероссийской конференции партии «Единая Россия» «Направление 2026»). Даже сейчас многие взрослые приобретают точные копии авто известных марок либо подыскивают радиоуправляемые модели машинок. Среди предложенного ассортимента игрушечных магазинов не всегда можно встретить вариант, который полностью устроит клиента. В некоторых случаях гораздо лучше смастерить радиоуправляемую модель машинки самостоятельно. Моделирование из одной готовой модели машинки в другую очень схоже с действиями мастеров в автомастерской. А это уже может перерасти и в будущий бизнес!
Раньше было увлечение радиоуправляемыми моделями, то сейчас возникла проблема – перейти на новую ступень творчества. Данный проект имеет и экологическую ценность. Сейчас электрокары спорят с бензиновыми аналогами за бережное отношение к экологии. Вопрос на сегодня открыт и не решен, многое предстоит доказать. Перед проектом была поставлена задача – познакомиться с основами программирования, с архитектурой микроконтроллеров, приобрести навыки программирования простейших вычислительных платформ (ARDUINO), разработку программ для решения задач по взаимодействию с цифровыми выходами.
ARDUINO?.. Что же такое ARDUINO? Создателем ARDUINO принято считать преподавателя института IDII итальянского города Ивреи Массимо Банци, который пытался создать удобную платформу для обучения студентов программированию. Выбрав уже готовый микроконтроллер ATMEGA, он просто добавил на плату необходимую для удобной работы обвязку. Собравшаяся затем великолепная команда из инженеров-электронщиков и разработчиков софта смогла создать продукт, который оказался крайне востребован рынком и быстро завоевал популярность. Свое название технология получила, как это часто бывает, довольно случайно. Источником вдохновения послужил бар, в котором будущие создатели ARDUINO любили выпить по кружечке чая. Называлось заведение именно так – Arduino, по имени главной исторической личности города Ивреа, короля Ардуино. Король какого-то яркого следа в истории не оставил и прослыл неудачником, но благодаря команде разработчиков новой платформы обрел новую популярность и сейчас известен миллионам людей по всему земному шару. Вся прелесть ARDUINO заключается в следующих простых преимуществах:
Простота. Да, да – именно простота (хотя Лего и другие игрушки, без сомнения, привычнее, но мы сравниваем не с ними). Для юных разработчиков электроники ARDUINO «прячет» огромное количество разнообразных технических вопросов. Многие достаточно сложные проекты можно создавать очень быстро, без длительного погружения в детали. А это ведь очень важно для ребенка – не утратить интерес до первого полученного своими руками результата.
Доступность. Сама технология, и практически весь софт выпускаются под открытыми лицензиями и вы можете свободно использовать чужие наработки, библиотеки, схемы, причем во многих случаях даже для коммерческого использования. Это экономит много времени и позволяет двигаться большими шагами, опираясь на опыт предыдущих исследователей.
Дешевизна. Комплект для первых занятий электроникой и программированием можно купить менее чем за 500 рублей. Полноценные курсы робототехники возможны при покупке оборудования на 3-5 тысяч рублей. Никакая другая технология не позволит вам так быстро и так эффективно войти в мир реальной учебной робототехники.
Еще одно преимущество несомненно оценят экологи. Так как ресурсы Земли не безграничны и в конечном итоге могут закончиться, а цены на топливо с каждым годом поднимаются, рано или поздно нам всем придется перейти на новые альтернативные источники. К преимуществам электромобиля можно отнести:
- экономия на горючем топливе: бензине, солярке, газе;- улучшение экологии: меньше выхлопных газов и чище воздух в мегаполисах;- простая конструкция: позволяет с легкостью водить машину девушкам;- меньше шума (меньшее количество шумящих движков, механических передач);- подзарядка от обычной розетки;- высокая плавность хода ;- лёгкость реализации системы поворота всех колёс;- возможность преодолевать большие лужи, в брод небольшие речки под водой по дну.- увеличение уровня безопасности при возникновении аварии;- подзарядка аккумуляторов от солнечной энергии во время рекуперативного торможения.
Микроконтроллеры применяются для создания электронных устройств с возможностью приема сигналов от различных цифровых и аналоговых датчиков, которые могут быть подключены к нему, и управления различными исполнительными устройствами. Проекты устройств, основанные на микроконтроллерах, могут работать самостоятельно или взаимодействовать с программным обеспечением на компьютере. Среда разработки программ с открытым исходным кодом доступна для бесплатного скачивания. ARDUINO и Ардуино-совместимые платы спроектированы образом, чтобы их можно было при расширять, добавляя в устройство новые компоненты. платы расширений подключаются к ARDUINO посредством на них штыревых разъёмов. Существует ряд с унифицированным конструктивом, допускающим конструктивно соединение процессорнои? платы и плат расширения стопку через штыревые линейки. Кроме того, платы уменьшенных габаритов (например, Nano, Lilypad) специальных конструктивов для задач робототехники. Независимыми также выпускается большая гамма всевозможных датчиков исполнительных устройств, в той или иной совместимых с базовым конструктивом. Эта возможность дает пространство для творчества и неограниченный выбор возможностей совмещения различных функций в будущих проектах. Конечно, можно приобрести дорогой автомобиль или дорогой модуль, со встроенными функциями внутри, но не всем это позволяет финансовое положение. Благодаря Arduino можно собрать недорогой, но в то же в время функциональный продукт, конкурирующий с дорогими аналогами.

Цель проекта: создать функциональный электромобиль, на управлении через Wi-Fi модуль.
Реализация поставленной цели предполагает:
Область применения:
Использовать как демонстрационный материал.
Решаемая проблема и новизна: в настоящее время все игрушки радиоуправляемы, необходим переход к современным интернет-моделям, управление которыми можно осуществлять любым устройством с выходом в интернет.
Задачи:- конструкторские: разработка корпуса велась обучающейся ДО «НТМ», консультирование по работе с электроникой проводилось специалистом в области электроники и робототехники.
- технологические: выбор материалов и способов обработки, составление плана изготовления. Регулировка и проверка деталей в действии.
- организационно-технические: подготовка рабочего места, распределение работы на своем рабочем месте.
Основная часть.
В настоящее время в электронике применяют сотни различных материалов с разнообразным сочетанием физических, физико-химических, технологических и эксплуатационных свойств. Arduino позиционируется своими создателями как платформа для прототипирования, которая хороша для построения единичных образцов или малой серии несложных устройств, но в промышленном масштабе она попросту не эффективна с экономической точки зрения и не подходит для коммерческого использования в массовой продукции. Мой проект, как раз пример единичного изготовления автомобиля, но тем не менее тоже должен быть рационален и экономичен. Поэтому использовались самые простые и доступные материалы. Бесспорно, у самостоятельного сбора машинки на пульте имеется масса выигрышных преимуществ, а именно:
первое, -экономия средств, при этом вы будете иметь ту модель машинки, которую вы хотели;
второе, - выбрать нужную модель из предложенного ассортимента запчастей и разновидностей кузовов;
третье, - познакомится с увлекательным миром архитектуры программирование Arduino.
Схема каждой платы собирается из функциональных блоков в соответствии с логикой работы контроллера. Большинство функциональных блоков имеют возможность настройки, с помощью которой их работу можно настроить в соответствии с необходимыми в данном конкретном случае требованиями. Так же для каждого функционального блока есть развернутое описание, которое доступно в любой момент и помогает разобраться в его работе и настройках. При работе с программой нет необходимости заниматься написанием кода, контролем за использованием входов – выходов, проверкой уникальности имен и согласованностью типов данных. За всем этим следит программа. Так же она проверяет корректность проекта целиком и указывает на наличие ошибок.
Корпус будущей машины также заслуживает повышенного внимания так как сделан из доступных материалов. В наше время никак не обойтись без управления со смартфона, чтоб не ставить спец программу, управление «автомобиля будущего» будет через Wi-Fi.
2.1. Материалы и инструменты.
Материалы: фанера, пластиковая гусеничная цепь, пластик, резисторы (5 шт. по10 КОм, 1 шт. 200 Ом), кнопки – 4 шт., тумблеры – 2 шт., контейнер для аккумуляторов, аккумуляторы, проводники, моторы - 2, редукторы, микроконтроллеры – 2 шт., регуляторы напряжения, драйвер для моторов.
Инструменты: лобзик, наждачная бумага, паяльник, сверла, программатор, компьютер с необходимым программным обеспечением.
Этапы выполнения


Технологическая карта.
Схема модели «машины будущего»

(Схема нарисована с помощью fritzing)
Используемые компоненты и их применение.
ESP8266 — микроконтроллер китайского производителя Espressif с интерфейсом Wi-Fi.
ESP8266 будет работать в роли оконечной станции.
сети.
После подключения к Wi-Fi сети устройство получает IP-адрес.
Порты ввода-вывода
Vcc и GND — питание, 3.3 В от регулятора напряжения. Конденсатор 220 мкФ поставлен на питание (для стабилизации напряжения)
CP_PD — перевод модуля в энергосберегающий режим. Соединен резистором на 10 кОм с Vcc, не позволяя модулю уснуть.
GPIO0 — перевод модуль в режим программирования. Во время программирования модуля соединен с GND.

L298N (Dual H Bridge)
- 4x DC 3-6v Gear Motor
H-мост — Даёт возможность приложить напряжение к моторам в разных направлениях. Эта схема очень часто используется в робототехнике и игрушечных машинах, чтобы изменять направление вращения мотора.
Порты ввода-вывода
Out 1: Левый мотор (L)
Out 2: Левый мотор
Out 3: Правый мотор (R)
Out 4: Правый мотор
GND: Ground
12v: питание от аккумулятора
In1: Активирует мотор L
In2: Активирует мотор L (реверс)
In3: Активирует мотор R
In4: Активирует мотор R (реверс)
Вперед in1, in3
Назад in2, in4
Влево in2, in3
Вправо in1, in4
Power Supply Modules
Регуляторы напряжения
AMS1117-3.3V - esp8266 – 2 шт.
FT232RL FTDI
Программатор, используется для программирования esp8266.

IDE
Среда разработки: ARDUINO IDE (C/C++)
Исходный код прилагается.
Связь и протокол передачи данных.
Пульт управления (смартфон/пк/специальный) открывает точку доступа Wi-Fi (SSID: "IRobotRC") или подключается к существующей точке. Далее средствами UDP broadcast отправляет специальный пакет. Ровер, подключенный к этой сети, получивший пакет отвечает на него. Так пульт узнает IP Address ровера и в дальнейшем отправляет все команды на этот адрес. Отправляемый пакет данных всегда состоит из одного байта и полностью задает состояние ровера. Первые три бита однозначно указывают направление движения (стоять "000", прямо "001", назад "010", влево "011", вправо "100")
Ровер получает пакет, используя битовые операции, считывает и применяет команду.
СМАРТФОН
Remote control
Windows / Android / iOS application
AIR application written in ActionScript 3
Приложение реализует графический интерфейс(кнопки), поиск ровера и передачу команд.
IDE
FLASHDEVELOP IDE (ADOBE AIR)
ОТДЕЛЬНЫЙ ПУЛЬТ УПРАВЛЕНИЯ
Remote control device
ESP8266 работает в режиме точки доступа
Устройство реализуют физический интерфейс (кнопки), поиск ровера и передачу команд.
Пульт управления. Поэтапное создание пульта управления.



2.3 Экономическая оценка изделия
Провода 183.03 руб.
Контроллер моторов 136.95 руб.
Esp 8266 205.66 руб.
Колесо + редуктор + мотор – 4 шт. – 953,47 руб.
Регуляторы напряжения (2 шт.) 148.15 руб.
Тумблеры 2 шт. – 80 руб.
Резисторы (5 шт.) 10.00 руб.
Кнопки (4 шт.) 180.00 руб.
Аккумулятор 1.2V 1.8 Аh 6 шт. 750 руб.
Аккумулятор 1.2V 0.8 Аh 3 шт. 262.5 руб.
Контейнеры для батареек (1 шт.) 70 руб.
Корпус для пульта – 180 руб.
Припой – 70 руб.
Итого: 3229 руб.
Экономические данные изделия доказывают нам относительную дешевизну проекта, по сравнению с доступными готовыми аналогами.
III. Заключение.
В ходе выполнения данного проекта с уверенностью можно сказать, у Arduino большое будущее для массового пользователя, не имеющего образования программиста. Это Так как Arduino - универсальная платформа для самоделок на микроконтроллерах. К ней есть множество шилдов (плат расширения) и датчиков. Это многообразие позволяет сделать целый ряд интересных проектов, направленных на улучшение вашей жизни и повышение её комфорта. Сферы применения платы безграничны: автоматизация, системы безопасности, системы для сбора и анализа данных и прочее. Несомненное преимущество такой платы, это многократность ее использования, так как пайка деталей на нее не является необходимой. А также такая плата стоит дешевле своих аналогов и является очень компактной. Именно эти факторы и послужили основным сигналом к выбору данных плат для создания проекта.
У использования Arduino есть и экономическое обоснование. В связи с высокими ценами на профессиональное и полупрофессиональное оборудование. Необходимость в недорогом и простом устройстве для создания разного рода работ с программными средами для микроконтроллеров является довольно значимой.
На примере данного Электрокара показана альтернатива массового простого программирования на базе Arduino, и что является решением для имеющих желание создать проект и, не имеющих специального образования. Необходимое условие для работы подобного автомобиля – электроэнергия, запас которой хранится в аккумуляторе. Он довольно прост в сборке и экономичен, что тоже важно. Платформы можно заменять и перепрограммировать.
Итак, возможно в будущем Arduino возможно применять для ознакомления ближе через работу с модулями с такими сложными дисциплинами как программирование, конструирование, робототехника; позволит изучить базовую схемотехнику, программирование микроконтроллеров, работу различных датчиков.
IV. Приложение.
Приложение (исходный код)
#include
#include
const byte ROBOT_ID = 254;
const char* WIFI_SSID = "ITankRC";
const char* WIDI_PASSWORD = "RC123456";
WiFiUDP Udp;
const uint16_t PORT = 8888;
// пины подключенные к H-Bridge
const int RIGHT_BACKWARD = 12;
const int RIGHT_FORWARD = 13;
const int LEFT_BACKWARD = 14;
const int LEFT_FORWARD = 16;
// команды
byte _movement = 0x00;
const byte MASK = 0x07;
const byte STAY = 0x00;
const byte MOVE_FORWARD = 0x01;
const byte MOVE_BACKWARD = 0x02;
const byte ROTATE_RIGHT = 0x03;
const byte ROTATE_LEFT = 0x04;
void setup() {
delay( 10 );
//Serial.begin( 115200 );
pinMode( RIGHT_BACKWARD, OUTPUT );
pinMode( RIGHT_FORWARD, OUTPUT );
pinMode( LEFT_BACKWARD, OUTPUT );
pinMode( LEFT_FORWARD, OUTPUT );
move( LOW, LOW, LOW, LOW );
// Подлючаемся к управляющей сети
WiFi.begin( WIFI_SSID, WIDI_PASSWORD );
// Ожидаем подключение к WiFi точке доступа
do {
delay( 250 );
} while( WiFi.status() != WL_CONNECTED );
// Стартуем Datagram Server
Udp.begin( uint16_t( PORT ) );
delay( 10 );
}
void loop() {
// Проверяем наличие пришедших пакетов и парсим их
int noBytes = Udp.parsePacket();
while( noBytes-- ) {
uint8_t b = Udp.read();
// HANDSHAKE // Отвечаем и обнаруживаем себя
if( b == ROBOT_ID ) {
Udp.beginPacket( Udp.remoteIP(), Udp.remotePort() );
Udp.write( ROBOT_ID );
Udp.endPacket();
}
// MOVEMENT // Парсим и выполняем команды
byte movement = b & MASK;
if( _movement != movement ) {
_movement = movement;
switch( movement ) {
case STAY: move( LOW, LOW, LOW, LOW ); break;
case MOVE_FORWARD: move( LOW, HIGH, LOW, HIGH ); break;
case MOVE_BACKWARD: move( HIGH, LOW, HIGH, LOW ); break;
case ROTATE_RIGHT: move( HIGH, LOW, LOW, HIGH ); break;
case ROTATE_LEFT: move( LOW, HIGH, HIGH, LOW ); break;
}
}
// Serial.write( b );
}
//delay( 10 );
}
void move( bool rightBackward, bool rightForward, bool leftBackward, bool leftForward ) {
//if( rightBackward == rightForward || leftBackward == leftForward ) return;// throw Error
digitalWrite( RIGHT_BACKWARD, rightBackward );
digitalWrite( RIGHT_FORWARD, rightForward );
digitalWrite( LEFT_BACKWARD, leftBackward );
digitalWrite( LEFT_FORWARD, leftForward );
}
// ПУЛЬТ ДУ
#include
#include
WiFiUDP Udp;
//const char* WIFI_SSID = "ITankRC";
//const char* WIFI_PASSWORD = "RC123456";
const byte FORWARD_BUTTON = 13;
const byte BACKWARD_BUTTON = 12;
const byte RIGHT_BUTTON = 14;
const byte LEFT_BUTTON = 16;
void setup() {
delay( 10 );
pinMode( 4, OUTPUT );
pinMode( FORWARD_BUTTON, INPUT );
pinMode( BACKWARD_BUTTON, INPUT );
pinMode( RIGHT_BUTTON, INPUT );
pinMode( LEFT_BUTTON, INPUT );
WiFi.mode( WIFI_AP_STA );
WiFi.softAP( "ITankRC", "RC123456" );
Udp.begin( uint16_t( 8888 ) );
}
void loop() {
byte i = 0;
if( digitalRead( LEFT_BUTTON ) ) {
i = 4;// LEFT
digitalWrite( 4, true );
} else if( digitalRead( RIGHT_BUTTON ) ) {
i = 3;// RIGHT
digitalWrite( 4, true );
} else if( digitalRead( BACKWARD_BUTTON ) ) {
i = 2;// BACKWARD
digitalWrite( 4, true );
} else if( digitalRead( FORWARD_BUTTON ) ) {
i = 1;// FORWARD
digitalWrite( 4, true );
} else {
digitalWrite( 4, false );
}
Udp.beginPacket("192.168.4.2", 8888);
Udp.write( i );
Udp.endPacket();
delay( 20 );
}
V. Используемая литература.
Улли Соммер. Программирование микроконтроллерных плат. Arduino/Freeduino. //БХВ-Петербург. 2012 г.
Ревич Юрий. Занимательная электроника. //БХВ-Петербург. 2015 г.
Виктор Петин. Проекты с использованием контроллера Arduino, 2-е издание. //БХВ-Петербург. 2015
Теро Карвинен, Киммо Карвинен, Вилле Валтокари. «Делаем сенсоры. Проекты сенсорных устройств на базе Arduino и Raspberry Pi.» // Вильямс. 2015
Arduino Essentials. Автор: Francis Perea. // Packt Publishing. 2015.
Радионов A.A. Электрооборудование и электроавтоматика — М.: Магнитогорск, 2018.
https://cyberleninka.ru/article/n/kratkiy-obzor-i-perspektivy-primeneniya-mikroprotsessornoy-platformy-arduino
Е.Я.Омелъченко, В.О.Танич, А.С. Маклаков, Е.А.Карякина «КРАТКИЙ ОБЗОР И ПЕРСПЕКТИВЫ ПРИМЕНЕНИЯ МИКРОПРОЦЕССОРНОЙ ПЛАТФОРМЫ ARDUINO» УДК: 62-526.
Arduino.ru: Официальный сайт АМшпо в России [Электронный ресурс].- Режим доступа:Шр://аМшпо.ги/, свободный. - Загл. с экрана.
https://cyberleninka.ru/article/n/kratkiy-obzor-i-perspektivy-primeneniya-mikroprotsessornoy-platformy-arduino
Электронный журнал "Радиоежегодник" - Выпуск 34. Путеводитель по Arduino. //Радиоежегодник. Тема номера: Путеводитель по Arduino. Вып.: янв., 2015 (34).
24