Вы находитесь на странице: 1из 43

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение


высшего образования
«Сибирская государственная автомобильно-дорожная академия
(СибАДИ)»

Кафедра «Управление качеством и производственными системами»

Курсовая работа
по дисциплине «Методы и средства испытания и контроля»

Тема работы: «Проведение измерений на платформе ARDUINO»

Руководитель: Байда А.С

Студентка: Васильева Ю.В

Группа: УКб-14Э1

Оценка
Дата сдачи работы:
«____» ______________2016 г.
__________________________

«____» ______________2016 г.

Омск 2016
СОДЕРЖАНИЕ
ВВЕДЕНИЕ………………………………………………………………………..…3
1 ОБЩИЕ СВЕДЕНИЯ О ПЛАТФОРМЕ «ARDUINO» …………………….........4
1.1 Платформа
Arduino........................................................................................4
1.2 В чем преимущество
Arduino…………………………………………......5
1.3 История создания
Arduino…………………………………………….....6
2 ПРОВЕДЕНИЕ ИЗМЕРЕНИЙ НА ПЛАТФОРМЕ
ARDUINO………………….9
2.1 Управление светодиодом……………………………………………...…...9
2.2 Простое шифрование сигнала. Азбука
Морзе……………………….....11
2.3 Управление яркостью светодиодов……………………………...
…….19
2.4 Измерение освещенности с помощью фоторезистора…………...
….29
2.5 Пьезокерамический
излучатель……………………………………..32
ЗАКЛЮЧЕНИЕ……………………………………………………………………..39
ИНФОРМАЦИОННЫЕ ИСТОЧНИКИ …………………………………………..41

2
ВВЕДЕНИЕ

С помощью Arduino можно реализовать практически любой замысел. Это


может быть автоматическая система управления поливом, или веб-сервер, или
даже автопилот для мультикоптера. Итак, Arduino — это платформа для
разработки устройств на базе микроконтроллера, на простом и понятном языке
программирования в интегрированной среде Arduino . Добавив датчики,
приводы, динамики, добавочные модули и дополнительные микросхемы, мы
сможем использовать Arduino в качестве "мозга" для любой системы
управления. Трудно даже перечислить все, на что способна платформа Arduino,
потому что возможности ограничены только нашим воображением. Эта
курсовая работа послужит руководством, знакомящим нас с
функциональностью Arduino путем выполнения большого количества
лабораторных работ, которые дадут навыки.
Данная курсовая работа состоит из введения, двух глав, заключения,
списка литературы. В первой главе содержатся общие сведения о платформе
«arduino». Во второй главе описываются практические применения «arduino».
Целью данной курсовой работы является приобретение практических
навыков в области программирования микроконтроллеров.

3
Для достижения поставленной цели необходимо обеспечить реализацию
следующих задач:
 Приобретение навыков работы с платформой ARDUINO;
 Изучение средств программирования платформы ARDUINO;
 Написание программ для успешного программирования ARDUINO.
Теоретическую основу курсовой работы составила отечественная и
иностранная литература, которая посвящена непосредственно ARDUINO.
Авторами являются выдающиеся программисты Виктор Петина и Джереми
Блум.

1 ОБЩИЕ СВЕДЕНИЯ О ПЛАТФОРМЕ «ARDUINO»

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

4
появлением устройств, дающих возможность работать с микроконтроллерами
без наличия серьезной материальной базы и знания многих предметов, все
изменилось. Примером такого устройства может служить проект Arduino
итальянских разработчиков.
Arduino и его клоны представляют собой наборы, состоящие из готового
электронного блока и программного обеспечения. Электронный блок здесь —
это печатная плата с установленным микроконтроллером и минимумом
элементов, необходимых для его работы. Фактически электронный блок
Arduino является аналогом материнской платы современного компьютера. На
нем имеются разъемы для подключения внешних устройств, а также разъем для
связи с компьютером, по которому и осуществляется программирование
микроконтроллера. Особенности используемых микроконтроллеров ATmega
фирмы Atmel позволяют производить программирование без применения
специальных программаторов. Все, что нужно для создания нового
электронного устройства, — это плата Arduino, кабель связи и компьютер.
Второй частью проекта Arduino является программное обеспечение для
создания управляющих программ. Оно объединило в себе простейшую среду
разработки и язык программирования, представляющий собой вариант языка
С/С++ для микрконтроллеров. В него добавлены элементы, позволяющие
создавать программы без изучения аппаратной части. Так что для работы с
Arduino практически достаточно знания только основ программирования на
С/С++. Создано для Arduino и множество библиотек, содержащих код,
работающий с различными устройствами.

