Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Лабораторная работа № 1. Знакомство с платформой Arduino

Лабораторная работа № 1. Знакомство с платформой Arduino

Оборудование: Эмулятор Arduino

Ход работы:

1. Используя ресурсы сети Интернет отметьте цифрами на рисунке составляющие платформы:

1. процессор 2. гнездо для подключения USB-кабеля 3. гнездо для подключения внешнего питания 4. цифровые контакты (входы / выходы) 5. контакты аналогового входа 6. контакты для доступа к питанию 7. контакты “земля” 8. кнопка сброса 9. встроенный светодиод 10. светодиоды-индикаторы загрузки программы

 

2.Написать программу, при выполнении которой светодиод 1 секунд горит, 1 секунду не горит.

Войдите на сайт http://123d.circuits.io/ в раздел Electronics Lab. Создайте новую электронную лабораторию

1. Из списка компонентов установите Arduino UNO.

2. В окно редактора введите программу и прокомментируйте каждую строку написанного ниже кода.

/*

Опишите здесь, что выполняет ваша программа

*/

int led = 13; // ваши комментарии

void setup () { //

pinMode (led, OUTPUT); //

}

void loop () { //

digitalWrite (led, HIGH); //

delay (1000); //

digitalWrite (led, LOW); //

delay (1000); //

}

 

3. Запустите симулятор

4. Внесите изменения так, чтобы светодиод работал в следующем режиме:

- 0,5 секунды - горит, 0,5 секунды - не горит

- 1 секунда - горит, 1 секунда - не горит

- 2 секунды - горит, 2 секунды - не горит

- 1 секунда - горит, 1 секунда - не горит

- все повторяется сначала

 

Задача

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

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

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

 

Используется ШИМ-пин для управления напряжением, которое подается на светодиод. Сначала плавно увеличивается от 0 до 5 В, затем плавно убывает от 5 В до 0 В.

 

Программа управления светодиодом может быть такой:

 

/********************************************

Маячок с нарастающей / убывающей яркостью

*********************************************/

int led = 10; // Светодиод подключен к пину 10

int value = 0; // Начальное значение яркости равно 0

ind dv = 5; // Значение изменения яркости

void setup() // Инициализация пина

{

pinMode(led, OUTPUT);

}

void loop() // Бесконечный цикл

{

analogWrite(led, value); // Зажигаем светодиод с заданной яркостью

value = value + dv; // Меняем значение яркости

if (value >= 255) {dv = -dv;} // Если достигли верхней границы яркости, меняем знак у

if (value <= 0) {dv = -dv;} // Если достигли нижней границы яркости, меняем знак у

delay (30);

}

 

Void LightDown (int pin) // Постепенно увеличиваем цвет на пине pin

{

for (val = 0; val <=255; val++)

{

analogWrite(pin, val); delay (20);

}

}

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

Задание 1

1. Соберите схему

2. Вставьте пропущенные данные в листинг скетча. Отладьте программу

Листинг скетча

// объявление переменных

int RED = 9; // Красный цвет - на 11-м пине

int GREEN = 10; // Зеленый - на 10-м

int BLUE = 11; // Синий - на 9

Int val; // Рабочая переменная. Используем для счетчика цикла

Void setup()

{

pinMode( RED, OUTPUT);

pinMode( GREEN, OUTPUT);

pinMode( BLUE, OUTPUT);

AnalogWrite(RED, 255); // Красный горит

AnalogWrite(GREEN, ??? ); // Зеленый не горит

AnalogWrite( ??? , 255); // Синий не горит

}

Void LightUp (int pin) // Постепенно усиливаем цвет на пине pin

{

for (val = 0; val <=255; val++)

{

analogWrite(pin, val); delay (20);

}

}

Void LightDown (int pin) // Постепенно гасим цвет на пине pin

{

... ??? ...

}

Void loop()

{

LightUp (GREEN); delay(100); // Плавный переход к желтому цвету

LightDown (RED); delay(100); // Плавный переход к зеленому цвету

Плавный переход к сине-зеленому цвету

Плавный переход к синему цвету

Плавный переход к фиолетовому цвету

Плавный переход к красному цвету

}

