Похожие презентации:
Область видимости переменных. #define. Аналоговые датчики
1. Область видимости переменных. #define. Аналоговые датчики
Урок 192. Область видимости переменных
• Область видимости определяет, где в программе может бытьиспользована переменная. Типы областей видимости:
• Глобальная
• Локальная
• ОВ функции
• ОВ класса
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. Написать программу сигнализации: при наклоне – красный
светодиод мигает, при темноте – желтый светодиод мигает, если оба – мигают
оба светодиода + работает зуммер
Программирование