Проектирование и конструирование светодиодного куба на платформе Arduino

Основные типы микроконтроллеров и их архитектура. Изучены теоретические сведения о платформе Arduino. Загрузка скетча в плату Arduino. Выбор и обоснование платформы Bootloader. Разработка и проектирования LED-cube на базе микроконтроллера Arduino Nanо.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 11.03.2019
Размер файла 6,7 M

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

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

Резисторы необратимо превращают электрическую энергию в тепловую, но не накапливают какую-либо энергию, поэтому их называют неэнергоемкими.

Весьма широко используемый компонент практически всех электрических и электронных устройств.

Закон Ома для мгновенных значений тока и напряжения справедлив только в резистивных цепях.

Рисунок 12 - Устройство диода

Рисунок 13 - Светодиод

На данный момент резисторы применяют во многих областях науки. Ко всему прочему их принято считать самой распространенной деталью для создания плат и электрических схем.

Главная функция резистора - это контроль и ограничение действия тока. Ко всему прочему, эту деталь порой применяют для того чтобы поделить напряжение в сети.

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

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

Рисунок 14 - Обозначение резисторов

На всех электрических схемах резистор обозначают так, как показано на рисунке 14.

Следует также отметить, что мощность резисторов, носящую номинальный характер обычно указывают в таблице комплектующих. Но в большинстве своем используют стандартную мощность в 0, 25 или 0,125 Ватт. Если для создания схемы необходимо использовать резистор большей мощности, то его указывают в предварительном списке.

Интересный факт. В большинстве своем все резисторы имеют в своем составе серебро. А вот определенные варианты собирают при использовании золота, платины, палладия, тантала и рутения.

Рисунок 15 - Резистор

Рисунок 16 - Arduino nano 3.0

Рисунок 17 - Батарейка крона

Рисунок 18 - Тумблер

Рисунок 19 - Монтажный провод

Рисунок 20 - Корпус

Концептуальная схема светодиодного куба представлена на рисунке 21.

Рисунок 21 - Схема светодиодного куба

2.2 Сборка LED-cube

Сборку LED-cube рекомендуется начинать с диодов. Для того чтобы правильно собрать куб, необходимо разобраться где у светодиода плюс, а где минус. У светодиода плюсом является анод, это самая длинная ножка, а минусом является короткая ножка, катод.

Рисунок 22 - Диод

Чтобы спаять слои одинаковыми, нужно светодиоды закрепить. Можно взять пеноплекс и сделать в ней 16 отверстий. Расстояние между светодиодами должно быть чуть меньше самой длинной его ножки, чтобы можно было их соединить.

Рисунок 23 - Пеноплекс

Необходимо спаять 4 слоя светодиодов по 16 в каждом, а затем все 4 слоя спаять в один объёмный куб. Ставим первые 16 светодиодов в проделанные отверстия и отгибаем плюса так, чтобы все светодиоды соединились, как показано на рисунке 24. На всех слоях минуса (ножки торчащие вверх) должны находится на всех слоях в одинаковом положении, чтобы они были соединены между собой.

Рисунок 24 - 1 Слой диодов

Очень важно чтобы ножки торчащие вверх (минуса), на всех слоях находились в одинаковых местах, чтобы можно было легче соединить их в процессе объединения.

Рисунок 25 - Расположение диодов

Когда все 4 слоя будут собраны, они будут объединены в один слой. Далее необходимо соединить все отогнутые минуса.

Рисунок 26- 4 Слоя диодов

2.3 Загрузка скетча для LED-cube

Записывается алгоритм работы куба в контроллер, с помощью программы Arduino.

Подсоединяется Arduino Nano через микро USB к компьютеру.

Рисунок 27 - Подсоединение платы

Необходимо открыть скачанный скетч и должна запуститься программа Arduino. Затем нужно выбрать вкладку инструменты-плата-Arduino Nano.

Рисунок 28 - Выбор платы

Затем там же инструменты - процессор ATmega328.

Рисунок 29 - Выбор процессора ATmega328

Выбор порта COM 1

Рисунок 30 - Выбор порта

Чтобы загрузить скетч на плату Arduino необходимо выбрать на вкладке скетч пункт загрузка, как показано на рисунке 31.

