Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему работа с платой Ардуино. Урок 8

Содержание

Выбираем выделенный красным разделСоздание нового проектаРабота с программой Tinkercad Circuits
Эксперимент 6. «Ночной светильник» Выбираем выделенный красным разделСоздание нового проектаРабота с программой Tinkercad Circuits Окно нового проекта (название проекта выбирается случайно, не обращаем на это внимание)Система готова для работы Работа с платой Ардуино в программе Tinkercad Circuits Нажимаем кнопку «Код» для просмотра программы и выбираем отображение кода в виде Код программы загруженный изначальноКонтакт выхода 13. Подать высокий потенциал, ждать секунду, подать Эксперимент 6. Ночной светильникВ этом эксперименте светодиод должен включаться при падении уровня Схема в программе Tinkercad CircuitsR – 10 кОм R – 220 Ом Код программы в Tinkercad Circuits (без комментариев) Скетч (первая часть кода рабочей программы) с комментариями// даём имена для пинов Скетч (код рабочей программы продолжение)void loop(){ // считываем уровень освещённости. Кстати, объявлять Мы используем новый тип переменных — boolean, которые хранят только значения true (истина, 1) или false (ложь, Пояснения к коду (продолжение 1)Будьте особенно внимательны с логическим оператором == и не путайте Пояснения к коду (продолжение 2)if (lightness < threshold) { // ...}За условным Настройка и регулировка схемыУстанавливаем измерительный приборПодключаем его к контактам А0 и А1 Настройка и регулировка схемы (продолжение 1)boolean tooDark = (lightness < threshold)Измерительный прибор Настройка и регулировка схемы (продолжение 2)Устанавливаем переменный резистор на первое деление (желтая Настройка и регулировка схемы (продолжение 3)Устанавливаем переменный резистор на второе деление, светодиод Настройка и регулировка схемы (продолжение 4)Устанавливаем переменный резистор на последнее делениеУстанавливаем движок Настройка и регулировка схемы (продолжение 5)Устанавливаем движок фоторезистора посерединеПодбираем положение движка переменного Добавляем Serial в код рабочей программыВ раздел «void setup()» вводимВ раздел «void Вопросы для проверки себяЕсли мы установим фоторезистор между аналоговым входом и землей, Задания для самостоятельного решенияПерепишите программу без использования переменной tooDark с сохранением функционала устройства.Добавьте в
Слайды презентации

Слайд 2 Выбираем выделенный красным раздел
Создание нового проекта
Работа с программой

Выбираем выделенный красным разделСоздание нового проектаРабота с программой Tinkercad Circuits

Tinkercad Circuits


Слайд 3 Окно нового проекта (название проекта выбирается случайно, не

Окно нового проекта (название проекта выбирается случайно, не обращаем на это внимание)Система готова для работы

обращаем на это внимание)
Система готова для работы


Слайд 4 Работа с платой Ардуино в программе Tinkercad Circuits

Работа с платой Ардуино в программе Tinkercad Circuits   Из

Из базовых компонентов выбираем плату

Arduino UNO R3 и перетаскиваем на рабочее поле.
В стандартной комплектации в нее уже скопирована (залита) простейшая программа для демонстрации работы.

Слайд 5 Нажимаем кнопку «Код» для просмотра программы и выбираем

Нажимаем кнопку «Код» для просмотра программы и выбираем отображение кода в

отображение кода в виде текста.
Мы будем работать в этом

режиме

Слайд 6 Код программы загруженный изначально
Контакт выхода 13. Подать высокий

Код программы загруженный изначальноКонтакт выхода 13. Подать высокий потенциал, ждать секунду,

потенциал, ждать секунду, подать низкий потенциал ждать секунду. Повторять.


Слайд 7 Эксперимент 6. Ночной светильник
В этом эксперименте светодиод должен

Эксперимент 6. Ночной светильникВ этом эксперименте светодиод должен включаться при падении

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

деталей для эксперимента

1 плата Arduino Uno
1 беспаечная макетная плата
1 светодиод
1 фоторезистор
1 резистор номиналом 220 Ом
1 резистор номиналом 10 кОм
1 переменный резистор (потенциометр)
10 проводов «папа-папа»

Принципиальная схема

Обратите внимание

Схема на макетке

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


Слайд 8 Схема в программе Tinkercad Circuits
R – 10 кОм

Схема в программе Tinkercad CircuitsR – 10 кОм R – 220 Ом


R – 220 Ом


Слайд 9 Код программы в Tinkercad Circuits (без комментариев)

