13
Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы общего назначения (GPIO) 2.1.1. Схема выводов Arduino Uno (редакция 3) Отрицательный вывод питания (земля, ground) Положительный вывод питания (+3.3В и +5В) Управляющие выводы (сброс) Цифровые выводы (включен/выключен) Аналоговые входы (снятие показаний с датчиков) ШИМ выходы (плавное управление двигателями) Интерфейсы (UART, I2C, SPI) (соединение с другими микроэлектронными устройствами) Обозначение в редакторе Arduino IDE

Тема 2. Работа с цифровыми сигналами¢ема... · 2014-02-26 · Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Тема 2. Работа с цифровыми сигналами¢ема... · 2014-02-26 · Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы

Тема 2. Работа с цифровыми сигналами

Урок 2.1. Выводы общего назначения (GPIO)

2.1.1. Схема выводов Arduino Uno (редакция 3)

Отрицательный вывод питания (земля, ground)

Положительный вывод питания (+3.3В и +5В)

Управляющие выводы (сброс)

Цифровые выводы (включен/выключен)

Аналоговые входы (снятие показаний с датчиков)

ШИМ выходы (плавное управление двигателями)

Интерфейсы (UART, I2C, SPI) (соединение с другими микроэлектроннымиустройствами)

Обозначение в редакторе Arduino IDE

Page 2: Тема 2. Работа с цифровыми сигналами¢ема... · 2014-02-26 · Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы

2.1.2. Светодиодный индикатор (LED)

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

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

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

1) Анод светодиода имеет более длинный проводник2) Со стороны катода, корпус светодиода немного срезан

В современной микроэлектронике применяются миниатюрные светодиоды дляповерхностного монтажа. Такие индикаторы, например, имеются на Arduino Uno для информированияпользователя о состоянии системы.

2.1.3. Функция вывода цифровых данных

Для выводы высокого или низкого уровня сигнала на один из контактов общего назначения, вредакторе программ Arduino IDE используется функция digitalWrite. Вызов этой функции имеет вид:

digitalWrite( номер_контакта, уровнеь_сигнала );

где аргумент уровень_сигнала может принимать два значения: HIGH (высокий, +5В) или LOW(низкий, заземлен).

Page 3: Тема 2. Работа с цифровыми сигналами¢ема... · 2014-02-26 · Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы

Но чтобы контакт 2 именно выводил сигнал, а не принимал его, потребуется использоватьспециальную функцию для установки режима контактов ­ pinMode. Формат этой функции таков:

pinMode( номер_контакта, режим_контакта );

где аргумент режим_контакта может принимать значения: OUTPUT (вывод) и INPUT (ввод).

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

void setup() pinMode( 2, OUTPUT ); // установка 2­го контакта в режим вывода digitalWrite( 2, HIGH ); // перевод вывода 2 в активное состояние

void loop()

Задания

Задание 1. Мигающий светодиод

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

Используемые компоненты:

Светодиод, 1шт Резистор 200Ом,1шт

Важно отметить, что напряжение питания светодиода L­53 варьируется от 1.85 до 2.5 вольт,при рекомендуемой силе тока 20мА. Для правильной работы прибора, в цепь следует добавитьограничивающий резистор (от 200Ом до 500Ом). Ниже представлена электрическая схемаподключения светодиода к Arduino Uno, а также макет собранного устройства.

Page 4: Тема 2. Работа с цифровыми сигналами¢ема... · 2014-02-26 · Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы

Программа для активации светодиода на цифровом выводе 2 имеет вид:

int led = 2;

void setup() pinMode(led, OUTPUT); // установка 2­го контакта в режим вывода

void loop() digitalWrite(led, HIGH); // перевод вывода 2 в активное состояние delay(1000); // пауза 1­секунда digitalWrite(led, LOW); // перевод вывода 2 в неактивное состояние delay(1000); // пауза 1­секунда

Page 5: Тема 2. Работа с цифровыми сигналами¢ема... · 2014-02-26 · Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы

Задание 2. Одновременная активация двух светодиодов

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

Используемые компоненты:

Светодиод, 2шт Резистор 200Ом,2шт

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

Page 6: Тема 2. Работа с цифровыми сигналами¢ема... · 2014-02-26 · Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы

Управляющая программа имеет вид:

int led_1 = 2;int led_1 = 3;

void setup() pinMode(led_1, OUTPUT); // установка 2­го контакта в режим вывода pinMode(led_1, OUTPUT); // установка 3­го контакта в режим вывода

void loop() digitalWrite(led_1, HIGH); // перевод вывода 2 в активное состояние digitalWrite(led_2, HIGH); // перевод вывода 3 в активное состояние delay(1000); // пауза 1­секунда digitalWrite(led_1, LOW); // перевод вывода 2 в неактивное состояние digitalWrite(led_2, LOW); // перевод вывода 3 в неактивное состояние delay(1000); // пауза 1­секунда

Задание 3. Проблесковые маячки (самостоятельно)

Результат работыПосле запуска программы, два светодиода начинают мигать с периодом 0.3 секунды. При этом, еслиодин светодиод горит, второй в этот момент должен быть погашен.

Задание 4. Светофор (самостоятельно)

Результат работыПосле запуска программы, три светодиода начинают зажигаться в следующей последовательности:1) Все гаснут, зеленый зажигается на 3 секунды.2) Зеленый мигает 3 секунды.3) Все гаснут, желтый зажигается на 1 секунду4) Все гаснут, красный зажигается на 3 секунды