Рисунок 31 - Загрузка скетча

Далее производится пайка проводов согласно рисунку 32. Крестиком указано место где будут крепиться 4 провода.

Рисунок 32 - Схема распределения диодов

Затем соединяются плюса, для этого используется 4 резистора. Если смотреть по оси Y, то слой 4(верхний) должен присоединиться к контакту А0, 3 к А1 , 2 к А2, 1 к А3.

Рисунок 33 - Схема распределения сопротивления

Производится пайка проводов питания. Плюс батарейки необходимо припаять к контакту UIN, а минус к GND. Эти контакты должны находиться на той же стороне что и контакты А0-А7. Тумблер был припаян между UIN и плюсом батарейки.

Рисунок 34 - Подключение питание

Рисунок 35 - Led Cube на платформе Arduino

2.4 Обоснование экономической целесообразности

В ходе реализации проекта был спроектирован и светодиодного LED-cube. При конструировании были приобретены основные элементные модули, а так же вспомогательные материалы. Полный перечень приобретенных компонентов приведен в таблице 5.

Таблица 5 - Перечень приобретенных компонентов

Наименование

Цена, руб.

Плата Arduno nano

358,06

Светодиоды 64 шт

600

Резистор на 680 Ом 4 шт

5

Крона 9V

60

Тумблер

25

Монтажный провод 0.14

130

Пеноплекс

25

Итого

1203,06

Светодиодный LED-cube, сделанные своими руками, намного дешевле продаваемых в магазинах, так как компоненты LED-cube подбираются вами же и в случае выхода из строя некоторых компонентов не заставит труда заменить. Примерная стоимость LED-cube, сделанного своими руками составит 1203,06 рублей, а стоимость аналогичного устройства продаваемого в магазине - около 2000 рублей.

Таким образом, можно сделать вывод об экономической целесообразности проекта.

Заключение

В первом разделе дипломного проекта приведены основные сведения о микроконтроллерах, дано определение микроконтроллеров и их классификации, рассмотрена основные фирмы производящие микроконтроллеры. Основное внимание уделено микроконтроллеру Atmega328, который используется в представленном устройстве. Даны его подробные характеристики, разобрана структурная схема, приведена распиновка. В дипломном проекте рассмотрена работа модулей микроконтроллера в их взаимодействиях.

Во втором разделе описан процесс проектирования и разработки электронных часов на базе микроконтроллера Atmega328, приведены компоненты необходимые для сборки данного устройства, рассмотрена схема устройства, порядок сборки и подключения.

В третьем разделе рассмотрено экономическое обоснование использования LED-cube.

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

Для достижения поставленной цели были решены следующие задачи:

- основные типы микроконтроллеров и их архитектура;

- рассмотрены основные теоретические сведения о платформе Arduino;

- проанализирована среда разработки платформы Arduino;

- спроектирован и сконструирован светодиодный куб на платформе Arduino.

Таким образом, цель дипломного проекта можно считать достигнутой.

Список использованных источников

1 Алексенко А.Г., Шагурин И.И. Микросхемотехника. - М.: Радио и связь, 2012г. 496 с.

2 Белов А.Б. Конструирование устройств на микроконтроллерах / Наука и Техника, 2013г. 255 с.

3 Бродин Б.В., Шагурин И.И. Микроконтроллеры: Справочник. - М.: ЭКОМ, 2013г.395 с.

4 Волович Г.И. Схемотехника аналоговых и аналого-цифровых электронных устройств. - М.: Издательский дом «Додэка XXI век», 2012г. 528 с.

5 Ленк Дж. Электронные схемы: Практическое руководство. Пер. с англ. - М.; Мир, 2012г. 343 с., ил.

6 Опадчий Ю.Ф., Глудкин О.П., Гуров А.И. Аналоговая и цифровая электроника (полный курс): Учебник для вузов. Под ред. О.П. Глудкина. - М.: Горячая линия - Телеком, 2014г. 768 с.: ил.

7 Павлов В.Н., Ногин В.Н. Схемотехника аналоговых электронных устройств: Учебник для вузов. - 2-е изд., испр. - М.: Горячая линия - Телеком, 2013г. 320 с.: ил.

