Аппаратная часть платформы Arduino




Введение

Само понятие "умный" дом (англ. smart house) не такое уж молодое. Оно возникло в США в начале 70-х годов прошлого века, в недрах "Института интеллектуальных зданий". На тот момент под умным домом подразумевалось "здание, обеспечивающее продуктивное и эффективное использование рабочего пространства…".

Однако годом рождения современного "умного" дома можно считать 1978-й год. В этом году в США компании Х10 USA и Leviton разработали и внедрили в производство технологию управления бытовыми приборами по проводам бытовой электросети.

Распространение эти разработки получили в то время лишь на территории Северной Америки, ибо были рассчитаны на работу при напряжении 110 В и частоту сети 60 Гц. Тем не менее, именно этим фирмам человечество обязано появлением "невероятных чудес прогресса" - автоматически открывающихся дверей, включающегося по хлопку света и прочих "фокусов", которыми состоятельные американцы удивляли своих гостей, а голливудские фильмы - весь остальной мир.

Для конца 70-х годов технология X10 (именно такое название закрепилось и сохранилось за ней и поныне) являлась, конечно, революционной. Однако она была рассчитана на поддержку всего шести управленческих команд и, в основном, использовалась для управления электроосвещением. Но людям хотелось большего. "Умный" дом должен был становиться все "умнее".

С начала нового тысячелетия человечество шагает в эпоху новых технологических открытий, одним из которых является бытовая автоматизация. Время современного человека имеет огромную ценность и такие системы автоматизации как «умный дом» существенно экономят этот жизненно-важный ресурс. Включить кондиционер, выключить свет в прихожей, активировать ночную сигнализацию - это лишь маленький перечень действий, которые можно возложить на систему «умного дома». Но такие устройства имеют один минус - большую рыночную стоимость. Поэтому разработка относительно дешевой системы, с аналогичными возможностями получает все большую актуальность.

Целью работы является разработка модуля системы «умный дом», а так же разработка и исследование алгоритмов системы, позволяющих увеличить экономию ресурсов.

Задачи проекта

 

Создание архитектуры аппаратных средств «умного дома»

Анализ программно-аппаратных систем управления «умным домом»

Отладка стенда

 

Содержание работы

 

Обзор систем управления зданиями

Обзор готовых программных решений

Выбор аппаратных средств

Создание архитектуры аппаратных средств «умного дома»

Разработка требований к многофункциональному программно-аппаратному стенду

Разработка структуры программно-аппаратного стенда

 

Экспериментальная часть

 

Отладка стенда


 

Глава 1. Технологическая часть

Arduino — это электронный конструктор и удобная платформа быстрой разработки электронных устройств для новичков и профессионалов. Платформа пользуется огромной популярностью во всем мире благодаря удобству и простоте языка программирования, а также открытой архитектуре и программному коду. Устройство программируется через USB без использования программаторов.

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

Микроконтроллер на плате программируется при помощи языка С++ и среды разработки Arduino. Проекты устройств, основанные на Arduino, могут работать самостоятельно, либо же взаимодействовать с программным обеспечением на компьютере (напр.: Flash, Processing, MaxMSP). Платы могут быть собраны пользователем самостоятельно или куплены в сборе. Программное обеспечение доступно для бесплатного скачивания. Исходные чертежи схем (файлы CAD) являются общедоступными, пользователи могут применять их по своему усмотрению.

В 2006 Arduino получила признание в категории Digital Communities на фестивале Ars Electronica Prix.

Аппаратная часть платформы Arduino

Существует несколько версий платформ Arduino. Последняя версия Leonardo базируется на микроконтроллере ATmega32u4.

Uno, как и предыдущая версия Duemilanove построены на микроконтроллере Atmel ATmega328.

Старые версии платформы Diecimila и первая рабочая Duemilanoves были разработаны на основе Atmel ATmega168,более ранние версии использовали ATmega8.

Arduino Mega2560, в свою очередь, построена на микроконтроллере ATmega2560.

Язык Arduino можно разделить на три раздела:

Операторы · setup() · loop()     Управляющие операторы · if · if...else · for · switch case · while · do... while · break · continue · return · goto   Синтаксис ·; (semicolon) · {} (curly braces) · // (single line comment) · /* */ (multi-line comment)   Арифметические операторы · = (assignment) · + (addition) - (subtraction) · (multiplication) · / (division) · % (modulo)   Операторы сравнения · == (equal to) ·!= (not equal to) · < (less than) · > (greater than) · <= (less than or equal to) · >= (greater than or equal to) · Логические операторы · && (И) · || (ИЛИ) ·! (Отрицание)   Унарные операторы · ++ (increment) · -- (decrement) · += (compound addition) · -= (compound subtraction) · *= (compound multiplication) · /= (compound division) Данные Константы · HIGH | LOW · INPUT | OUTPUT · true | false · Целочисленные константы · Константы с плавающей запятой   Типы данных · boolean · char · byte · int · unsigned int · word · long · unsigned long · float · double · string - массив символов · String - объект класса · массив (array) · void   Преобразование типов данных · char() · byte() · int() · long() · float()   Область видимости переменных и квалификаторы · Область видимости · static · volatile · const Функции Цифровой ввод/вывод · pinMode() · digitalWrite() · digitalRead()   · Аналоговый ввод/вывод · analogRead() · analogReference() · analogWrite()   Дополнительные фунции ввода/вывода · tone() · noTone() · shiftOut() · pulseIn() · Работа со временем · millis() · micros() · delay() · delayMicroseconds() Математические функции · min() · max() · abs() · constrain() · map() · pow() · sq() · sqrt() Тригонометрические функции · sin() · cos() · tan() Генераторы случайных значений · randomSeed() · random() Внешние прерывания · attachInterrupt() · detachInterrupt() Функции передачи данных · Serial

 




Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-11-26 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: