Область видимости переменных. #define. Аналоговые датчики
Область видимости переменных
Глобальная область
Локальная область
Затемнение переменных
Затемнение переменных
#define
Отличие переменных и #define
Задания 1-4
Подключение аналоговых датчиков
Подключение аналоговых датчиков
Датчик наклона
Модульные компоненты
Задания
5.47M
Категория: ПрограммированиеПрограммирование

Область видимости переменных. #define. Аналоговые датчики

1. Область видимости переменных. #define. Аналоговые датчики

Урок 19

2. Область видимости переменных

• Область видимости определяет, где в программе может быть
использована переменная. Типы областей видимости:
• Глобальная
• Локальная
• ОВ функции
• ОВ класса

3. Глобальная область

• Объявляются вне всех функций, доступны везде в программе

4. Локальная область

• Ограничены функцией, в которой созданы.

5. Затемнение переменных

• Когда локальная переменная имеет то же имя, что и глобальная,
локальная переменная “затеняет” глобальную в своей области
видимости.

6. Затемнение переменных


Если добавить к переменной «::» при выводе – компилятор использует
глобальную переменную X вместо локальной
long x = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
long x = 2;
Serial.println(::x);
}

7. #define

• Директива (инструкция), которая замещает собой некоторую часть кода
при загрузке программы в микроконтроллер
• Синтаксис в коде: #define имя значение

8. Отличие переменных и #define

• Переменная – область в памяти микроконтроллера, под нее выделяется
место. При больших размерах программ лишнее место, занятое
переменными, может быть критичным
• #define на загружается в микроконтроллер, а подставляет в места, где
прописано ее имя, указанное значение
#define кот хлеб

9. Задания 1-4

• Задание 1. Создать глобальную переменную а = 10; Внутри setup создать
локальную переменную a = 50. Внутри loop вывести оба значения
• Задание 2. Светодиод мигает каждые 400 секунд. Создать переменную
count = 0 в loop, увеличивать переменную count = count + 1, вывести ее в
терминал. Объяснить вывод
• Задание 3. Доработать предыдущий код, создать count глобально,
объяснить вывод
• Задание 4. Подключить кнопку, создать переменную counter = 0
глобально. В блоке условия добавить: переменную var=777, увеличения
counter на 1, вывод переменной var в терминал. После блока условия –
вывод переменной counter. Объяснить вывод. Добавить после условия
вывод в терминал var, объяснить вывод

10. Подключение аналоговых датчиков

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

11. Подключение аналоговых датчиков

12. Датчик наклона

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

13. Модульные компоненты

• Иногда электронные компоненты для микроконтроллерах производят в
формате модуля с тремя выводами: плюс V, минус G, сигнал S. Вывод
сигнала подключается к порту в соответствии с типом сигнала,
необходимым для работы модуля

14. Задания


Задание 5. Включать светодиод, если значение из фоторезистора больше 400
Задание 6. Подключить фоторезистор и 3 светодиода разных цветов.
Написать программу индикации освещенности: < 200 – красный, 200-500 –
желтый, > 500 – зеленый
Задание 7. Преобразовать значение с фоторезистора при помощи карты в
значения 50-1000. Мигать светодиодом с этой задержкой
Задание 8. Подключить термистор. Каждые 10 секунд вывод текста: «Время _ секунд; Значение - _; Статус – Норма/Тепло/Жарко
Задание 9. Включение светодиода только если датчик наклона не замкнут
(не перевернут)
Задание 10. При помощи датчика наклона написать программу счетчика
переворотов
Задание 11. Написать программу сигнализации: при наклоне – красный
светодиод мигает, при темноте – желтый светодиод мигает, если оба – мигают
оба светодиода + работает зуммер
English     Русский Правила