8 Предко М. Руководство по микроконтроллерам. Том 1. / Пер. с англ. под ред.И. И. Шагурина и С.Б. Лужанского - М.: Постмаркет, 2012. 416 с.

9 Предко М. Руководство по микроконтроллерам. Том 2. / Пер. с англ. под ред.И. И. Шагурина и С.Б. Лужанского - М.: Постмаркет, 2012г. 488 с.

10 http://arduino-diy.com - Информационный ресурс с инструкциями и туториалами по использованию контроллеров Arduino

11 https://www.arduino.cc - Официальный сайт Arduino

Приложение А

4x4x4 LED Cube

Connection Setup:

Columns

[(x,y)-Pin]

(1,1)-13

(1,2)-12

(1,3)-11

(1,4)-10

(2,1)-9

(2,2)-8

(2,3)-7

(2,4)-6

(3,1)-5

(3-2)-4

(3-3)-3

(3,4)-2

(4,1)-1

(4,2)-0

(4,3)-A5

(4,4)-A4

Layers

[layer-Pin]

a-A0

b-A1

c-A2

d-A3

*/

//initializing and declaring led rows

int column[16]={13,12,11,10,9,8,7,6,5,4,3,2,1,0,A5,A4};

//initializing and declaring led layers

int layer[4]={A0,A1,A2,A3};

int time = 250;

void loop()

{

turnEverythingOff();//turn all off

flickerOn();

turnEverythingOn();//turn all on

delay(time);

turnOnAndOffAllByLayerUpAndDownNotTimed();

layerstompUpAndDown();

turnOnAndOffAllByColumnSideways();

delay(time);

aroundEdgeDown();

turnEverythingOff();

randomflicker();

randomRain();

diagonalRectangle();

goThroughAllLedsOneAtATime();

propeller();

spiralInAndOut();

flickerOff();

turnEverythingOff();

delay(2000);

}

//xxxxxxxxxxxxxxxxxxxxFUNCTIONSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

/////////////////////////////////////////////////////////////flicker on

void flickerOn()

{

int i = 150;

while(i != 0)

{

turnEverythingOn();

delay(i);

turnEverythingOff();

delay(i);

i-= 5;

}

}

//////////////turn everything on and off by layer up and down NOT TIMED

void turnOnAndOffAllByLayerUpAndDownNotTimed()

{

int x = 75;

for(int i = 5; i != 0; i--)

{

turnEverythingOn();

for(int i = 4; i!=0; i--)

{

digitalWrite(layer[i-1], 1);

delay(x);

}

for(int i = 0; i<4; i++)

{

digitalWrite(layer[i], 0);

delay(x);

}

for(int i = 0; i<4; i++)

{

digitalWrite(layer[i], 1);

delay(x);

}

for(int i = 4; i!=0; i--)

{

digitalWrite(layer[i-1], 0);

delay(x);

}

}

}

//////////////////////////turn everything on and off by column sideways

void turnOnAndOffAllByColumnSideways()

{

int x = 75;

turnEverythingOff();

//turn on layers

for(int i = 0; i<4; i++)

{

digitalWrite(layer[i], 0);

}

for(int y = 0; y<3; y++)

{

//turn on 0-3

for(int i = 0; i<4; i++)

{

digitalWrite(column[i], 1);

delay(x);

}

//turn on 4-7

for(int i = 4; i<8; i++)

{

digitalWrite(column[i], 1);

delay(x);

}

//turn on 8-11

for(int i = 8; i<12; i++)

{

digitalWrite(column[i], 1);

delay(x);

}

//turn on 12-15

for(int i = 12; i<16; i++)

{

digitalWrite(column[i], 1);

delay(x);

}

//turn off 0-3

for(int i = 0; i<4; i++)

{

digitalWrite(column[i], 0);

delay(x);

}

//turn off 4-7

for(int i = 4; i<8; i++)

{

digitalWrite(column[i], 0);

delay(x);

}

//turn off 8-11

for(int i = 8; i<12; i++)

{

digitalWrite(column[i], 0);

delay(x);

}

//turn off 12-15

for(int i = 12; i<16; i++)

{

digitalWrite(column[i], 0);

delay(x);

}

//turn on 12-15

for(int i = 12; i<16; i++)

{

digitalWrite(column[i], 1);

delay(x);

}

//turn on 8-11

for(int i = 8; i<12; i++)

{

digitalWrite(column[i], 1);

delay(x);

}

//turn on 4-7

for(int i = 4; i<8; i++)

{

digitalWrite(column[i], 1);

delay(x);

}

//turn on 0-3

for(int i = 0; i<4; i++)

{

digitalWrite(column[i], 1);

delay(x);

}

//turn off 12-15

for(int i = 12; i<16; i++)

{

digitalWrite(column[i], 0);

delay(x);

}

//turn off 8-11

for(int i = 8; i<12; i++)

{

digitalWrite(column[i], 0);

delay(x);

}

//turn off 4-7

for(int i = 4; i<8; i++)

{

digitalWrite(column[i], 0);

delay(x);

}

//turn off 0-3

for(int i = 0; i<4; i++)

{

digitalWrite(column[i], 0);

delay(x);

}

}

}