Код программы в Tinkercad Circuits (без комментариев)

Слайд 10 Скетч (первая часть кода рабочей программы) с комментариями
//

Скетч (первая часть кода рабочей программы) с комментариями// даём имена для

даём имена для пинов
// LED_PIN для светодиода
// LDR_PIN

для фоторезистора
// POT_PIN для переменного резистора
#define LED_PIN 13
#define LDR_PIN A0
#define POT_PIN A1

void setup()
{
pinMode(LED_PIN, OUTPUT);
}
// LED_PIN или 13 пин определяем как выходной
// для светодиода

После проверки работы программы добавляем комментарии


Слайд 11 Скетч (код рабочей программы продолжение)
void loop()
{
// считываем

Скетч (код рабочей программы продолжение)void loop(){ // считываем уровень освещённости. Кстати,

уровень освещённости. Кстати, объявлять
// переменную и присваивать ей

значение можно разом
int lightness = analogRead(LDR_PIN);

// считываем значение с потенциометра, которым мы регулируем
// пороговое значение между условными темнотой и светом
int threshold = analogRead(POT_PIN);

// объявляем логическую переменную и назначаем ей значение
// «темно ли сейчас». Логические переменные, в отличие от
// целочисленных, могут содержать лишь одно из двух значений:
// истину (англ. true) или ложь (англ. false). Такие значения
// ещё называют булевыми (англ. boolean).
boolean tooDark = (lightness < threshold);

// используем ветвление программы: процессор исполнит один из
// двух блоков кода в зависимости от исполнения условия.
// Если (англ. «if») слишком темно...
if (tooDark) {
// ...включаем освещение
digitalWrite(LED_PIN, HIGH);
} else {
// ...иначе свет не нужен — выключаем его
digitalWrite(LED_PIN, LOW);
}
}

Слайд 12 Мы используем новый тип переменных — boolean, которые хранят

Мы используем новый тип переменных — boolean, которые хранят только значения true (истина, 1)

только значения true (истина, 1) или false (ложь, 0). Эти значения являются результатом

вычисления логических выражений. В данном примере логическое выражение — это lightness < threshold. На человеческом языке это звучит как: «освещенность ниже порогового уровня». Такое высказывание будет истинным, когда освещенность ниже порогового уровня. Микроконтроллер может сравнить значения переменных lightness и threshold, которые, в свою очередь, являются результатами измерений, и вычислить истинность логического выражения.
Мы взяли это логическое выражение в скобки только для наглядности. Всегда лучше писать читабельный код. В других случаях скобки могут влиять на порядок действий, как в обычной арифметике.
В нашем эксперименте логическое выражение будет истинным, когда значение lightness меньше значения threshold, потому что мы использовали оператор <. Мы можем использовать операторы >, <=, >=, ==, !=, которые значат «больше», «меньше или равно», «больше или равно», «равно», «не равно» соответственно.

Пояснения к коду


Слайд 13 Пояснения к коду (продолжение 1)
Будьте особенно внимательны с

Пояснения к коду (продолжение 1)Будьте особенно внимательны с логическим оператором == и не

логическим оператором == и не путайте его с оператором присваивания =. В

первом случае мы сравниваем значения выражений и получаем логическое значение (истина или ложь), а во втором случае присваиваем левому операнду значение правого. Компилятор не знает наших намерений и ошибку не выдаст, а мы можем нечаянно изменить значение какой-нибудь переменной и затем долго разыскивать ошибку.
Условный оператор if («если») — один из ключевых в большинстве языков программирования. С его помощью мы можем выполнять не только жестко заданную последовательность действий, но принимать решения, по какой ветви алгоритма идти, в зависимости от неких условий.
У логического выражения lightness < threshold есть значение: true или false. Мы вычислили его и поместили в булеву переменную tooDark («слишком темно»). Таким образом мы как бы говорим «если слишком темно, то включить светодиод»
С таким же успехом мы могли бы сказать «если освещенность меньше порогового уровня, то включить светодиод», т.е. передать в if всё логическое выражение:


Слайд 14 Пояснения к коду (продолжение 2)
if (lightness < threshold)

Пояснения к коду (продолжение 2)if (lightness < threshold) { // ...}За

{
// ...
}
За условным оператором if обязательно следует блок кода, который

выполняется в случае истинности логического выражения. Не забывайте про обе фигурные скобки {}!
Если в случае истинности выражения нам нужно выполнить только одну инструкцию, ее можно написать сразу после if (…) без фигурных скобок:
if (lightness < threshold)
digitalWrite(LED_PIN, HIGH);
Оператор if может быть расширен конструкцией else («иначе»). Блок кода или единственная инструкция, следующий за ней, будет выполнен только если логическое выражение в if имеет значение false, «ложь». Правила, касающиеся фигурных скобок, такие же. В нашем эксперименте мы написали «если слишком темно, включить светодиод, иначе выключить светодиод».

Слайд 15 Настройка и регулировка схемы
Устанавливаем измерительный прибор
Подключаем его к

Настройка и регулировка схемыУстанавливаем измерительный приборПодключаем его к контактам А0 и

контактам А0 и А1 платы ардуино
Настройка и регулировка схемы


Слайд 16 Настройка и регулировка схемы (продолжение 1)
boolean tooDark =

Настройка и регулировка схемы (продолжение 1)boolean tooDark = (lightness < threshold)Измерительный

(lightness < threshold)
Измерительный прибор показывает значения логической переменной boolean

tooDark

Если измерительный прибор показывает положительные значения, то значения логической переменной boolean tooDark =1 или «Да» (светодиод горит)

Если измерительный прибор показывает отрицательные значения, то значения логической переменной boolean tooDark = - 1 или «Нет» (светодиод не горит)


Слайд 17 Настройка и регулировка схемы (продолжение 2)
Устанавливаем переменный резистор

Настройка и регулировка схемы (продолжение 2)Устанавливаем переменный резистор на первое деление

на первое деление (желтая стрелка)
Устанавливаем движок фоторезистора вправо до

упора (зеленая стрелка)
Напряжение (V<0) меньше нуля и сдвиг движка влево не зажигает светодиод

Вывод:
Свет не загорится при любом освещении фоторезистора


Слайд 18 Настройка и регулировка схемы (продолжение 3)
Устанавливаем переменный резистор

Настройка и регулировка схемы (продолжение 3)Устанавливаем переменный резистор на второе деление,

на второе деление, светодиод горит и на приборе положительное

значение напряжения
Перемещаем движок фоторезистора влево и добиваемся угасания светодиода и перехода напряжения через V=0

Вывод:
Освещение фоторезистора влияет на зажигание светодиода


Слайд 19 Настройка и регулировка схемы (продолжение 4)
Устанавливаем переменный резистор

Настройка и регулировка схемы (продолжение 4)Устанавливаем переменный резистор на последнее делениеУстанавливаем

на последнее деление
Устанавливаем движок фоторезистора влево до упора или

двигаем
Напряжение (V>0) больше нуля и сдвиг движка вправо не гасит светодиод

Вывод:
Свет не погаснет при любом освещении фоторезистора


Слайд 20 Настройка и регулировка схемы (продолжение 5)
Устанавливаем движок фоторезистора

Настройка и регулировка схемы (продолжение 5)Устанавливаем движок фоторезистора посерединеПодбираем положение движка

посередине
Подбираем положение движка переменного резистора влево до зажигания светодиода
Большее

затемнение не погасит светодиод

Вывод:
С наступлением темноты светодиод зажигается автоматически


Слайд 22 Добавляем Serial в код рабочей программы
В раздел «void

Добавляем Serial в код рабочей программыВ раздел «void setup()» вводимВ раздел

setup()» вводим
В раздел «void loop()» вводим
Включаем монитор порта
Сигнал снимаем

с А0

Слайд 23 Вопросы для проверки себя

Если мы установим фоторезистор между

Вопросы для проверки себяЕсли мы установим фоторезистор между аналоговым входом и

аналоговым входом и землей, наше устройство будет работать наоборот:

светодиод будет включаться при увеличении количества света. Почему?
Какой результат работы устройства мы получим, если свет от светодиода будет падать на фоторезистор?
Если мы все же установили фоторезистор так, как сказано в предыдущем вопросе, как нам нужно изменить программу, чтобы устройство работало верно?
Допустим, у нас есть код if (условие) {действие;}. В каких случаях будет выполнено действие?
При каких значениях y выражение x + y > 0 будет истинным, если x > 0?
Обязательно ли указывать, какие инструкции выполнять, если условие в операторе if ложно?
Чем отличается оператор == от оператора =?
Если мы используем конструкцию if (условие) действие1; else действие2;, может ли быть ситуация, когда ни одно из действий не выполнится? Почему?

  • Имя файла: prezentatsiya-rabota-s-platoy-arduino-urok-8.pptx
  • Количество просмотров: 200
  • Количество скачиваний: 0