Проектирование и конструирование светодиодного куба на платформе Arduino
Основные типы микроконтроллеров и их архитектура. Изучены теоретические сведения о платформе Arduino. Загрузка скетча в плату Arduino. Выбор и обоснование платформы Bootloader. Разработка и проектирования LED-cube на базе микроконтроллера Arduino Nanо.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 11.03.2019 |
Размер файла | 6,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
Светодиодный 3D куб - предназначен для вывода объемного изображения в пяти плоскостях. Яркие, цветные светодиоды в 3D кубе обеспечивают красивое изображение и привлекают внимание. Инсталляционный светодиодный 3D куб позволяет создавать красочные объемные анимации, световое шоу, логотипы в формате 3D. Светодиодный 3D куб оснащён стандартным набором эффектов.
Область применения LED 3D куба: на территории выставочного стенда в качестве основного элемента, в клубах и барах, на концертах и на различных массовых мероприятиях.
3D LED-cube может отображать объемные 3D изображения на скорости 30 fps. Куб представляет собой сетку из разноцветных LED-лампочек, соединенных между собой. При напольной установке светодиоды защищаются акриловым стеклом. Инсталляционный светодиодный 3D куб позволяет делать красочные объемные анимации, световое шоу, логотипы в формате 3D.
Установка светодиодных 3D кубов не требует специальных принадлежностей и инструментов. Основным условием установки 3D кубов является ровная площадка в размер светодиодного куба и розетка 220В. Загрузка информации в 3D куб производится с контроллера по витой паре (LAN кабель). Программное обеспечение для загрузки информации входит в комплект 3D куба.
С помощью светодиодного 3D куба возможно произвести не забываемое впечатление, на всех присутствующих на мероприятии.
Целью данного дипломного проекта является проектирование и конструирование светодиодного куба на платформе Arduino.
Для достижения поставленной цели необходимо решить следующие задачи:
- рассмотреть основные типы микроконтроллеров и их архитектуру;
- рассмотреть основные теоретические сведения о платформе Arduino;
- проанализировать среду разработки платформы Arduino;
- спроектировать и сконструировать светодиодный куб на платформе Arduino.
Объектом исследования дипломного проекта являются технологии проектирования и конструирования светодиодного куба.
Предметом исследования дипломного проекта является проектирование и конструирование светодиодного куба на платформе Arduino.
1. Теоретическая часть
1.1 Основные типы микроконтроллеров и их архитектура
Если представить все типы современных микроконтроллеров (МК), то можно поразиться огромным количеством разнообразных приборов этого класса, доступных потребителю. Все эти приоры можно разделить на следующие основные типы:
- встраиваемые (embedded) 8-разрядные МК (рисунок 1);
- 16- и 32-разрядные МК (рисунок 2).
Рисунок 1 - 8-разрядный микроконтроллер
Рисунок 2 - 16-разрядный микроконтроллер
Промышленностью выпускаются очень широкая номенклатура встраиваемых МК. В них все необходимые ресурсы (память, устройства ввода-вывода и т.д.) располагаются на одном кристалле с процессорным ядром. Если подать питание и тактовые импульсы на соответствующие входы МК он «оживет» и с ним можно будет работать. Обычно МК содержат значительное число вспомогательных устройств, благодаря чему обеспечивается их включение в реальную систему с использованием минимального количества дополнительных компонентов.
В состав этих МК входят:
- схема начального запуска процессора (Reset);
- генератор тактовых импульсов;
- центральный процессор;
- память программ (E(E)PROM) и программный интерфейс;
- средства ввода/вывода данных;
- таймеры, фиксирующие число командных циклов.
Общая структура МК показана на рисунке 3. Эта структура дает представление о том, как МК связывается с внешним миром[1].
Более сложные встраиваемые МК могут дополнительно реализовывать следующие возможности:
- встроенный монитор/отладчик программ;
- внутренние средства программирования памяти программ (ROM);
- обработка прерываний от различных источников;
- аналоговый ввод/вывод;
- последовательный ввод/вывод (синхронный и асинхронный);
- параллельный ввод/вывод (включая интерфейс с компьютером);
- подключение внешней памяти (микропроцессорный режим).
Рисунок 3 - Структура микроконтроллера
Все эти возможности значительно увеличивают гибкость применения МК и делают более простым процесс разработки систем на и основе [2].
Некоторые МК (особенно 16- и 32-разрядные) используют только внешнюю память, которая включает в себя как память программ (ROM), так и некоторый объем памяти данных (RAM), требуемый для данного применения. Они применяются в системах, где требуется большой объем памяти и относительное не большое количество устройств (портов) ввода/вывода. Типичным примером применения такого МК с внешней памятью является котроллер жесткого диска (HDD) с буферной кэш-памятью, который обеспечивает промежуточное хранение и распределение больших объемов данных (порядка нескольких мегабайт). Внешняя память дает возможность такому микроконтроллеру работать с более высокой скоростью, чем встраиваемый МК.
Цифровые сигнальные процессоры (DSP) - относительно новая категория процессоров. Назначение DSP состоит в том, чтобы получать текущие данные от аналоговой системы, обрабатывать данные и формировать соответствующий отклик в реальном масштабе времени. Они обычно входят в состав систем, используясь в качестве устройств управления внешним оборудованием, и не предназначены для автономного применения.
В зависимости от числа используемых кодов операций системы команд МК можно разделить на две группы: CISC и RISC. Термин CISC означает сложную систему команд и является аббревиатурой английского определения Complex Instruction Set Computer. Аналогично термин RISC означает сокращенную систему команд и происходит от английского Reduce Instruction Set Computer. Систему команд МК 8051 можно отнести к типу CISC. Однако, не смотря на широкую распространенность этих понятий, необходимо признать, что сами названия не отражают главного различия между системами команд CISC и RISC. Основная идея RISC архитектуры - это тщательный подбор таких комбинаций кодов операций, которые можно было бы выполнить за один такт тактового генератора. Основной выигрыш от такого подхода - резкое упрощение аппаратной реализации ЦП и возможность значительно повысить его производительность.
В общем случае одной команде CISC соответствует несколько команд RISC. Однако обычно выигрыш от повышения быстродействия в рамках RISC перекрывает потери от менее эффективной системы команд, что приводит к более высокой эффективности RISC систем в целом по сравнению с CISC.
В настоящее время грань между CISC и RISC архитектурой стремительно стирается. Например, МК семейства AVR фирмы Atmel имеют систему команд из 120 инструкций, что соответствует типу CISC. Однако большинство из них выполняется за один такт, что является признаком RISC архитектуры. Сегодня принято считать, что признаком RISC архитектуры является выполнение команд за один такт тактового генератора. Число команд само по себе значения уже не имеет[3].
Можно выделить три основных вида памяти, используемой в МК:
- память программ;
- память данных;
- регистры МК.
Память программ представляет собой постоянную память, предназначенную для хранения программного кода и констант. Эта память не изменяет содержимого в процессе выполнения программы.
Память данных предназначена для хранения переменных в ходе выполнения программы.
Регистры МК - этот вид памяти включает внутренние регистры процессора и регистры, которые служат для управления периферийными устройствами.
Для хранения программ обычно служит один из видов постоянной памяти: ROM (масочные ПЗУ), PROM (однократно программируемые ПЗУ), EPROM (электрически программируемые ПЗУ с ультрафиолетовым стиранием) или EEPROM (ПЗУ с электрической записью и стиранием, к этому виду также относятся современные микросхемы Flash-памяти). Все эти виды памяти являются энергонезависимыми - это означает, что содержимое памяти сохраняется после выключения питания МК[4].
Многократно программируемые ПЗУ - EPROM и EEPROM (Electrically Erasable Programmable Memory) подразделяются на ПЗУ со стиранием ультрафиолетовым (УФ) облучением (выпускаются в корпусах с окном), и МК с электрически перепрограммируемой памятью, соответственно.
В настоящее время протоколы программирования современной EEPROM памяти позволяют выполнять программирование МК непосредственно в составе системы, где он работает. Такой способ программирования получил название - ISP (In System Programming). И теперь можно периодически обновлять программное обеспечение МК без удаления из платы. Это дает огромный выигрыш на начальных этапах разработки систем на базе МК или в процессе их изучения, когда масса времени уходит на многократный поиск причин неработоспособности системы и выполнение последующих циклов стирания-программирования памяти программ[5].
Функционально Flash-память мало отличается от EEPROM. Основное различие состоит в способности стирания записанной информации. В памяти EEPROM стирание производится отдельно для каждой ячейки, а во Flash-памяти стирание осуществляется целыми блоками.
ОЗУ (RAM) - оперативное запоминающее устройство, используется для хранения данных. Эту память называют еще памятью данных. Число циклов чтения и записи в ОЗУ неограниченно, но при отключение питания вся информация теряется.
1.2 Платформа Arduino
Arduino - это электронный конструктор и удобная платформа быстрой разработки электронных устройств для новичков и профессионалов. Платформа пользуется огромной популярностью во всем мире благодаря удобству и простоте языка программирования, а также открытой архитектуре и программному коду. Устройство программируется через USB без использования программаторов.
Arduino позволяет компьютеру выйти за рамки виртуального мира в физический и взаимодействовать с ним. Устройства на базе Arduino могут получать информацию об окружающей среде посредством различных датчиков, а также могут управлять различными исполнительными устройствами.
Микроконтроллер на плате программируется при помощи языка Arduino (основан на языке Wiring) и среды разработки Arduino (основана на среде Processing). Проекты устройств, основанные на Arduino, могут работать самостоятельно, либо же взаимодействовать с программным обеспечением на компьютере (например, Flash, Processing, MaxMSP). Платы могут быть собраны пользователем самостоятельно или куплены в сборе. Программное обеспечение доступно для бесплатного скачивания. Исходные чертежи схем (файлы CAD) являются общедоступными, пользователи могут применять их по своему усмотрению[10].
- Wirin - электропроводка;
- Processing - открытый язык программирования, основанный на Java. Представляет собой лёгкий и быстрый инструментарий для людей, которые хотят программировать изображения, анимацию и интерфейсы.
Используется студентами, художниками, дизайнерами, исследователями и любителями, для изучения, прототипирования и производства. Он создан для изучения основ компьютерного программирования в визуальном контексте и служит альбомным программным обеспечением (имеется в виду то, что каждый *.pde файл визуальной оболочки Processing'а представляет собой отдельное изображение или анимацию, и т. д.) и профессиональным производственным инструментом.
Ниже представлены основные версии плат Arduino:
- Due - новая плата на базе ARM микропроцессора 32bit Cortex-M3 ARM SAM3U4E;
- Leonardo - последняя версия платформы Arduno на ATmega32u4 микроконтроллере. Отличается разъемом microUSB, по размерам совпадает с UNO;
- Yun (описание на англ.) - новая плата, с встроенной поддержкой Wi-Fi на базе ATmega32u4 and the Atheros AR9331;
- Micro - новое компактное решение на базе ATmega32u4;
- Uno - самая популярная версия базовой платформы Arduino USB. Uno имеет стандартный порт USB. Arduino Uno во многом схожа с Duemilanove, но имеет новый чип ATMega8U2 для последовательного подключения по USB и новую, более удобную маркировку вход/выходов. Платформа может быть дополнена платами расширения, например, пользовательскими платами с различными функциями;
- Arduino Ethernet - контроллер со встроенной поддержкой работы по сети и с опциональной возможностью питания по сети с помощью модуля POE (Power over Ethernet);
- Duemilanove - является предпоследней версией базовой платформы Arduino USB. Подключение Duemilanove производится стандартным кабелем USB. После подключения она готова к использованию. Платформа может быть дополнена платами расширения, например, пользовательскими платами с различными функциями;
- Diecimila - предыдущая версия базовой платформы Arduino USB;
- Nano - это компактная платформа, используемая как макет. Nano подключается к компьютеру при помощи кабеля USB Mini-B;
- Mega ADK - версия платы Mega 2560 с поддрежкой USB host интерфейса для связи с телефонами на Android и другими устройствами с USB интерфейсом;
- Mega2560 - новая версия платы серии Mega. Построена на базе Atmega2560 и с использованием чипа ATMega8U2 для последовательного соединения по USB порту;
- Mega - предыдущая версия серии Mega на базе Atmega1280;
- Arduino BT платформа с модулем Bluetooth для беспроводной связи и программирования. Совместима с платами расширения Arduino.
- LilyPad - платформа, пурпурного цвета, разработанная для переноски, может зашиваться в ткань;
- Fio - платформа разработана для беспроводных применений. Fio содержит разъем для радио XBee, разъем для батареи LiPo и встроенную схему подзарядки;
- Mini - самая маленькая платформа Arduino. Прекрасно работает как макетная модель, или, в проектах, где пространство является критическим параметром. Платформа подключается к компьютеру при помощи адаптера Mini USB;
- адаптер Mini USB - плата, конвертирующая подключение USB в линии 5 В, GND, TX и RX для соединения с платформой Arduino Mini или другими микроконтроллерами;
- Pro - платформа, разработанная для опытных пользователей, может являться частью большего проекта. Она дешевле, чем Diecimila и может питаться от аккумуляторной батареи, но в тоже время требует дополнительной сборки и компонентов;
- Pro Mini - как и платформа Pro разработана для опытных пользователей, которым требуется низкая цена, меньшие размеры и дополнительная функциональность;
- Serial - базовая платформа с интерфейсом RS232 для связи и программирования. Плата легко собирается даже начинающими пользователями. (включает схемы и файлы CAD);
- Serial Single Sided - платформа разработана для ручной сборки. Она обладает чуть большим размером, чем Diecimila, но совместима с платами расширения Arduino;
- USB Serial Light адаптер - адаптер, позволяющий подключать платы Arduino к компьютеру для обмена данными и заливки скетчей. Удобен для программирования таких плат, как Arduino Mini, Arduino Ethernet и других, не имеющих своего разъема USB.
Платы расширения, устанавливаемыми на платформы, являются платы, расширяющие функциональность Arduino для управления различными устройствами, получения данных:
Плата расширения Wi-Fi используется для соединения с беспроводными сетями стандарта 802.11 b/g (рисунок 4);
Схема и исходные данные:
- EAGLE файлы: arduino-wi-fi;
- схемы arduino-wi-fi;
- библиотека для работы с Wi-Fi платой расширения.
Краткие характеристики платформ Arduino:
- подключается к контроллеру Arduino (например, UNO или Mega2560);
- рабочее питание 5В (запитывается от платы Arduino);
- поддерживаемые форматы беспроводных сетей: 802.11b/g;
- форматы шифрования соединения: WEP и WPA2 Personal;
- подключается к плате Arduino по SPI шине;
- встроенный слот для micro SD карт;
- ICSP разъем;
- возможность последовательного подключения FTDI для отладки платы Wi-Fi;
- Mini-USB порт для апгрейда прошивок Wi-Fi платы.
Рисунок 4 - Плата расширения Wi-Fi
Плата расширения Arduino Wi-Fi позволяет контроллерам Arduino осуществлять сетевое соединение, используя беспроводную сеть формата 802.11. Плата построена на базе чипа HDG104 Wireless LAN 802.11b/g System in-Package. Микроконтроллер Atmega 32UC3 обеспечивает поддержку сетевого стэка (IP) как для TCP, так и для UDP протокола. Разработчики рекомендуют использовать библиотеку Wi-FI для работы с данной платой[11].
Физически плата Wi-Fi, как и большинство плат расширения, соединяется с платой контроллера Arduino посредством контактных колодок, расположенных по краям платы. Размеры соответствуют контактам на контроллерах Arduino UNO и Arduino Mega2560.
На плате Wi-Fi имеется слот для micro-SD карт, которые могут быть использованы для хранения и передачи файлов по сети. Для доступа к данным на карте можно использовать библиотеку SD Library. SS (выбор ведомого) для SD слота находится на порту вход/выхода 4, что следует учитывать при работе с этой библиотекой.
Соединение Arduino контроллера с процессором платы расширения Wi-Fi и встроенной картой SD осуществляется по SPI шине на разъеме ICSP. При этом задействованы следущие выходы: 11, 12 и 13 на UNO и выходы 50, 51 и 52 на Mega. На обоих платах выход 10 используется для выбора HDG104 и выход 4 для SD карты. Эти вход/выходы не могут быть задействованы для других целей. На контроллере Mega выход 53 (SS), не используется для выбора ведомого устройства HDG104, либо SD карты, но должен оставаться OUTPUT иначе будет нарушена работа SPI интерфейса.
Порт 7 используется для синхронизации (handshake) между платой Wi-Fi и Arduino (рисунок 5) и не может быть задействован для других целей.
По сколько HDG104 и слот SD карты делят шину SPI, они не могут быть использованы одновременно. Имейте это ввиду при использовании соответствующих библиотек. Если вы не используете одно из устройств, вам необходимо принудительно отключить его. Для отключения SD карты, установить порт 4 в OUTPUT и HIGH, для отключения HDG104 - порт вход/выхода 10 в OUTPUT, HIGH.
Плата Wi-Fi может быть использована как в открытых беспроводных сетях, так и в сетях с использованием шифрования WPA2 Personal, либо WEP. Для успешного соединения точка доступа должна анонсировать SSID.
Кнопка сброса (reset), перезагружает процессор на плате Wi-Fi и одновременно контроллер Arduino (рисунок 6).
Рисунок 5 - Плата расширения Wi-Fi
На плате расширения распаян коннектор Mini-USB, который используется для перепрошивки Atmega 32U с использованием протокола Atmel DFU. Перемычка (джампер) DFU осуществляет перевод платы в режим прошивки, в остальных случаях она должна быть незамкнута.
Коннектор FTDI может быть использован для последовательного соединения с микроконтроллером 32U для отладки. Список доступных команд.
Также на плате есть несколько светодиодов:
- L9 (желтый) - подключен к выходу 9;
- LINK (зеленый) - отображает статус соединения с сетью;
- ERROR (красный) - загорается при ошибке соединения;
- DATA (синий) - показывает процесс приема/передачи данных по сети.
Рисунок 6 - Плата Wi-Fi
Плата расширения Accessory Shield обеспечивает при помощи модуля Maxstream Xbee Zigbee беспроводную связь нескольким устройствам Arduino в радиусе до 35 метров (в помещении) и до 90 метров (вне помещения).
Accessory Shield - плата расширения для проведения разработок на основе Arduino. На плате установлены наиболее востребованные для большинства задач компоненты: джойстик, потенциометр, зуммер, RGB светодиод, температурный датчик, трехосевой цифровой акселерометр, прецизионные часы реального времени (RTC), 0.96 inch OLED, разъем интерфейса XBee. На плате имеется стандартный совместимый интерфейc Arduino, предназначенный для подключения плат, таких как Arduino Uno, Leonardo, XNucleo, Nucleo. Простота в использовании обеспечивается базовой библиотекой для всех компонентов, установленных на плате. Поэтому для реализации какой-либо функции достаточно функцию вызвать из библиотеки.
Интерфейс XBee (рисунок 7) позволяет реализовать беспроводные решения при использовании соответствующих модулей.
Плата расширения Arduino Motor изготовлена на основе микросхемы L298 (описание), являющейся двойным полномостовым драйвером, разработанным для управления индуктивными нагрузками, такими как реле, соленоиды, двигатели постоянного тока и шаговые двигатели. Она позволит вам управлять двумя двигателями постоянного тока с помощью вашей платы Arduino, независимо регулируя скорость и направление каждого из них. Кроме всего прочего, вы также можете измерять ток, потребляемый каждым двигателем таблица - 1. Плата совместима с модулями TinkerKit.
Плата расширения Arduino Motor обязательно должна питаться от внешнего источника питания, поскольку микросхема L298, расположенная на плате, имеет два раздельных блока питания: один для логики, второй для управления потреблением двигателя. Ток потребления двигателя гораздо больше, чем может дать USB.
Внешнее питание (не USB) может подаваться либо с AC/DC преобразователя, либо с батареи. Соединение с адаптером выполняется подключением штекера 2,1 мм с центральным положительным контактом к разъему питания платы Arduino, на которой установлена плата расширения, либо подключением проводов, по которым подается питание, к зажимным контактам Vin и GND (обратите внимание на соблюдение полярности).
Чтобы избежать повреждения платы Arduino, на которой установлена плата расширения, мы рекомендуем использовать внешний источник питания напряжением от 7 до 12 В. Если вашему двигателю требуется напряжение более 9 В, мы рекомендуем вам разделить шины питания платы расширения и платы Arduino, на которой плата расширения установлена. Это возможно, если удалить перемычку "Vin Connect"на обратной стороне платы. Абсолютный предел напряжения Vin на зажимных контактах составляет 18 В.
1 - разъем расширения Arduino, для подключения плат Arduino; 2 - разъемы XBee, для подключения беспроводных модулей XBee; 3 - 0.96inch OLED, разрешение 128x64 4-RGB светодиод; 4 - зуммер; 5 - потенциометр 10K; 6 - ADXL345: третьей осевой цифровой акселерометр, измерения в диапазоне до ±16g; 7 - LM75BDP: температурный датчик, разрешение до 0.125?; 8 - джойстик: 5 направлений; 9 - индикатор состояния модуля XBee; 10 - индикатор питания; 11 - EASYLINK модуля XBee; 12 - кнопка сброса модулей XBeeи Arduino; 13 - чип презиционных часов реального времени (RTC); 15 - держатель батареи CR1220 для RTC; 16 - драйвер RGB светодиода.
Рисунок 7 - Плата расширения Accessory Shield
Vin в блоке зажимных контактов - входное питание для двигателя, соединенного с платой расширения. Внешний источник питания, подключенный к этому выводу, также обеспечивает питанием плату Arduino, на которой установлена плата расширения. Удалив перемычку "Vin Connect", вы превращаете эту линию в выделенную шину питания двигателя.
GND Земля (Ground) в блоке зажимных контактов. Плата расширения может потреблять по 2 А на канал, всего максимально до 4 А.
Данная плата расширения имеет два раздельных канала, называемых канал А и канал В, каждый из которых использует 4 вывода Arduino для управления двигателем. Всего этой платой используется 8 выводов. Вы можете использовать каждый канал отдельно, чтобы управлять двумя двигателями постоянного тока, либо объединить их для управления единственным однополярным шаговым двигателем[6].
Если вам не нужны Торможение и токовое считывание, и нужно больше выводов для вашего приложения, можно запретить эти опции, удалив соответствующие перемычки на обратной стороне платы.
Дополнительные разъемы на плате расширения описаны ниже:
- 2 соединителя TinkerKit для двух аналоговых входов (белые), подключенные к A2 и A3;
- 2 соединителя TinkerKit для двух аналоговых выходов (оранжевые в середине), соединенные с выходами ШИМ на выводах D5 и D6;
- 2 соединителя TinkerKit для TWI-интерфейса (белые с 4 выводами), один для выхода и остальные для выхода.
Коллекторный двигатель постоянного тока. Вы можете управлять двумя двигателями постоянного тока, подключив два провода от каждого из них к (+) и (-) зажимных контактов каждого канала А и В. Таким образом управление их направлением осуществляется установкой высокого или низкого уровня на выводах DIR A and DIR B, управление скоростью - изменением значений коэффициента заполнения PWM A (ШИМ А) и PWM B (ШИМ В). Есть также выводы Brake A (тормоз А) и Brake B (тормоз В), при подаче на которые высокого уровня они тормозят двигатель постоянного тока быстрее, чем при выключении питания двигателя. Узнать величину тока, потребляемую двигателем можно, считав напряжение на выводах SNS0 and SNS1. На каждом канале будет напряжение, пропорциональное измеренному току, которое можно считать как обычный аналоговый вход с помощью функции analogRead на аналоговых входах A0 и A1. Для удобства он откалиброван так, что составляет 3,3 В, когда ток в канале достигает максимально возможного значения 2 А.
Максимальная длина и ширина печатной платы Arduino Motor составляют 2,7 и 2,1 дюйма соответственно (68,58 х 53,34 мм). Четыре резьбовых отверстия позволяют закрепить плату на поверхности или в корпусе. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 составляет 160 mil (0,16”), в отличие от расстояний между другими выводами, кратных 100 mil.
Макетная плата Arduino Ethernet Shield подключит вашу плату Arduino к интернету всего за несколько минут. Просто установите данный модуль на вашу плату Arduino, подключите его к вашей сети с помощью кабеля RJ45 и следуйте нескольким простым инструкциям, чтобы начать управлять вашим проектом через интернет. Как всегда с Arduino, каждый элемент платформы - оборудование, программное обеспечение и документация - находится в свободном доступе и является открытым. Это означает, что вы можете изучить, как в точности всё сделано и работает, и использовать эту архитектуру в качестве отправной точки для ваших собственных проектов.
Краткое описание о плате расширения Ethernet Shield:
- потребуется плата Arduino (не входит в комплект);
- рабочее напряжение: 5 вольт (берется с платы Arduino);
- Ethernet контроллер: W5100 с внутренним буфером 16 Кб;
- скорость соединения: 10/100 Мбит/с;
- связь с Arduino через порт SPI.
Плата расширения Arduino Ethernet Shield (рисунок 8) позволяет плате Arduino подключаться к интернету. Она построена на базе Ethernet микросхемы Wiznet W5100. Wiznet W5100 обеспечивает сетевой (IP) стек, способный работать и с TCP, и с UDP. Она поддерживает до четырех одновременных сокетных соединений. Для написания скетчей используйте библиотеку Ethernet, которая позволяет подключаться к интернету с помощью платы Ethernet Shield. Ethernet плата подлючается к плате Arduino с помощью длинных разъемов, которые проходят сквозь плату расширения для дальнейшего использования. Это позволяет сохранить распиновку неизменной и использовать другие платы расширения, подключая их сверху.
Рисунок 8 - Плата расширения Ethernet Shield W5100 R3
Большинство последних версий платы предоставляет распиновку 1.0 версии 3 платы Arduino UNO.
Плата расширения Ethernet Shield обладает стандартным соединением RJ-45 с интегрированным линейным трансформатором и включенным питанием через Ethernet (PoE).
Встроенный слот карты памяти micro-SD может быть использован для хранения файлов, предназначенных для передачи по сети. Он совместим со всеми платами Arduino/Genuino. Встроенный micro-SD картридер доступен через SD Library. При работе с этой библиотекой SS находится на выводе 4. Оригинальная версия платы расширения содержит полноразмерный слот SD картридера; он не поддерживается.
Плата расширения также включает в себя контроллер сброса, служащий для правильного сброса Ethernet модуля W5100 при включении питания. Предыдущие версии платы расширения были не совместимы с Arduino Mega и нуждаются в ручном сбросе после подачи питания.
Текущая версия платы обладает модулем Power over Ethernet (PoE), предназначенным для получения питания через обычный Ethernet кабель витой пары категории 5:
- совместим со стандартом IEEE802.3af;
- низкие пульсации и шум на выходе (100 мВ пик-пик);
- диапазон входных напряжения: от 36В до 57В;
- защита от перегрузки и короткого замыкания;
- выходное напряжение 9В;
- высокоэффективный преобразователь постоянного напряжения;
- изоляция 1500В (между входом и выходом).
Плата расширения поставляется без модуля PoE, это отдельно добавляемый компонент.
Arduino взаимодействует и с W5100, и SD картой с помощью шины SPI (через разъем ICSP). Он расположен на цифровых выводах 10, 11, 12 и 13 на платах Arduino Uno и на выводах 50, 51 и 52 на платах Arduino Mega. На обеих платах вывод 10 используется для выбора W5100, а вывод 4 - для SD карты. Эти выводы не могут использоваться в качестве обычных входов/выходов. На Arduino Mega аппаратный вывод SS (вывод 53) не используется для выбора W5100 или SD карты, но должен продолжать работать, как выход, иначе SPI интерфейс не будет работать.
Обратите внимание, из-за того, что W5100 и SD карта делят шину SPI, в какой-либо момент времени может быть активен только один из них. Если вы используете в своей программе оба периферийных устройства, ответственность за взаимодействие с ними берут соответствующие библиотеки. Но если вы не используете только одно из этих периферийных устройств, то должны явно отменить его выбор. Чтобы выполнить это для SD карты, настройте вывод 4 на выход и запишите в него высокий уровень. Для W5100 настройте цифровой вывод 10, как выход с высоким уровнем.
Рисунок 9 - Плата расширения Ethernet Shield W5100 R3
Плата расширения предоставляет стандартный разъем RJ45. Кнопка сброса на плате расширения сбрасывает и W5100, и плату Arduino.
Плата расширения Ethernet Shield (рисунок 9) содержит ряд светодиодов для индикации:
- PWR показывает, что на основную плату и плату расширения подано питание;
- LINK показывает наличие сети и мигает, когда плата расширения принимает или передает данные;
- FULLD показывает, что сетевое соединение - полный дуплекс;
- 100M показывает наличие сетевого соединения 100 Мбит/с (если не горит, то 10 Мбит/с);
- RX мигает, когда плата расширения принимает данные;
- TX мигает, когда плата расширения передает данные;
- COLL мигает, когда обнаруживаются проблемы с сетью.
Площадки перемычки INT на печатной плате могут быть замкнуты, чтобы позволить плате Arduino принимать управляемые прерываниями уведомления о событиях от W5100, но это не поддерживается библиотекой Ethernet. Перемычка соединяет вывод INT микросхемы W5100 с цифровым выводом 2 платы Arduino.
1.3 Среда разработки Arduino
Среда разработки Arduino состоит из встроенного текстового редактора программного кода, области сообщений, окна вывода текста (консоли), панели инструментов с кнопками часто используемых команд и нескольких меню. Для загрузки программ и связи среда разработки подключается к аппаратной части Arduino[10].
Программа, написанная в среде Arduino, называется скетч. Скетч пишется в текстовом редакторе, имеющем инструменты вырезки/вставки, поиска замены текста. Во время сохранения и экспорта проекта в области сообщений появляются пояснения, также могут отображаться возникшие ошибки.
Рисунок - 10 Среда разработки Arduino
Окно вывода текста (консоль) показывает сообщения Arduino, включающие полные отчеты об ошибках и другую информацию. Кнопки панели инструментов позволяют проверить и записать программу, создать, открыть и сохранить скетч, открыть мониторинг последовательной шины.
Таблица 1 - Кнопки панели инструментов Arduino
Кнопки панели инструментов Arduino |
Расшифровка кнопки панели инструментов Arduino |
|
Verify/Compile |
Проверка программного кода на ошибки, компиляция |
|
Stop |
Остановка мониторинга последовательной шины(Serial monitor) или затемнение других кнопок |
|
New |
Создание нового скетча |
|
Open |
Открытие меню доступа ко всем скетчам в блокноте. Открывается нажатием в текущем окне |
|
Save |
Сохранение скетча |
|
Upload to I/O Board |
Компилирует программный код и загружает его в устройство Arduino. |
|
Serial Monitor |
Открытие мониторинга последовательной шины (Serial monitor). Дополнительные команды сгруппированы в пять меню: File, Edit, Sketch, Tools, Help |
|
Edit |
||
Copy for Discourse |
Копирует в буфер обмена подходящий для размещения на форуме код скетча с выделением синтаксиса |
|
Copy as HTML |
Копирует код скетча в буфер обмена как HTML код, для размещения на веб-страницах. |
|
Sketch |
||
Verify/Compile |
Проверка скетча на ошибки |
|
Import Library |
Добавляет библиотеку в текущий скетч, вставляя директиву #include в код скетча. Подробная информация в описании библиотек ниже (Libraries); |
|
Show Sketch Folder |
Открывает папку, содержащую файл скетча, на рабочем столе |
|
Add File |
Добавляет файл в скетч (файл будет скопирован из текущего места расположения). Новый файл появляется в новой закладке в окне скетча. Файл может быть удален из скетча при помощи меню закладок |
|
Tools |
||
Продолжение таблицы 1 |
||
Board |
Выбор используемой платформы. Список с описанием платформ приводится ниже |
|
Serial Port |
Меню содержит список последовательных устройств передачи данных (реальных и виртуальных) на компьютере. Список обновляется автоматически каждый раз при открытии меню Tools |
|
Burn Bootloader |
Пункты данного меню позволяют записать Загрузчик (Bootloader) в микроконтроллер на платформе Arduino. Данное действие не требуется в текущей работе с Arduino, но пригодится, если имеется новый ATmega (без загрузчика). Перед записью рекомендуется проверить правильность выбора платформы из меню. При использовании AVR ISP необходимо выбрать соответствующий программатору порт из меню Serial Port |
Средой Arduino используется принцип блокнота: стандартное место для хранения программ (скетчей). Скетчи из блокнота открываются через меню File > Sketchbook или кнопкой Open на панели инструментов. При первом запуске программы Arduino автоматически создается директория для блокнота. Расположение блокнота меняется через диалоговое окно Preferences.
Позволяют работать с несколькими файлами скетчей (каждый открывается в отдельной закладке). Файлы кода могут быть стандартными Arduino (без расширения), файлами С (расширение *.с), файлами С++ (*.срр) или головными файлами (.h).
1.4 Загрузка скетча в плату Arduino
Перед загрузкой скетча требуется задать необходимые параметры в меню Tools > Board и Tools > Serial Port. Платформы описываются далее по тексту. В ОС Mac последовательный порт может обозначаться как dev/tty.usbserial-1B1 (для платы USB) или /dev/tty.USA19QW1b1P1.1 (для платы последовательной шины, подключенной через адаптер Keyspan USB-to-Serial). В ОС Windows порты могут обозначаться как COM1 или COM2 (для платы последовательной шины) или COM4, COM5, COM7 и выше (для платы USB). Определение порта USB производится в поле Последовательной шины USB Диспетчера устройств Windows. В ОС Linux порты могут обозначаться как /dev/ttyUSB0, /dev/ttyUSB1.
После выбора порта и платформы необходимо нажать кнопку загрузки на панели инструментов или выбрать пункт меню File > Upload to I/O Board. Современные платформы Arduino перезагружаются автоматически перед загрузкой. На старых платформах необходимо нажать кнопку перезагрузки. На большинстве плат во время процесса будут мигать светодиоды RX и TX. Среда разработки Arduino выведет сообщение об окончании загрузки или об ошибках.
При загрузке скетча используется Загрузчик (Bootloader) Arduino, небольшая программа, загружаемая в микроконтроллер на плате. Она позволяет загружать программный код без использования дополнительных аппаратных средств. Загрузчик (Bootloader) активен в течении нескольких секунд при перезагрузке платформы и при загрузке любого из скетчей в микроконтроллер. Работа Загрузчика (Bootloader) распознается по миганию светодиода (13 пин) (напр.: при перезагрузке платы).
Библиотеки добавляют дополнительную функциональность скетчам, например, при работе с аппаратной частью или при обработке данных. Для использования библиотеки необходимо выбрать меню Sketch > Import Library. Одна или несколько директив #include будут размещены в начале кода скетча с последующей компиляцией библиотек и вместе со скетчем. Загрузка библиотек требует дополнительного места в памяти Arduino. Неиспользуемые библиотеки можно удалить из скетча убрав директиву #include[11].
На Arduino.cc имеется список библиотек. Некоторые библиотеки включены в среду разработки Arduino. Другие могут быть загружены с различных ресурсов. Для установки скачанных библиотек необходимо создать директорию «libraries» в папке блокнота и затем распаковать архив. Например, для установки библиотеки DateTime ее файлы должны находится в подпапке /libraries/DateTime папки блокнота.
Поддерживаемые аппаратные средства других производителей добавляются в соответствующую подпапку папки блокнота. Устанавливаемые платформы могут включать собственные характеристики (в меню платформы), корневые библиотеки, загрузчик (Bootloader) и характеристики программатора. Для установки требуется распаковать архив в созданную папку. (Запрещено использовать наименование папки "Arduino", т.к. могут быть перезаписаны встроенные данные платформы Arduino.) Для деинсталляции данных удаляется соответствующая директория.
Отображает данные посылаемые в платформу Arduino (плата USB или плата последовательной шины). Для отправки данных необходимо ввести текст и нажать кнопку Send или Enter. Затем выбирается скорость передачи из выпадающего списка, соответствующая значению Serial.begin в скетче. На ОС Mac или Linux платформа Arduino будет перезагружена (скетч начнется сначала) при подключении мониторинга последовательной шины.
Имеется возможность обмена информацией с платформой через программы Processing, Flash, MaxMSP
Некоторые настройки изменяются в окне Preferences (меню Arduino в ОС Mac или File в ОС Windows и Linux).
Выбор платформы влияет на параметры (напр.: скорость ЦП и скорость передачи данных), используемые при компиляции и загрузке скетчей и на настройки записи загрузчика (Bootloader) микроконтреллера. Некоторые характеристики платформ различаются только по последнему параметру (загрузка Bootloader), таким образом, даже при удачной загрузке с соответствующим выбором может потребоваться проверка различия перед записью загрузчика (Bootloader).
Загруженный Bootloader имеет длинный таймаут (при перезагрузке светодиод пина 13 мигает три раза), т.к. оригинальные версии LilyPad не поддерживают автоматическую перезагрузку. Также не поддерживаются внешние часы и следовательно, Bootloader конфигурирует загрузку внутренних 8 МГц часов в ATmega168.
Таблица 2 - Выбор платформы Bootloader
Arduino Duemilanove или Nano с ATmega328 |
Тактовая частота ATmega328 16 МГц с возможностью автоматической перезагрузки. Используется для версий Arduino Pro или Pro Mini с ATmega328 на частоте 16 МГц (5 В). |
|
Arduino Diecimila, Duemilanove, или Nano с ATmega168 |
Тактовая частота ATmega168 16 МГц с возможностью автоматической перезагрузки. Компиляция и загрузка соответствует Arduino NG или старым версиям с ATmega168, но загрузка Bootloader имеет короткий таймаут (при перезагрузке светодиод пина 13 мигает один раз). Используется для версий Arduino Pro и Pro Mini с ATmega168 на частоте 16 МГц (5 В). |
|
Arduino Mega |
Тактовая частота ATmega1280 16 МГц с возможностью автоматической перезагрузки |
|
Arduino Mini |
Соответствует Arduino NG или старым версиям с ATmega168 (напр.: тактовая частота ATmega168 16 МГц без возможности автоматической перезагрузки) |
|
Arduino BT |
Тактовая частота ATmega168 16 МГц. Загрузка Bootloader происходит совместно с кодами для. |
|
инициализации модуля Bluetooth |
||
LilyPad Arduino с ATmega328 |
Тактовая частота ATmega328 8 МГц (3.3 В) с возможность автоматической перезагрузки. Соответствует Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega328. |
|
При наличии поздних версий LilyPad перед загрузкой Bootloader требуется выбрать Arduino Pro или Pro Mini (8 MHz) с ATmega168
Платформа Nano, построенная на микроконтроллере ATmega328 (Arduino Nano 3.0) или ATmega168 (Arduino Nano 2.x), имеет небольшие размеры и может использоваться в лабораторных работах. Отличие заключается в отсутствии силового разъема постоянного тока и работе через кабель Mini-B USB. Nano разработана и продается компанией Gravitech.
Таблица 3 - Выбор платформы Bootloader
Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega328 |
Тактовая частота ATmega328 8 МГц (3.3 В) с возможность автоматической перезагрузки. |
|
Arduino Pro или Pro Mini (3.3 В, 8 МГц) с ATmega168 |
Соответствует LilyPad Arduino с ATmega328. |
|
Arduino Pro или Pro Mini (3.3 В, 9 МГц) с ATmega168 |
Тактовая частота ATmega168 8 МГц (3.3 В) с возможность автоматической перезагрузки. |
|
Arduino NG или предыдущие версии с ATmega168 |
Тактовая частота ATmega168 8 МГц (3.3 В) с возможность автоматической перезагрузки. |
|
Arduino NG или предыдущие версии с ATmega168 |
Тактовая частота ATmega168 16 МГц без возможности автоматической перезагрузки. Компиляция и загрузка соответствует Arduino Diecimila или Duemilanove с ATmega168, но загрузка Bootloader имеет длинный таймаут (при перезагрузке светодиод пина 13 мигает три раза). |
|
Arduino NG или предыдущие версии с ATmega8. |
Тактовая частота ATmega8 16 МГц без возможности автоматической перезагрузки. |
светодиодный куб микроконтроллер arduino
Краткие характеристики Arduino Nano 3.0, представлены в таблице 5.
Питание платы Arduino Nano, и микросхемы FTDI FT232RL:
- Arduino Nano может получать питание через подключение Mini-B USB, или от нерегулируемого 6-20 В (вывод 30), или регулируемого 5 В (вывод 27), внешнего источника питания. Автоматически выбирается источник с самым высоким напряжением;
- микросхема FTDI FT232RL получает питание, только если сама платформа запитана от USB. Таким образом при работе от внешнего источника (не USB), будет отсутствовать напряжение 3.3 В, генерируемое микросхемой FTDI, при этом светодиоды RX и TX мигаю только при наличие сигнала высокого уровня на выводах 0-1.
Таблица 4 - Характеристики Arduino Nano 3.0
Микроконтроллер |
Atmel ATmega168 или ATmega328 |
|
Рабочее напряжение (логическая уровень) |
5 В |
|
Входное напряжение (рекомендуемое) |
7-12 В |
|
Входное напряжение (предельное) |
6-20 В |
|
Цифровые Входы/Выходы |
14 (6 из которых могут использоваться как выходы ШИМ) |
|
Аналоговые входы |
8 |
|
Постоянный ток через вход/выход |
40 мА |
|
Флеш-память |
16 Кб (ATmega168) или 32 Кб (ATmega328) при этом 2 Кб используются для загрузчика |
|
ОЗУ |
1 Кб (ATmega168) или 2 Кб (ATmega328) |
|
EEPROM |
512 байт (ATmega168) или 1 Кб (ATmega328) |
|
Тактовая частота |
16 МГц |
|
Размеры |
1.85 см x 4.2 см |
Микроконтроллер ATmega168 имеет 16 кБ флеш-памяти для хранения кода программы, а микроконтроллер ATmega328, в свою очередь, имеет 32 кБ (в обоих случаях 2 кБ используется для хранения загрузчика). ATmega168 имеет 1 кБ ОЗУ и 512 байт EEPROM (которая читается и записывается с помощью библиотеки EEPROM), а ATmega328 - 2 кБ ОЗУ и 1 Кб EEPROM.
Рисунок 11 - Распиновка платы
Каждый из 14 цифровых выводов Nano (рисунок 11), используя функции pinMode, digitalWrite, и digitalRead, может настраиваться как вход или выход. Выводы работают при напряжении 5 В. Каждый вывод имеет нагрузочный резистор (стандартно отключен) 20-50 кОм и может пропускать до 40 мА. Некоторые выводы имеют особые функции:
- последовательная шина: 0 (RX) и 1 (TX). Выводы используются для получения (RX) и передачи (TX) данных TTL. Данные выводы подключены к соответствующим выводам микросхемы последовательной шины FTDI USB-to-TTL;
- внешнее прерывание: 2 и 3. Данные выводы могут быть сконфигурированы на вызов прерывания либо на младшем значении, либо на переднем или заднем фронте, или при изменении значения. Подробная информация находится в описании функции attachInterrupt();
- ШИМ: 3, 5, 6, 9, 10, и 11. Любой из выводов обеспечивает ШИМ с разрешением 8 бит при помощи функции analogWrite;
- SPI 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Посредством данных выводов осуществляется связь SPI, которая, хотя и поддерживается аппаратной частью, не включена в язык Arduino;
- LED 13. Встроенный светодиод, подключенный к цифровому выводу 13. Если значение на выводе имеет высокий потенциал, то светодиод горит.
На платформе Nano установлены 8 аналоговых входов, каждый разрешением 10 бит (т.е. может принимать 1024 различных значения). Стандартно выводы имеют диапазон измерения до 5 В относительно земли, тем не менее имеется возможность изменить верхний предел посредством функции analogReference(). Некоторые выводы имеют дополнительные функции:
- I2C: A4 (SDA) и A5 (SCL). Посредством выводов осуществляется связь I2C (TWI). Для создания используется библиотека Wire (информация на сайте Wiring);
- дополнительная пара выводов платформы;
- AREF - опорное напряжение для аналоговых входов. Используется с функцией analogReference;
- Reset - низкий уровень сигнала на выводе перезагружает микроконтроллер. Обычно применяется для подключения кнопки перезагрузки на плате расширения, закрывающей доступ к кнопке на самой плате Arduino.
На платформе Arduino Nano установлено несколько устройств для осуществления связи с компьютером, другими устройствами Arduino или микроконтроллерами. ATmega168 и ATmega328 поддерживают последовательный интерфейс UART TTL (5 В), осуществляемый выводами 0 (RX) и 1 (TX). Установленная на плате микросхема FTDI FT232RL направляет данный интерфейс через USB, а драйверы FTDI (включены в программу Arduino) предоставляют виртуальный COM порт программе на компьютере. Мониторинг последовательной шины (Serial Monitor) программы Arduino позволяет посылать и получать текстовые данные при подключении к платформе. Светодиоды RX и TX на платформе будут мигать при передаче данных через микросхему FTDI или USB подключение (но не при использовании последовательной передачи через выводы 0 и 1).
Библиотекой SoftwareSerial возможно создать последовательную передачу данных через любой из цифровых выводов Nano[8].
ATmega168 и ATmega328 поддерживают интерфейсы I2C (TWI) и SPI. В Arduino включена библиотека Wire для удобства использования шины I2C. Более подробная информация находится в документации. Для использования интерфейса SPI обратитесь к техническим данным микроконтроллеров ATmega168 и ATmega328.
Платформа программируется посредством ПО Arduino. Из меню Tools > Board выбирается «Arduino Diecimila, Duemilanove или Nano w/ ATmega168» или «Arduino Duemilanove или Nano w/ ATmega328» (согласно установленному микроконтроллеру). Подробная информация находится в справочнике и инструкциях.
Микроконтроллеры ATmega168 и ATmega328 поставляются с записанным загрузчиком, облегчающим запись новых программ без использования внешних программаторов. Связь осуществляется оригинальным протоколом STK500.
Имеется возможность не использовать загрузчик и запрограммировать микроконтроллер через выводы блока ICSP.
Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Arduino Nano спроектирован таким образом, который позволяет осуществлять его сброс программно с подключенного компьютера. Один из выводов микросхемы FT232RL, участвующий в управлении потоком данных (DTR), соединен с выводом RESET микроконтроллера ATmega168 или ATmega328 через конденсатор номиналом 100 нФ. Когда на линии DTR появляется ноль, вывод RESET также переходит в низкий уровень на время, достаточное для перезагрузки микроконтроллера. Данная особенность используется для того, чтобы можно было прошивать микроконтроллер всего одним нажатием кнопки в среде программирования Arduino. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии DTR. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии DTR[9].
Эта система может приводить и к другим последствиям. При подключении Arduino Nano к компьютерам, работающим на Mac OS X или Linux, его микроконтроллер будет сбрасываться при каждом соединении программного обеспечения с платой. После сброса на Arduino Nano активизируется загрузчик на время около полсекунды. Несмотря на то, что загрузчик запрограммирован игнорировать посторонние данные (т.е. все данные, не касающиеся процесса прошивки новой программы), он может перехватить несколько первых байт данных из посылки, отправляемой плате сразу после установки соединения. Соответственно, если в программе, работающей на Arduino, предусмотрено получение от компьютера каких-либо настроек или других данных при первом запуске, убедитесь, что программное обеспечение, с которым взаимодействует Arduino, осуществляет отправку спустя секунду после установки соединения.
2. Разработка и проектирования LED-cube на базе микроконтроллера Arduino Nanо
2.1 Компоненты LED-cube
Для того чтобы собрать LED-cube - необходимы следующие компоненты:
- светодиоды (рисунок 13);
- резистор на 680 Ом 4шт (рисунок 15);
- Arduino nano 3.0 (рисунок 16);
- батарейка крона 9V (рисунок 17);
- тумблер (рисунок 18);
- монтажный провод 0.14 (рисунок 19);
- корпус (рисунок 20);
- схема LED-cube (рисунок 21);
- пеноплекс (рисунок 23).
Светодиод - полупроводниковый прибор с электронно-дырочным переходом, создающий оптическое излучение при пропускании через него электрического тока. История светодиодов начинается в 1907 году, когда британский экспериментатор Генри Раунд впервые открыл и описал электролюминесценцию. С 1923 года интерес к вопросу электролименесценции начал расти, а в 1962 году Ник Холоньяк изобрел первый практически применимый светодиод. Однако в массовое производство светодиоды попали лишь в начале 70-х годов. Для примера в 1968 году стоимость светодиода составляла 200$ за штуку, а сейчас простой индикаторный светодиод будет стоить порядка 10 центов. Начиная с 90-х годов двадцатого века светодиодная промышленность начала быстро развиваться, что привело к созданию полноценного светодиодного освещения в виде ламп, светильников, лент и модулей. Неоспоримыми преимуществами светодиодов можно считать следующее:
- высокая световая отдача. Достигает 160Лм/Вт;
- длительный срок службы -- от 30000 до 100000 часов;
- спектральная чистота достигаемая не фильтрами, а принципом устройства прибора;
- малая инерционность -- включаются сразу на полную яркость, в то время как у люминесцентных ламп время включения от 1 с до 1 мин;
- различный угол излучения -- от 15 до 180 градусов;
- безопасность -- не требуются высокие напряжения, низкая температура светодиода или арматуры, обычно не выше 60°C;
- нечувствительность к низким и очень низким температурам;
- экологичность -- отсутствие ртути, фосфора и ультрафиолетового излучения в отличие от люминесцентных ламп;
- высокая механическая прочность, вибростойкость (отсутствие нити накаливания и иных чувствительных составляющих);
- количество циклов включения-выключения не оказывают существенного влияния на срок службы светодиодов.
Резимстор (англ. resistor, от лат. resisto -- сопротивляюсь) -- пассивный элемент электрических цепей, обладающий определённым или переменным значением электрического сопротивления, предназначенный для линейного преобразования силы тока в напряжение и напряжения в силу тока, ограничения тока, поглощения электрической энергии.
...Подобные документы
Аппаратные средства с возможностью расширения и открытыми принципиальными схемами. Процесс работы с микроконтроллерами. Теоретические сведения о платформе Arduino. Установка драйверов для Arduino Duemilanove, Nano или Diecimila в Windows 7, Vista или XP.
курсовая работа [3,3 M], добавлен 26.09.2014Принципы работы цифрового компаса HMC5883L, платы Arduino UNO. Особенности шины I2C, ее недостатки и преимущества. Программа Fritzing, ее значение для построения схемы подключения цифрового компаса к Arduino UNO. Согласование уровней выхода со входом.
курсовая работа [1,4 M], добавлен 30.03.2014Упрощенная модель системы регулировки. Стандартный конструктив Ардуино с платами расширения. Внешний вид Ардуино Uno. Среда разработки Arduino. Встроенный текстовый редактор программного кода. Программа управления шаговым двигателем в однофазном режиме.
курсовая работа [4,5 M], добавлен 02.06.2015Понятие и виды микроконтроллеров. Особенности программирования микропроцессорных систем, построение систем управления химико-технологическим процессом. Изучение архитектуры микроконтроллера ATmega132 фирмы AVR и построение на его основе платформы Arduino.
курсовая работа [1,9 M], добавлен 13.01.2011Классификация электромагнитных подвесов. Построение математической модели стенда. Программная реализация пропорционально-интегрально-дифференциального регулятора. Описание микроконтроллера ATmega 328 и платы Arduino. Сборка и ввод стенда в эксплуатацию.
дипломная работа [2,6 M], добавлен 09.06.2014Особенности микроконтроллеров AVR семейства Mega. Работа ЖК-индикатора на твист-эффекте при напряжениях. Виды и параметры аккумуляторов, их сравнительный анализ. Описание структурной и принципиальной схемы лабораторного стенда отладочного модуля.
курсовая работа [961,3 K], добавлен 13.02.2016Опис актуальності завдання та область використання мікросхеми Arduino UNO. Особливості дослідження, проектування і розробки схем. Тахометр як прилад для вимірювання частоти обертання валів машин і механізмів. Перелік елементів адаптера інтерфейсу RS-232.
курсовая работа [2,9 M], добавлен 19.07.2014Понятие и функциональные особенности микроконтроллера, его структура и взаимодействие основных элементов, архитектура. Принципы работы светодиодного табло и порядок программирования микроконтроллера. Основные понятия и измерение надежности системы.
курсовая работа [108,1 K], добавлен 29.03.2014Разработка малогабаритного автомобильного термометра на базе микроконтроллера и требования к нему. Проектирование функциональной схемы, работа измерителя. Выбор элементной базы. Схема включения усилителя. Архитектура и элементы микроконтроллера.
контрольная работа [841,4 K], добавлен 22.05.2015Условия эксплуатации микропроцессорного устройства "Светодиодные фонари с электронным управлением" на базе МК ATtiny 15. Техническое описание микроконтроллера. Разработка структурной и электрической принципиальной схем, интерфейса управления и индикации.
курсовая работа [267,5 K], добавлен 01.05.2015Общие сведения о микроконтроллерах, их сфера применения. Построение электрической принципиальной схемы светодиодного табло на микроконтроллере PIC16C84. Расчет цепи схемы, программирование микроконтроллера. Особенности расчета надежности системы.
реферат [255,1 K], добавлен 25.03.2014Описание объекта и функциональная спецификация. Описание ресурсов МК: расположение выводов; исполнение микроконтроллера; особенности микроконтроллеров. Разработка алгоритмов устройства. Описание функциональных узлов МПС и алгоритма их взаимодействия.
курсовая работа [5,2 M], добавлен 27.12.2009Особенности проектирования микропроцессорного устройства "Цифровой осциллограф". Выбор микроконтроллера, описание периферийных устройств. Разработка принципиальной схемы устройства и программы для микроконтроллера, осуществляющей все функции устройства.
курсовая работа [923,5 K], добавлен 24.12.2012Анализ основных технических требований. Выбор и обоснование элементной базы, материалов конструкции, компоновочной схемы, метода и принципа конструирования. Разработка модуля управления климатом на базе микроконтроллера. Стандартная структура сети.
отчет по практике [1,1 M], добавлен 28.04.2015Назначение и условия эксплуатации светодиодного устройства на МК ATtiny 15. Микроконтроллер как микросхема, предназначенная для управления электронными устройствами. Обоснование его применения. Разработка структурной схемы светодиодного устройства.
курсовая работа [380,8 K], добавлен 04.04.2015Модернизация более ранней разработки устройства на базе микроконтроллера MCS-48, предназначенного для увлажнения дыхательной смеси. Проектная процедура ПЛИС типа SOPC, реализованная на базе микроконтроллера MCS-48. Проектирование структурной схемы.
курсовая работа [523,2 K], добавлен 03.05.2015Описание структурной и функциональной схем электронных часов, выбор элементной базы. Разработка счетчика времени с системой управления на базе микроконтроллера. Экономический расчет затрат на проектирование, разработку и сборку макета электронных часов.
дипломная работа [223,5 K], добавлен 26.07.2015Выбор структуры одноплатного микроконтроллера. Модули памяти микроконтроллера. Селектор адреса портов ввода/вывода и возможность изменения селектируемых адресов. Деление адресного пространства на окна. Нумерация точек в схеме цифрового фильтра.
курсовая работа [204,3 K], добавлен 10.11.2013Особенности микроконтроллера ATTINY семейства AVR. Описание ресурсов микроконтроллера ATTINY12: описание процессора, порты ввода/вывода, периферийные устройства, архитектура ядра. Разработка устройства со световыми эффектами на базе микроконтроллера.
курсовая работа [2,1 M], добавлен 24.06.2013Создание микропроцессорной системы на базе микроконтроллера, предназначенного для функциональной диагностики цифровых и интегральных микросхем. Разработка и расчёт блоков микроконтроллера, сопряжения, управления, питания, цифровой и диодной индикации.
курсовая работа [1,5 M], добавлен 28.01.2016