/////////////////////////////////////////up and down single layer stomp

void layerstompUpAndDown()

{

int x = 75;

for(int i = 0; i<4; i++)

{

digitalWrite(layer[i], 1);

}

for(int y = 0; y<5; y++)

{

for(int count = 0; count<1; count++)

{

for(int i = 0; i<4; i++)

{

digitalWrite(layer[i], 0);

delay(x);

digitalWrite(layer[i], 1);

}

for(int i = 4; i !=0; i--)

{

digitalWrite(layer[i-1], 0);

delay(x);

digitalWrite(layer[i-1], 1);

}

}

for(int i = 0; i<4; i++)

{

digitalWrite(layer[i], 0);

delay(x);

}

for(int i = 4; i!=0; i--)

{

digitalWrite(layer[i-1], 1);

delay(x);

}

}

}

////////////////////////////////////////////////////////////flicker off

void flickerOff()

{

turnEverythingOn();

for(int i = 0; i!= 150; i+=5)

{

turnEverythingOff();

delay(i+50);

turnEverythingOn();

delay(i);

}

}

///////////////////////////////////////////around edge of the cube down

void aroundEdgeDown()

{

for(int x = 200; x != 0; x -=50)

{

turnEverythingOff();

for(int i = 4; i != 0; i--)

{

digitalWrite(layer[i-1], 0);

digitalWrite(column[5], 1);

digitalWrite(column[6], 1);

digitalWrite(column[9], 1);

digitalWrite(column[10], 1);

digitalWrite(column[0], 1);

delay(x);

digitalWrite(column[0], 0);

digitalWrite(column[4], 1);

delay(x);

digitalWrite(column[4], 0);

digitalWrite(column[8], 1);

delay(x);

digitalWrite(column[8], 0);

digitalWrite(column[12], 1);

delay(x);

digitalWrite(column[12], 0);

digitalWrite(column[13], 1);

delay(x);

digitalWrite(column[13], 0);

digitalWrite(column[14], 1);

delay(x);

digitalWrite(column[14], 0);

digitalWrite(column[15], 1);

delay(x);

digitalWrite(column[15], 0);

digitalWrite(column[11], 1);

delay(x);

digitalWrite(column[11], 0);

digitalWrite(column[7], 1);

delay(x);

digitalWrite(column[7], 0);

digitalWrite(column[3], 1);

delay(x);

digitalWrite(column[3], 0);

digitalWrite(column[2], 1);

delay(x);

digitalWrite(column[2], 0);

digitalWrite(column[1], 1);

delay(x);

digitalWrite(column[1], 0);

}

}

}

/////////////////////////////////////////////////////////random flicker

void randomflicker()

{

turnEverythingOff();

int x = 10;

for(int i = 0; i !=750; i+=2)

{

int randomLayer = random(0,4);

int randomColumn = random(0,16);

digitalWrite(layer[randomLayer], 0);

digitalWrite(column[randomColumn], 1);

delay(x);

digitalWrite(layer[randomLayer], 1);

digitalWrite(column[randomColumn], 0);

delay(x);

}

}

////////////////////////////////////////////////////////////random rain

void randomRain()

{

turnEverythingOff();

int x = 100;

for(int i = 0; i!=60; i+=2)

{

int randomColumn = random(0,16);

digitalWrite(column[randomColumn], 1);

digitalWrite(layer[0], 0);

delay(x+50);

digitalWrite(layer[0], 1);

digitalWrite(layer[1], 0);

delay(x);

digitalWrite(layer[1], 1);

digitalWrite(layer[2], 0);

delay(x);

digitalWrite(layer[2], 1);

digitalWrite(layer[3], 0);

delay(x+50);

digitalWrite(layer[3], 1);

digitalWrite(column[randomColumn], 0);

}

}

/////////////////////////////////////////////////////diagonal rectangle

void diagonalRectangle()

{

int x = 350;

turnEverythingOff();

for(int count = 0; count<5; count++)

{

//top left

for(int i = 0; i<8; i++)

{

digitalWrite(column[i], 1);

}

digitalWrite(layer[3], 0);

digitalWrite(layer[2], 0);

delay(x);

turnEverythingOff();

//middle middle

for(int i = 4; i<12; i++)

{

digitalWrite(column[i], 1);

}

digitalWrite(layer[1], 0);

digitalWrite(layer[2], 0);

delay(x);

turnEverythingOff();

//bottom right

for(int i = 8; i<16; i++)

{

digitalWrite(column[i], 1);

}

digitalWrite(layer[0], 0);

digitalWrite(layer[1], 0);

delay(x);

turnEverythingOff();

//bottom middle

for(int i = 4; i<12; i++)

{

digitalWrite(column[i], 1);

}

digitalWrite(layer[0], 0);

digitalWrite(layer[1], 0);

delay(x);

turnEverythingOff();

//bottom left

for(int i = 0; i<8; i++)

{

digitalWrite(column[i], 1);

}

digitalWrite(layer[0], 0);

digitalWrite(layer[1], 0);

delay(x);

turnEverythingOff();

//middle middle

for(int i = 4; i<12; i++)

{

digitalWrite(column[i], 1);

}

digitalWrite(layer[1], 0);

digitalWrite(layer[2], 0);

delay(x);

turnEverythingOff();

//top right

for(int i = 8; i<16; i++)

{

digitalWrite(column[i], 1);

}

digitalWrite(layer[2], 0);

digitalWrite(layer[3], 0);

delay(x);

turnEverythingOff();

//top middle

for(int i = 4; i<12; i++)

{

digitalWrite(column[i], 1);

}

digitalWrite(layer[2], 0);

digitalWrite(layer[3], 0);

delay(x);

turnEverythingOff();

}

//top left

for(int i = 0; i<8; i++)

{

digitalWrite(column[i], 1);

}

digitalWrite(layer[3], 0);

digitalWrite(layer[2], 0);

delay(x);

turnEverythingOff();

}

//////////////////////////////////////////////////////////////propeller

void propeller()

{

turnEverythingOff();

int x = 90;

for(int y = 4; y>0; y--)

{

for(int i = 0; i<6; i++)

{

//turn on layer

digitalWrite(layer[y-1], 0);

//a1

turnColumnsOff();

digitalWrite(column[0], 1);

digitalWrite(column[5], 1);

digitalWrite(column[10], 1);

digitalWrite(column[15], 1);

delay(x);

//b1

turnColumnsOff();

digitalWrite(column[4], 1);

digitalWrite(column[5], 1);

digitalWrite(column[10], 1);

digitalWrite(column[11], 1);

delay(x);

//c1

turnColumnsOff();

digitalWrite(column[6], 1);

digitalWrite(column[7], 1);

digitalWrite(column[8], 1);

digitalWrite(column[9], 1);

delay(x);

//d1

turnColumnsOff();

digitalWrite(column[3], 1);

digitalWrite(column[6], 1);

digitalWrite(column[9], 1);

digitalWrite(column[12], 1);

delay(x);

//d2

turnColumnsOff();

digitalWrite(column[2], 1);

digitalWrite(column[6], 1);

digitalWrite(column[9], 1);

digitalWrite(column[13], 1);

delay(x);

//d3

turnColumnsOff();

digitalWrite(column[1], 1);

digitalWrite(column[5], 1);

digitalWrite(column[10], 1);

digitalWrite(column[14], 1);

delay(x);

}

}

//d4

turnColumnsOff();

digitalWrite(column[0], 1);

digitalWrite(column[5], 1);

digitalWrite(column[10], 1);

digitalWrite(column[15], 1);

delay(x);

}