Page 7: Тема 2. Работа с цифровыми сигналами¢ема... · 2014-02-26 · Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы

Урок 2.2. Зуммер

2.2.1. Описание устройства зуммера (buzzer)

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

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

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

2.2.2. Функция для работы со звуком

В простейшем случае, для того чтобы заставить зуммер издавать звук, достаточно установить на соответствующем контакте высокий уровень сигнала. Именно этот вариант и будет использован в двух первых заданиях. Но чтобы получить разные тона (читай, разные частоты звука), необходимо воспользоваться специальной функцией tone, которая позволяет изменять частоту звучания зуммера. Функция имеет вид:

tone( номер_контакта, частота_звука, длительность );

аргумент частота_звука задает частоту звучания в Герцах. Аргумент длительность, как и в случае функции delay, указывается в миллисекундах.

Задания

Задание 1. Звуковой код

Результат работыПосле запуска программы, зуммер выдает три последовательных сигнала, длительностью 1 сек ипериодом ­ 2 сек.

Используемые компоненты:

Page 8: Тема 2. Работа с цифровыми сигналами¢ема... · 2014-02-26 · Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы

Зуммер ­ 1шт

Программа

int buzz = 2;int k = 0;

void setup() pinMode(buzz, OUTPUT); // установка 2­го контакта в режим вывода

Page 9: Тема 2. Работа с цифровыми сигналами¢ема... · 2014-02-26 · Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы

void loop() for( k=0; k<3; k=k+1) // цикл из трех итераций digitalWrite(buzz, HIGH); // перевод вывода 2 в активное состояние delay(1000); // пауза 1­секунда digitalWrite(buzz, LOW); // перевод вывода 2 в неактивное состояние delay(1000); // пауза 1­секунда

Задание 2. Сигнал SOS (самостоятельно)

Результат работыПосле запуска программы, зуммер выдает три коротких сигнала (0.5 сек), затем три длинных (1 сек),и, наконец, снова три коротких.

Задание 3. Перебор нот

Результат работыПосле запуска программы, зуммер начинает беспрерывно ноты, заданные последовательностью:

Используемые компоненты и схема идентичны первому заданию

Программа

int buzz = 2;

// ноты#define NOTE_C6 1047#define NOTE_D6 1175#define NOTE_E6 1319#define NOTE_F6 1397#define NOTE_G6 1568#define NOTE_A6 1760#define NOTE_B6 1976#define NOTE_C7 2093

void setup() pinMode(buzz, OUTPUT); // установка 2­го контакта в режим вывода

void loop() tone( buzz, NOTE_C6, 500 ); delay( 500 );

tone( buzz, NOTE_D6, 500 ); delay( 500 );

tone( buzz, NOTE_E6, 500 ); delay( 500 );

tone( buzz, NOTE_F6, 500 ); delay( 500 );

Page 10: Тема 2. Работа с цифровыми сигналами¢ема... · 2014-02-26 · Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы

tone( buzz, NOTE_G6, 500 ); delay( 500 );

tone( buzz, NOTE_A6, 500 ); delay( 500 );

tone( buzz, NOTE_B6, 500 ); delay( 500 );

tone( buzz, NOTE_C7, 500 ); delay( 500 );

Задание 4. Мелодия (самостоятельно)

Результат работыПосле запуска программы, зуммер начинает беспрерывно играть мелодию, заданную набором нот.

Page 11: Тема 2. Работа с цифровыми сигналами¢ема... · 2014-02-26 · Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы

Урок 2.3. Механический выключатель

2.3.1. Описание устройства выключателя

Выключатель ­ это прибор, который позволяет замыкать и размыкать электрическую цепь. При этом, смена состояния выключателя может происходить разными способами, в зависимости от типа устройства. Механические выключатели наиболее распространены, и используются непосредственно человеком. К такому типу относятся различные тумблеры, кнопки, клавиши и рубильники. Электромагнитные и электронные, напротив, применяются в автоматических системах, и управляются при помощи электрических сигналов. Самым известным электромагнитным выключателем является реле (relay). Примером электронного выключателя может служить транзистор (transistor).

В нашей работы мы будем использовать простой механический выключатель в виде кнопки (push­button). Этот выключатель имеет два вывода, которые подключаются в разрыв цепи (см. рисунок).

2.3.2. Функция ввода цифровых данных

Для чтения цифрового сигнала с одного из контактов, необходимо воспользоваться другойраспространенной функцией: digitalRead. Формат функции имеет вид:

результат = digitalRead( номер_контакта );

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

Задания

Задание 1. Выключатель и зуммер

Результат работыПосле запуска, программа переходит в режим ожидания. По нажатию кнопки, зуммер включается. Апри отпускании, напротив ­ выключается.

Используемые компоненты

Зуммер ­ 1шт Кнопка ­ 1шт Резистор1КОм ­ 1шт10КОм ­ 1шт

Page 12: Тема 2. Работа с цифровыми сигналами¢ема... · 2014-02-26 · Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы

Программа

Задание 2. Управление включением и выключением

Результат работыВ схеме присутствуют две кнопки и зуммер. При нажатии на одну из кнопок, зуммер начинаетиздавать звук, до тех пор, пока не будет нажата вторая кнопка.

Задание 3. Запуск и остановка проблескового маячка и серены кнопкой (самостоятельно)

Результат работы

Page 13: Тема 2. Работа с цифровыми сигналами¢ема... · 2014-02-26 · Тема 2. Работа с цифровыми сигналами Урок 2.1. Выводы

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

Задание 4. Запуск и остановка мелодии кнопкой (самостоятельно)

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