Ночное освещение»

Задача

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

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

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

Схема для решения нашей задачи выглядит следующим образом:

В зависимости от уровня освещенности меняется значение сопротивления фоторезистора и, соответственно, уровень входного сигнала на аналоговом пине A0 Ардуино. Уровень меняется в диапазоне от 0 до 1023.

 

Добавим в схему светодиод, который будем зажигать или гасить по условию: если сигнал на A0 > 400 (значение подбирается экспериментально), то светодиод зажигается, иначе – гасится.

Таким образом, в этой задаче у нас появится управляющая структура ветвление, которая описывается следующим образом:

if (условие — логическое выражение)

else

{что должно быть выполнено, если условие истинно}

{что должно быть выполнено, если условие ложно}

Листинг скетча:

int sensorPin = A0; // Аналоговый вход для сигнала фоторезистора LDR

int sensorValue = 0; // Значение сигнала на LDR (от 0 до 1023)

int led = 3; // Пин подключения светодиода

Else // Иначе

{digitalWrite(led, LOW);} // гасим светодиод

// Этот блок – для отладки. Он позволяет наблюдать

// изменение значений на LDR.

// Вывод выполняется в отдельное окно, которое открывается

// нажатием кнопки «Монитор порта» в правом верхнем углу

// окна программы

Serial.print(sensorValue, DEC); // Вывод десятичного значения

Serial.println(""); // Переход на следующую строку

delay(500);

}

Лабораторная работа № 1. Знакомство с платформой Arduino

Оборудование: Эмулятор Arduino

Ход работы:

1. Используя ресурсы сети Интернет отметьте цифрами на рисунке составляющие платформы:

1. процессор 2. гнездо для подключения USB-кабеля 3. гнездо для подключения внешнего питания 4. цифровые контакты (входы / выходы) 5. контакты аналогового входа 6. контакты для доступа к питанию 7. контакты “земля” 8. кнопка сброса 9. встроенный светодиод 10. светодиоды-индикаторы загрузки программы

 

2.Написать программу, при выполнении которой светодиод 1 секунд горит, 1 секунду не горит.

Войдите на сайт http://123d.circuits.io/ в раздел Electronics Lab. Создайте новую электронную лабораторию

1. Из списка компонентов установите Arduino UNO.

2. В окно редактора введите программу и прокомментируйте каждую строку написанного ниже кода.

/*

Опишите здесь, что выполняет ваша программа

*/

int led = 13; // ваши комментарии

void setup () { //

pinMode (led, OUTPUT); //

}

void loop () { //

digitalWrite (led, HIGH); //

delay (1000); //

digitalWrite (led, LOW); //

delay (1000); //

}

 

3. Запустите симулятор

4. Внесите изменения так, чтобы светодиод работал в следующем режиме:

- 0,5 секунды - горит, 0,5 секунды - не горит

- 1 секунда - горит, 1 секунда - не горит

- 2 секунды - горит, 2 секунды - не горит

- 1 секунда - горит, 1 секунда - не горит

- все повторяется сначала

 

Задача

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

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

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

 

Используется ШИМ-пин для управления напряжением, которое подается на светодиод. Сначала плавно увеличивается от 0 до 5 В, затем плавно убывает от 5 В до 0 В.

 

Программа управления светодиодом может быть такой:

 

/********************************************

Маячок с нарастающей / убывающей яркостью

*********************************************/

int led = 10; // Светодиод подключен к пину 10

int value = 0; // Начальное значение яркости равно 0

ind dv = 5; // Значение изменения яркости

void setup() // Инициализация пина

{

pinMode(led, OUTPUT);

}

void loop() // Бесконечный цикл

{

analogWrite(led, value); // Зажигаем светодиод с заданной яркостью

value = value + dv; // Меняем значение яркости

if (value >= 255) {dv = -dv;} // Если достигли верхней границы яркости, меняем знак у

if (value <= 0) {dv = -dv;} // Если достигли нижней границы яркости, меняем знак у

delay (30);

}

 

Последнее изменение этой страницы: 2016-06-10

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...