1.2В чем преимущество Arduino


Пользователь современного компьютера не задумывается о
функционировании отдельных частей ПК. Он просто запускает нужные
программы и работает с ними.
5
Точно так же и Arduino позволяет пользователю сосредоточиться на
разработке проектов, а не на изучении устройства и принципов
функционирования отдельных элементов. Нет надобности и в создании
законченных плат и модулей. Разработчик может использовать готовые платы
расширения или просто напрямую подключить к Arduino необходимые
элементы. Все остальные усилия будут направлены на разработку и отладку
управляющей программы на языке высокого уровня. В итоге доступ к
разработке микропроцессорных устройств получили не только профессионалы,
но и просто любители что-то сделать своими руками.
Наличие готовых модулей и библиотек программ позволяет
непрофессионалам в электронике создавать готовые работающие устройства
для решения своих задач. А варианты использования Arduino ограничены
только возможностями микроконтроллера и имеющегося варианта платы, ну и,
конечно, фантазией разработчика.
1.3История создания Arduino
В 2002 году программист Массимо Банци (Massimo Banzi) был принят на
работу в должности доцента в Институт проектирования взаимодействий
города Ивреа (Interaction Design Institute Ivrea, IDII) для продвижения новых
способов разработки интерактивных проектов. Однако крошечный бюджет и
ограниченное время доступа к лабораторной базе сводили его усилия
практически на нет. В проектах Банци использовал устройство BASIC Stamp,
разработанное калифорнийской компанией Parallax. Stamp представлял собой
небольшую печатную плату с размещенными на ней источником питания,
микроконтроллером, памятью и портами ввода/вывода для соединения с
различной аппаратурой. Программирование микроконтроллера осуществлялось
на языке BASIC. BASIC Stamp имел две проблемы: недостаток вычислительной
мощности и достаточно высокую цену — плата с основными компонентами
стоила около 100 долларов. И команда Банци решила самостоятельно создать
6
плату, которая удовлетворяла бы всем их потребностям. Банци и его
сотрудники поставили себе целью создать устройство, представляющее собой
простую, открытую и легкодоступную платформу для разработки, с ценой —не
более 30 долларов — приемлемой для студенческого кармана. Хотели они и
выделить чем-то свое устройство на фоне прочих. Поэтому в противовес
другим производителям, экономящим на количестве выводов печатной платы,
они решили добавить их как можно больше, а также сделали свою плату синей,
в отличие от обычных зеленых плат.
Продукт, который создала команда, состоял из дешевых и доступных
компонентов — например, базировался он на микроконтроллере ATmega328.
Но главная задача состояла в том, чтобы гарантировать работу устройства по
принципу plug-andplay,— чтобы пользователь, достав плату из коробки и
подключив к компьютеру, мог немедленно приступить к работе. Первый
прототип платы был сделан в 2005 году, она имела простейший дизайн и еще не
называлась Arduino. Чуть позже Массимо Банци придумал назвать ее так — по
имени принадлежащего ему бара, расположенного в городе Ивреа. Бренд
"Arduino" без какой-либо рекламы и привлечения средств маркетинга быстро
приобрел высокую популярность в Интернете. С начала распространения
продано более 250 тыс. комплектов Arduino, и это не учитывая множества
клонов. В мире насчитывается более двухсот дистрибьюторов продукции
Arduino — от крупных фирм, таких как SparkFun Electronics, до мелких
компаний, работающих на местный рынок. На сегодня платформа Arduino
представлена не одной платой, а целым их семейством. В дополнение к
оригинальному проекту, называемому Arduino Uno, новые модели, имеющие на
плате более мощные средства, носят название Arduino Mega, компактные
модели — Arduino Nano, платы в водонепроницаемом корпусе — LilyPad
Arduino, а новая плата с 32-разрядным процессором Cortex-M3 ARM — Arduino
Due.
7
Своим успехом проект Arduino обязан существовавшим до него языку
Processing и платформе Wiring. От этих проектов Arduino унаследовал одну
сильную черту —удобную для пользователя среду разработки. До появления
Arduino программирование микроконтроллеров требовало сложного и
рутинного предварительного обучения. А с Arduino даже те, кто не имеет опыта
работы с электронными устройствами, теперь могут приобщиться к миру
электроники. Начинающим уже не приходится тратить много времени на
изучение сопутствующего материала — они могут
быстро разработать прототип, который будет полноценно рабочим.
По словам Массимо Банци, пятьдесят лет назад, чтобы написать
программное обеспечение требовалась команда людей в белых халатах,
которые знали все об электронных лампах. Теперь же, с появлением Arduino,
множество людей получили возможность создавать электронные устройства
самостоятельно. Как утверждает один из членов команды Банци, инженер по
телекоммуникациям Дэвид Куартилльз, философия Arduino как раз и состоит в
том, что желающий разобраться в электронике может сразу же приступить к ее
изучению, вместо того чтобы сначала учиться алгебре.

8
2 ВЫПОЛНЕНИЕ ПРАКТИЧЕСКИХ РАБОТ

2.1 Управление светодиодом


Цель работы: написать программу для платформы Arduino, способную
выполнять мигание встроенным светодиодом с различным интервалом
времени.

9
Рисунок 1- Плата Arduino

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


// Мигание встроенным светодиодом с интервалом в 3 секунды.
int LedPin=13;
void setup()
{
pinMode (LedPin,OUTPUT);
}
void loop()
{
digitalWrite(LedPin, HIGH);
delay(1000);
digitalWrite(LedPin, LOW);
delay(3000);
}
// Мигание встроенным светодиодом с интервалом в 1 секунду
int LedPin=13;
void setup()
{
pinMode (LedPin,OUTPUT);
}
void loop()
{
digitalWrite(LedPin, HIGH);
delay(300);
digitalWrite(LedPin, LOW);
delay(1000);
10
}
// Мигание встроенным светодиодом с интервалом в 200 миллисекунд
int LedPin=13;
void setup()
{
pinMode (LedPin,OUTPUT);
}
void loop()
{
digitalWrite(LedPin, HIGH);
delay(700);
digitalWrite(LedPin, LOW);
delay(200);
}
// Мигание встроенным светодиодом с интервалом в 100 миллисекунд
int LedPin=13;
void setup()
{
pinMode (LedPin,OUTPUT);
}
void loop()
{
digitalWrite(LedPin, HIGH);
delay(1500);
digitalWrite(LedPin, LOW);
delay(100);
}

11
ВЫВОД: в данной работе была написана программа для платформы
Arduino, которая выполняет мигание встроенным светодиодом с определенно
заданным интервалом времени, который подключен к контакту 13. В первом
случае светодиод мигает 3 секунды, не мигает 1 секунду, во втором случае 1
секунду мигает, 0.3 секунды не мигает, в третьем случае 0.2 секунды мигает,
0.7 секунды не мигает, в четвертом случае 0.1 секунду мигает, 1.5 секунды не
мигает. Это говорит о том, что программа была написана верно, схема
подключения так же была собрана верно.

2.2 Простое шифрование сигнала. Азбука Морзе

Цель работы: необходимо составить программу для Arduino, выполняя


которую контроллер миганием светодиода передаст информацию о слове из
шести букв и коде из пяти знаков, с использованием азбуки Морзе.
Таблица 1 – Азбука Морзе

Программирование платформы Arduino на мигание светодиода, который


передает информацию о слове «эконом»

