Это пятый урок из цикла «Знакомство с Arduino». В этом уроке Вы научитесь основам работы с цифровым датчиком температуры DS18B20.
Для урока Вам понадобится следующие детали:
- Arduino Nano;
- беспаечная макетная плата (она же breadboard);
- провода типа папа-папа;
- резистор номиналом 4.7 кОм;
- цифровой датчик температуры DS18B20.
Если на компьютере не установлена среда Arduino IDE, то необходимо её скачать и установить. Урок по основам работы с IDE можно прочитать здесь.
Когда все необходимые детали находятся под рукой можно начинать собирать наш пример. Для этого необходимо воспользоваться следующими схемами:
Электрическая принципиальная схема:
Схема подключения на макетной плате:
Итак, подключите модуль Arduino к компьютеру. Далее откройте среду разработки Arduino IDE. Когда схемка собрана можно записывать в Arduino следующую программу:
Текст программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
/*------------------------------------------------*/ const byte button = 2; // вывод №2 Arduino Nano, к нему подключена кнопка const byte led = 4; // вывод №4 Arduino Nano,к нему подключён светодиод /*------------------------------------------------*/ void setup() { pinMode(button, INPUT); // конфигурируем порт как вход (кнопка) pinMode(led, OUTPUT); // конфигурируем порт как выход (светодиод) } /*------------------------------------------------*/ void loop() { if (digitalRead(button) == HIGH) { // если кнопка нажата digitalWrite(led, HIGH); // то зажигаем светодиод } else { // если кнопка НЕ нажата digitalWrite(led, LOW); // то гасим светодиод } } /*------------------------------------------------*/ |
button — константа, которая задаёт номер вывода (№ 2), к которому подключается кнопка, а константа led задаёт номер вывода (№ 4), к которому подключается светодиод. Функция setup() запускается однократно при запуске программы. В ней устанавливаются режимы работы выводов № 2 (кнопка) и № 4 (светодиод) Arduino — как входной порт и выходной порт соответственно. Функция loop() вызывается после функции setup(). Функция представляет собой бесконечный цикл, в котором выполняется пользовательская программа. В ней при помощи команды (digitalRead(button) == HIGH) проверяется, нажата ли кнопка (есть ли высокий уровень напряжения (5 В) на выводе № 2. Если да, то на вывод № 4 (светодиод) подаётся высокий уровень напряжения (5 В), тем самым мы зажигаем светодиод (команда digitalWrite(led, HIGH)). Если же кнопка НЕ нажата, то при помощи команды digitalWrite(led, LOW) мы гасим светодиод (подаём на вывод № 4 низкий уровень напряжения (0 В)). Таким образом, при нажатии на кнопку светодиод загорается и гаснет, если кнопка НЕ нажата.
Когда программа успешно записана в Arduino, светодиод, подключённый к выводу № 4 Arduino Nano будет загораться при нажатии на клавишу (подключена к выводу № 2).
Для проверки, насколько хорошо Вы усвоили урок, выполните следующие задания.
Чтобы проверить себя, дорогой читатель, воспользуйтесь подсказками после вопросов.
Задания:
Уважаемый читатель, мы предлагаем Вам обратиться к разделу «Программирование» на нашем сайте. Там Вы найдёте описание и примеры работы с различными функциями программирования модулей Arduino.
Спасибо за то, что учитесь познавать удивительный мир радиоэлектроники вместе с нами.
Верьте в себя, учитесь и у Вас всё обязательно получится!
Удачи в дальнейших проектах!