//////////////////////////////////////////////////////spiral in and out

void spiralInAndOut()

{

turnEverythingOn();

int x = 60;

for(int i = 0; i<6; i++)

{

//spiral in clockwise

digitalWrite(column[0], 0);

delay(x);

digitalWrite(column[1], 0);

delay(x);

digitalWrite(column[2], 0);

delay(x);

digitalWrite(column[3], 0);

delay(x);

digitalWrite(column[7], 0);

delay(x);

digitalWrite(column[11], 0);

delay(x);

digitalWrite(column[15], 0);

delay(x);

digitalWrite(column[14], 0);

delay(x);

digitalWrite(column[13], 0);

delay(x);

digitalWrite(column[12], 0);

delay(x);

digitalWrite(column[8], 0);

delay(x);

digitalWrite(column[4], 0);

delay(x);

digitalWrite(column[5], 0);

delay(x);

digitalWrite(column[6], 0);

delay(x);

digitalWrite(column[10], 0);

delay(x);

digitalWrite(column[9], 0);

delay(x);

///////////////////////////////////////spiral out counter clockwise

digitalWrite(column[9], 1);

delay(x);

digitalWrite(column[10], 1);

delay(x);

digitalWrite(column[6], 1);

delay(x);

digitalWrite(column[5], 1);

delay(x);

digitalWrite(column[4], 1);

delay(x);

digitalWrite(column[8], 1);

delay(x);

digitalWrite(column[12], 1);

delay(x);

digitalWrite(column[13], 1);

delay(x);

digitalWrite(column[14], 1);

delay(x);

digitalWrite(column[15], 1);

delay(x);

digitalWrite(column[11], 1);

delay(x);

digitalWrite(column[7], 1);

delay(x);

digitalWrite(column[3], 1);

delay(x);

digitalWrite(column[2], 1);

delay(x);

digitalWrite(column[1], 1);

delay(x);

digitalWrite(column[0], 1);

delay(x);

///////////////////////////////////////spiral in counter clock wise

digitalWrite(column[0], 0);

delay(x);

digitalWrite(column[4], 0);

delay(x);

digitalWrite(column[8], 0);

delay(x);

digitalWrite(column[12], 0);

delay(x);

digitalWrite(column[13], 0);

delay(x);

digitalWrite(column[14], 0);

delay(x);

digitalWrite(column[15], 0);

delay(x);

digitalWrite(column[11], 0);

delay(x);

digitalWrite(column[7], 0);

delay(x);

digitalWrite(column[3], 0);

delay(x);

digitalWrite(column[2], 0);

delay(x);

digitalWrite(column[1], 0);

delay(x);

digitalWrite(column[5], 0);

delay(x);

digitalWrite(column[9], 0);

delay(x);

digitalWrite(column[10], 0);

delay(x);

digitalWrite(column[6], 0);

delay(x);

//////////////////////////////////////////////spiral out clock wise

digitalWrite(column[6], 1);

delay(x);

digitalWrite(column[10], 1);

delay(x);

digitalWrite(column[9], 1);

delay(x);

digitalWrite(column[5], 1);

delay(x);

digitalWrite(column[1], 1);

delay(x);

digitalWrite(column[2], 1);

delay(x);

digitalWrite(column[3], 1);

delay(x);

digitalWrite(column[7], 1);

delay(x);

digitalWrite(column[11], 1);

delay(x);

digitalWrite(column[15], 1);

delay(x);

digitalWrite(column[14], 1);

delay(x);

digitalWrite(column[13], 1);

delay(x);

digitalWrite(column[12], 1);

delay(x);

digitalWrite(column[8], 1);

delay(x);

digitalWrite(column[4], 1);

delay(x);

digitalWrite(column[0], 1);

delay(x);

}

}

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

...

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

  • Аппаратные средства с возможностью расширения и открытыми принципиальными схемами. Процесс работы с микроконтроллерами. Теоретические сведения о платформе 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

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