int LedPin=13;
void setup()
{
12
pinMode (LedPin,OUTPUT);
}
void loop()
{
digitalWrite(LedPin, LOW);
delay(5000);
digitalWrite(LedPin, HIGH);
delay(1000);
digitalWrite(LedPin, LOW);
delay(1000);
digitalWrite(LedPin, HIGH);
delay(1000);
digitalWrite(LedPin, LOW);
delay(1000);
digitalWrite(LedPin, HIGH);
delay(3000);
digitalWrite(LedPin, LOW);
delay(1000);
digitalWrite(LedPin, HIGH);
delay(1000);
digitalWrite(LedPin, LOW);
delay(1000);
digitalWrite(LedPin, HIGH);
delay(1000);
//буква э
digitalWrite(LedPin, LOW);
delay(3000);
digitalWrite(LedPin, HIGH);
13
delay(3000);
digitalWrite(LedPin, LOW);
delay(1000);
digitalWrite(LedPin, HIGH);
delay(1000);
digitalWrite(LedPin, LOW);
delay(1000);
digitalWrite(LedPin, HIGH);
delay(3000);
//буква к
digitalWrite(LedPin, LOW);
delay(3000);
digitalWrite(LedPin, HIGH);
delay(3000);
digitalWrite(LedPin, LOW);
delay(1000);
digitalWrite(LedPin, HIGH);
delay(3000);
digitalWrite(LedPin, LOW);
delay(1000);
digitalWrite(LedPin, HIGH);
delay(3000);
// буква о
digitalWrite(LedPin, LOW);
delay(3000);
digitalWrite(LedPin, HIGH);
delay(3000);
digitalWrite(LedPin, LOW);
14
delay(1000);
digitalWrite(LedPin, HIGH);
delay(1000);
//буква н
digitalWrite(LedPin, LOW);
delay(3000);
digitalWrite(LedPin, HIGH);
delay(3000);
digitalWrite(LedPin, LOW);
delay(1000);
digitalWrite(LedPin, HIGH);
delay(3000);
digitalWrite(LedPin, LOW);
delay(1000);
digitalWrite(LedPin, HIGH);
delay(3000);
// о
digitalWrite(LedPin, LOW);
delay(3000);
digitalWrite(LedPin, HIGH);
delay(3000);
digitalWrite(LedPin, LOW);
delay(1000);
digitalWrite(LedPin, HIGH);
delay(3000);
}
Программирование платформы Arduino на мигание светодиода, который
передает информацию о коде «:!4е-»
15
int LedPin=13;
void setup()
{
pinMode (LedPin,OUTPUT);
}
void loop()
{
digitalWrite(LedPin, LOW);
delay(5000);
digitalWrite(LedPin, HIGH);
delay(1500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(1500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(1500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(500);
digitalWrite(LedPin, LOW);
16
delay(500);
digitalWrite(LedPin, HIGH);
delay(500);
//:
digitalWrite(LedPin, LOW);
delay(1500);
digitalWrite(LedPin, HIGH);
delay(1500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(1500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(1500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(1500);
17
//воскл !
digitalWrite(LedPin, LOW);
delay(1500);
digitalWrite(LedPin, HIGH);
delay(500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(1500);
//4
digitalWrite(LedPin, LOW);
delay(1500);
digitalWrite(LedPin, HIGH);
delay(500);
//e
digitalWrite(LedPin, LOW);
18
delay(1500);
digitalWrite(LedPin, HIGH);
delay(1500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(500);
digitalWrite(LedPin, LOW);
delay(500);
digitalWrite(LedPin, HIGH);
delay(1500);
}
// -

19
ВЫВОД: в ходе работы была собрана схема и написана программа для
платформы Arduino, произведено кодирование слова, которое состояло из 6
букв.
Кодирование каждой буквы было выполнено соответствующими знаками с
отделением от другой буквы определенным интервалом времени. Кодирование
слова выполняется по следующему правилу: За единицу времени принимается
длительность одной точки(1000мс). Длительность тире равна трём
точкам(3000мс). Пауза между элементами одного знака - одна точка, между
знаками в слове - три точки, между словами - семь точек(7000мс).

2.3 Управление яркостью светодиодов

Цель работы: написать программу для платформы Arduino, с помощью


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

20
Рисунок 2 - Схема подключения трех светодиодов
21
Таблица 2 – Программа включения/выключения светодиодов
Время, мс. Желтый Pin 3 Красный Pin 5 Синий Pin 6

4000

500 вкл

500 вкл вкл

500 вкл вкл вкл

2500

500 вкл

500 вкл

500 вкл

500 вкл

500 вкл

500 вкл

2500

500 вкл I вкл I вкл I

500 вкл I I вкл I I вкл I I

500 вкл I I I вкл I I I вкл I I I

500 вкл I вкл I I I вкл I

500 вкл I I I вкл I вкл I I I

500 вкл I I вкл I I вкл I I

500 вкл I вкл I вкл I

500 вкл I I I вкл I I I

2500 вкл вкл вкл

22
Программирование платформы Arduino на мигание трех светодиодов
красными, желтыми и синими цветами с разным интервалом времени
int krasn = 5;
int sini= 6;
int gold= 3;
void setup()
{
pinMode (krasn,OUTPUT);
pinMode (sini,OUTPUT);
pinMode (gold,OUTPUT);
}
void loop()
{
delay(4000);
analogWrite( 5, 255);
delay(500);
analogWrite( 3, 255);
delay(500);
analogWrite( 6, 255);
delay(500);
analogWrite( 5, 0);
analogWrite( 3, 0);
analogWrite( 6, 0);
delay(2500);
analogWrite( 3, 255);
delay(500);
analogWrite( 3, 0);
delay(500);
23
analogWrite( 5, 255);
delay(500);
analogWrite( 5, 0);
delay(500);
analogWrite( 3, 255);
delay(500);
analogWrite( 3, 0);
delay(500);
analogWrite( 6, 255);
delay(500);
analogWrite( 6, 0);
delay(500);
analogWrite( 5, 255);
delay(500);
analogWrite( 3, 0);
analogWrite( 5, 0);
analogWrite( 6, 0);
delay(2500);
analogWrite( 3,50);
analogWrite( 5,50);
analogWrite( 6,50);
delay(500);
analogWrite( 3,130);
analogWrite( 5,130);
analogWrite( 6,130);
delay(500);
analogWrite( 3,255);
analogWrite( 5,255);
24
analogWrite( 6,255);
delay(500);
analogWrite( 3,50);
analogWrite( 5,255);
analogWrite( 6,50);
delay(500);
analogWrite( 3,255);
analogWrite( 5,50);
analogWrite( 6,255);
delay(500);
analogWrite( 3,130);
analogWrite( 5,130);
analogWrite( 6,130);
delay(500);
analogWrite( 3,50);
analogWrite( 5,50);
analogWrite( 6,50);
delay(500);
analogWrite( 3,255);
analogWrite( 5,0);
analogWrite( 6,255);
delay(500);
analogWrite( 3,0);
analogWrite( 5,0);
analogWrite( 6,0);
delay(500);
analogWrite( 3,255);
analogWrite( 5,255);
25
analogWrite( 6,255);
delay(2500);
}

Таблица 3 – Программа включения/выключения светодиодов


Время, мс. Желтый Красный Синий

Pin 3 Pin 5 Pin 6

4000

500 вкл

500 вкл

500 вкл

2500 вкл вкл вкл

500 вкл

500 вкл

500 вкл

500

500 вкл

500 вкл вкл

2500 вкл вкл вкл

500 вкл I вкл I вкл I

500 вкл I I вкл I I вкл I I

500 вкл I I I вкл I I I вкл I I I

500 вкл I вкл I вкл I

500 вкл I I I вкл I вкл I I I

500 вкл I I вкл I I вкл I I

500 вкл I вкл I вкл I

500 вкл I I I вкл I I I

500

2500 вкл вкл вкл

26
Программирование платформы Arduino на мигание трех светодиодов
красными, желтыми и синими цветами с разным интервалом времени

int krasn = 5;
int sini= 6;
int gold= 3;
void setup()
{
pinMode (krasn,OUTPUT);
pinMode (sini,OUTPUT);
pinMode (gold,OUTPUT);
}
void loop()
{
delay(4000);
analogWrite( 3, 255);
delay(500);
analogWrite( 3, 0);
delay(500);
analogWrite( 5, 255);
delay(500);
analogWrite( 5, 0);
delay(500);
analogWrite( 6, 255);
delay(500);
analogWrite( 5, 255);
analogWrite( 3, 255);
analogWrite( 6, 255);
delay(500);
27
analogWrite( 3,0);
analogWrite( 5, 0);
delay(500);
analogWrite( 6, 0);
analogWrite( 5, 255);
delay(500);
analogWrite( 3, 255);
analogWrite( 5, 0);
delay(500);
analogWrite( 3, 0);
delay(500);
analogWrite( 3, 255);
delay(500);
analogWrite( 5, 255);
delay(500);
analogWrite( 6,255);
delay(500);
analogWrite( 3,50);
analogWrite( 5,50);
analogWrite( 6,50);
delay(500);
analogWrite( 3,130);
analogWrite( 5,130);
analogWrite( 6,130);
delay(500);
analogWrite( 3,255);
analogWrite( 5,255);
analogWrite( 6,255);
28
delay(500);
analogWrite( 3,50);
analogWrite( 5,50);
analogWrite( 6,50);
delay(500);
analogWrite( 3,255);
analogWrite( 5,50);
analogWrite( 6,255);
delay(500);
analogWrite( 3,130);
analogWrite( 5,130);
analogWrite( 6,130);
delay(500);
analogWrite( 3,50);
analogWrite( 5,50);
analogWrite( 6,50);
delay(500);
analogWrite( 3,255);
analogWrite( 5,0);
analogWrite( 6,255);
delay(500);
analogWrite( 3,0);
analogWrite( 5,0);
analogWrite( 6,0);
delay(500);
analogWrite( 3,255);
analogWrite( 5,255);
analogWrite( 6,255);
29
delay(2500);
}

ВЫВОД: в этом разделе описана программа включения/выключения


светодиодов согласно таблицы. Из таблицы видно, какого цвета мигают
светодиоды и в каком интервале времени. Каждый светодиод подключен к
разъему контроллера через активное сопротивление. Произведено обозначение
степеней яркости. Римской цифрой обозначена степень яркости свечения
светодиода: I – 30%, II – 6=60%, III –100%.

2.4 Измерение освещенности с помощью фоторезистора


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

Рисунок 3 – Схема освещенности с помощью фоторезистора

30
Программирование платформы Arduino на освещенность с помощью
фоторезистора
void setup() {
pinMode(A0, INPUT);
Serial.begin(9600); // связь с послед. портом
}
void loop() {
int t = analogRead(A0); //чтение значение с A0
Serial.println(t); //запись значения в послед. порт
delay(1000);
}

Таблица 4 – Результаты измерений


Эксперимент 1 Эксперимент 2
Местоположени Сопротивление Значение на Сопротивление Значение на
е резистора, Ом контакте резистора, Ом контакте
Arduino Arduino
Рабочее место 874 173
УГОЛ 15К 710 500 54
ОКНО 977 368

Программирование платформы Arduino на изменения яркости светодиода,


в зависимости от освещенности помещения

void setup() {
int t=10;
pinMode(A0,INPUT);
Serial.begin(9600); // связь с послед. портом
}
void loop() {
int t=analogRead(A0) ;
analogWrite(10 ,1024/(t/4));
Serial.println(t); //запись значения в послед. порт
delay(100);
31
}

Рисунок 4 –Схема на включения трех светодиодов и фотодатчика

Программирование платформы Arduino на включения трех светодиодов, в


зависимости от освещенности помещения

void setup() {
int t =9;
int a =10;
int  b =11;
pinMode (A0, INPUT); Serial.begin(9600); }
void loop() {
int x = analogRead(A0);
if (x>800){
analogWrite( 9, 255);
analogWrite( 10, 255);
analogWrite( 11, 255);
}
32
else if (x>680){
analogWrite( 9, 0);
analogWrite( 10, 255);
analogWrite( 11, 255);
}
else {
analogWrite( 9, 0);
analogWrite( 10, 0);
analogWrite( 11, 255);
}
Serial.println(x);
}

ВЫВОД: при выполнении работы была собрана схема, которая


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

2.5 Пьезокерамический излучатель


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

33
короткую мелодию. При плохой освещенности соответствует красный
светодиод, при хорошей - зеленый светодиод.

Рисунок 5 – Схема пьезокерамического излучателя

Программирование платформы Arduino для грустной мелодии

int speakerPin = 3;
void setup() {
pinMode(speakerPin, INPUT);
tone(speakerPin, 100);
delay (500);
tone(speakerPin, 200);
tone(speakerPin, 200);
delay (500);
tone(speakerPin, 300);
tone(speakerPin, 500);
delay (500);
tone(speakerPin, 400);
tone(speakerPin, 300);
34
delay (500);
tone(speakerPin, 100);
noTone(speakerPin);
}
void loop() {
}
Программирование платформы Arduino для веселой мелодии
int speakerPin = 3;
void setup() {
pinMode(speakerPin, INPUT);
tone(speakerPin, 1000);
delay (500);
tone(speakerPin, 1200);
tone(speakerPin, 800);
delay (500);
tone(speakerPin, 100);
tone(speakerPin, 1500);
delay (500);
tone(speakerPin, 1400);
tone(speakerPin, 1300);
delay (500);
tone(speakerPin, 500);
noTone(speakerPin);
}
void loop() {
}

35
Рисунок 6- Схема терменвокс

Программирование платформы Arduino с низкой тональностью извлекаемых


звуков

int speakerPin = 3;
int photocellPin = 0;
void setup() {
}
void loop() {
int reading = analogRead(photocellPin);
int pitch = 200 + reading /4;
tone(speakerPin, pitch);
}
Программирование платформы Arduino с средней тональностью извлекаемых
звуков
int speakerPin = 3;
int photocellPin = 0;
void setup() {
}
void loop() {
int reading = analogRead(photocellPin);

36
int pitch = 700 + reading /3;
tone(speakerPin, pitch);
}
Программирование платформы Arduino с высокой тональностью извлекаемых
звуков
int speakerPin = 3;
int photocellPin = 0;
void setup() {
}
void loop() {
int reading = analogRead(photocellPin);
int pitch = 1500 + reading /4;
tone(speakerPin, pitch);
}

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

37
Программирование платформы Arduino для оценки освещенности
int M=0;
int speakerPin =3;
void setup() {
int red = 11;
int grean =9;
pinMode (A0, INPUT);
pinMode (speakerPin, INPUT);
Serial.begin(9600);
}
void loop()
{
int x = analogRead(A0);
if (x>680){
analogWrite( 9, 255);
analogWrite( 11, 0);
if (M!=1){
tone(speakerPin,500);
delay (300);
tone(speakerPin,600);
delay (300);
tone(speakerPin,300);
delay (300);
noTone(3);
M=1;
}
else{

38
}
}
else{
analogWrite( 9, 0);
analogWrite( 11, 255);
}
if (M!=2){
tone(speakerPin,500);
delay(300);
tone(speakerPin,1500);
delay(300);
tone(speakerPin,1000);
delay(300);
noTone (3);
M=2;
}
else{
}
}

Вывод: в ходе работы было составлено две короткие мелодии, также


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

39
ЗАКЛЮЧЕНИЕ

Курсовая работа по Arduino - своего рода введение в мир электроники,


информатики и практического применения платформы Arduino, как средства
для воплощения наших идей на конкретных примерах.
Работа содержит теоретическое описание Arduino и предлагает изучение
предмета на реальных проектах, имеющих практическое значение. В данной
работе приведены несколько примеров и проектов использования Arduino,
представляющих собой законченные решения, пригодные для использования в
проектах.
В ходе проведения практических работ были написаны программы для
платформы Arduino. В первой работе была написана программа для платформы
Arduino, способная выполнить мигание встроенным светодиодом SMT (Surface-
mount techology). Во второй работе была собрана схема и написана программа
для платформы Arduino, способная выполнить мигание светодиодом, образуя
слово, закодированное по азбуке Морзе. Кодирование каждой буквы было
выполнено соответствующими знаками с отделением от другой буквы
определенным интервалом времени. В третьей работе была написана
программа для платформы Arduino, в которой происходило мигание трех
светодиодов различных цветов с определенным интервалом времени, с
постепенным нарастанием яркости каждого светодиода. В четвертой работе
было выполнено измерение освещенности с помощью фоторезистора.
Составлена программа включения светодиодов, в зависимости от освещенности
помещения. В пятой работе изучили пьезокерамический излучатель.
Пьезокерамический излучатель - это электроакустическое устройство,
способное воспроизводить звук благодаря обратному пьезоэлектрическому
эффекту. Была собрана схема прибора для оценки освещенности, составлена
40
программа для контроллера Arduino, где прибор при изменении освещенности
включал соответствующий светодиод, и проигрывал короткую мелодию.

41
ИНФОРМАЦИОННЫЕ ИСТОЧНИКИ

1. Видеоуроки по Arduino от Джереми Блум. [Электронный ресурс].-Режим


доступа: http://amperka.ru/ (дата обращения: 18.05.2016)
2. Все об Arduino Uno. [Электронный ресурс].- Режим доступа:
http://arduino.ua/ru/hardware/Uno (дата обращения: 18.05.2016)
3. Джереми Б. Изучаем Arduino / Б. Джереми – СПб.: Издательский центр
«БХВ-Петербург», 2015. – 401с
4. Петин В. Проекты с использованием контролера Arduino / В. Петин СПб.:
Издательский центр «БХВ-Петербург», 2014. – 333с

42
43

Вам также может понравиться