4.01.5. Лабораторная работа №4.1.5.md
Датчик наклона
Тема работы
Мы уже умеем управлять светодиодами и считывать нажатия кнопок. А что, если научить Рудирон реагировать на своё положение в пространстве? В этой лабораторной работе мы познакомимся с датчиком наклона — простым, но очень интересным компонентом. Мы подключим его к плате и напишем программу, которая будет зажигать встроенный светодиод L1, когда плата находится в вертикальном положении, и гасить его при наклоне.
Цель
- Научиться подключать и считывать данные с простого цифрового датчика (датчика наклона).
- На практике применить режим
INPUT_PULLUPдля подключения компонентов типа «переключатель». - Создать устройство, которое физически реагирует на изменение своего положения.
Оборудование и материалы
- Отладочная плата
Рудирон. - Макетная плата.
- 1 шариковый датчик наклона (например, SW-520D).
- 2 соединительных провода.
- USB-кабель для подключения
Рудиронак компьютеру. - Компьютер с настроенной средой
Arduino IDE.
Ход работы
-
Знакомство с датчиком наклона
Шариковый датчик наклона — это очень простое устройство. Внутри металлического корпуса находится маленький металлический шарик. Когда датчик стоит вертикально, шарик замыкает два контакта внутри, и датчик работает как замкнутый выключатель. Если его наклонить, шарик откатывается, контакты размыкаются, и датчик превращается в разомкнутый выключатель.
По сути, это переключатель, который реагирует на гравитацию. Такие датчики используются в некоторых автомобильных сигнализациях, умных игрушках, которые реагируют на переворачивание, и для контроля положения различных механизмов.

-
Сборка схемы
Поскольку датчик работает как переключатель, для его подключения мы используем самый удобный способ — с внутренним подтягивающим резистором (
pull-up).- Вставьте датчик наклона в макетную плату.
- Соедините с
Рудироном:- Один вывод датчика подключите к пину 2.
- Второй вывод датчика подключите к
GND(земля).
Внешние резисторы и светодиоды нам не понадобятся! Мы будем использовать встроенный светодиод
L1, который подключён к пину 5.
-
Написание и загрузка кода
- Убедитесь, что перемычка
PRG | RUNстоит в положенииPRG. -
Откройте
Arduino IDEи введите следующий код:// Используем встроенные имена для пинов const int ledPin = LED_BUILTIN_1; // Встроенный светодиод L1 (пин 5) const int tiltSensorPin = 2; void setup() { pinMode(ledPin, OUTPUT); // Настраиваем пин датчика на вход и включаем внутренний // подтягивающий резистор. Теперь при размыкании контактов // на пине будет HIGH. pinMode(tiltSensorPin, INPUT_PULLUP); } void loop() { // Считываем состояние датчика bool isTilted = digitalRead(tiltSensorPin); // Вспоминаем логику INPUT_PULLUP: // Если датчик вертикально (контакты замкнуты на GND) -> LOW // Если датчик наклонён (контакты разомкнуты) -> HIGH if (isTilted == LOW) { // Датчик стоит ровно, включаем светодиод digitalWrite(ledPin, HIGH); } else { // Датчик наклонён, выключаем светодиод digitalWrite(ledPin, LOW); } } - Нажмите кнопку «Upload», чтобы загрузить код на плату.
- Убедитесь, что перемычка
-
Проверка работы
- Поставьте плату на ровную поверхность так, чтобы датчик наклона был расположен вертикально. Светодиод
L1должен загореться. - Теперь аккуратно наклоните макетную плату в любую сторону. Как только шарик внутри датчика откатится, светодиод
L1должен погаснуть. - Верните плату в вертикальное положение — светодиод снова загорится.
- Поставьте плату на ровную поверхность так, чтобы датчик наклона был расположен вертикально. Светодиод
Результаты
Вы создали простое, но эффектное устройство — индикатор положения. Ваша программа успешно считывает состояние цифрового датчика и реагирует на его изменение, управляя встроенным светодиодом.
Анализ результатов
Ключ к пониманию работы этой схемы — режим INPUT_PULLUP.
- Когда датчик наклонён, его контакты разомкнуты. Цепь на пин 2 разорвана, и внутренний резистор «подтягивает» напряжение на пине к
HIGH(3.3В).digitalRead()возвращаетHIGH, и светодиод гаснет. - Когда датчик стоит вертикально, шарик замыкает контакты. Пин 2 напрямую соединяется с
GND.digitalRead()возвращаетLOW, и светодиод загорается.
Выводы
В этой лабораторной работе вы научились работать с новым типом цифровых входных устройств — датчиком наклона. Вы на практике закрепили, как и зачем использовать режим INPUT_PULLUP, и создали устройство, которое реагирует на физическое воздействие — изменение ориентации в пространстве.
Вопросы для самопроверки
- Как устроен шариковый датчик наклона?
- Почему для подключения этого датчика мы использовали режим
INPUT_PULLUP? - Какое значение (
HIGHилиLOW) считывается с пина, когда датчик стоит вертикально? Почему? - Как нужно изменить код, чтобы светодиод, наоборот, загорался при наклоне платы?
- Где в реальной жизни можно применить такое устройство?
Поздравляем! Вы научились работать с цифровыми датчиками. Переходите к следующей лабораторной работе, чтобы поработать с более сложным датчиком температуры и влажности и узнать, как микроконтроллер может обмениваться с ним данными по специальному протоколу.
- Страницы
- 1. Введение
- 1.01. Лабораторная работа №1.1
- 1.02. Лабораторная работа №1.2
- 1.03. Лабораторная работа №1.3
- 1.04. Лабораторная работа №1.4
- 1.05. Лабораторная работа №1.5
- 2. Основы электроники
- 2.01. Электрический ток и параметры цепи
- 2.01.1. Лабораторная работа №2.1.1
- 2.01.2. Лабораторная работа №2.1.2
- 2.02. Сопротивление в цепи
- 2.02.1. Лабораторная работа №2.2.1
- 2.02.2. Лабораторная работа №2.2.2
- 2.03. Полупроводники
- 2.03.1. Лабораторная работа №2.3.1
- 2.03.2. Лабораторная работа №2.3.2
- 3. Основы программирование на C++
- 3.01. Типы данных и переменные
- 3.01.1. Практикум
- 3.02. Операторы в C++
- 3.02.1. Практикум
- 3.03. Структуры ветвления
- 3.03.1. Практикум
- 3.04. Структуры повторения
- 3.04.1. Практикум
- 3.05. Массивы
- 3.05.1. Практикум
- 3.06. Функции
- 3.06.1. Практикум
- 3.07. Решения задач
- 4. Программирование микроконтроллеров
- 4.01. Цифровые сигналы и GPIO
- 4.01.1. Лабораторная работа №4.1.1
- 4.01.2. Лабораторная работа №4.1.2
- 4.01.3. Лабораторная работа №4.1.3
- 4.01.4. Лабораторная работа №4.1.4
- 4.01.5. Лабораторная работа №4.1.5
- 4.01.6. Лабораторная работа №4.1.6
- 4.01.7. Лабораторная работа №4.1.7
- 4.01.8. Лабораторная работа №4.1.8
- 4.02. Аналоговые сигналы и ШИМ
- 4.02.1. Лабораторная работа №4.2.1
- 4.02.2. Лабораторная работа №4.2.2
- 4.02.3. Лабораторная работа №4.2.3
- 4.02.4. Лабораторная работа №4.2.4
- 4.02.5. Лабораторная работа №4.2.5
- 4.03. Аналоговый сигнал и АЦП
- 4.03.1. Лабораторная работа №4.3.1
- 4.03.2. Лабораторная работа №4.3.2
- 4.03.3. Лабораторная работа №4.3.3
- 4.03.4. Лабораторная работа №4.3.4
- 4.03.5. Лабораторная работа №4.3.5
- 4.04. Аналоговый сигнал и ЦАП
- 4.04.1. Лабораторная работа №4.4.1
- 4.04.2. Лабораторная работа №4.4.2
- 4.05. Генерация и измерение импульсов
- 4.05.1. Лабораторная работа №4.5.1
- 4.05.2. Лабораторная работа №4.5.2
- 4.06. Аппаратные прерывания
- 4.06.1. Лабораторная работа №4.6.1
- 4.06.2. Лабораторная работа №4.6.2
- 4.07. Псевдопараллелизм
- 4.07.1. Лабораторная работа №4.7.1
- 4.07.2. Лабораторная работа №4.7.2
- 4.08. Интерфейсы связи - UART
- 4.08.1. Лабораторная работа №4.8.1
- 4.09. Интерфейсы связи - I2C
- 4.09.1. Лабораторная работа №4.9.1
- 4.10. Интерфейсы связи - SPI
- 4.10.1. Лабораторная работа №4.10.1
- home
-
imgs
- 1. Введение
- 1.01. Лабораторная работа №1.1
- 1.02. Лабораторная работа №1.2
- 1.03. Лабораторная работа №1.3
- 1.04. Лабораторная работа №1.4
- 1.05. Лабораторная работа №1.5
- 2. Основы электроники
- 2.01. Электрический ток и параметры цепи
- 2.01.1. Лабораторная работа №2.1.1
- 2.01.2. Лабораторная работа №2.1.2
- 2.02. Сопротивление в цепи
- 2.02.1. Лабораторная работа №2.2.1
- 2.02.2. Лабораторная работа №2.2.2
- 2.03. Полупроводники
- 2.03.1. Лабораторная работа №2.3.1
- 2.03.2. Лабораторная работа №2.3.2
- 3. Основы программирование на C++
- 3.01. Типы данных и переменные
- 3.01.1. Практикум
- 3.02. Операторы в C++
- 3.02.1. Практикум
- 3.03. Структуры ветвления
- 3.03.1. Практикум
- 3.04. Структуры повторения
- 3.04.1. Практикум
- 3.05. Массивы
- 3.05.1. Практикум
- 3.06. Функции
- 3.06.1. Практикум
- 3.07. Решения задач
- 4. Программирование микроконтроллеров
- 4.01. Цифровые сигналы и GPIO
- 4.01.1. Лабораторная работа №4.1.1
- 4.01.2. Лабораторная работа №4.1.2
- 4.01.3. Лабораторная работа №4.1.3
- 4.01.4. Лабораторная работа №4.1.4
- 4.01.5. Лабораторная работа №4.1.5
- 4.01.6. Лабораторная работа №4.1.6
- 4.01.7. Лабораторная работа №4.1.7
- 4.01.8. Лабораторная работа №4.1.8
- 4.02. Аналоговые сигналы и ШИМ
- 4.02.1. Лабораторная работа №4.2.1
- 4.02.2. Лабораторная работа №4.2.2
- 4.02.3. Лабораторная работа №4.2.3
- 4.02.4. Лабораторная работа №4.2.4
- 4.02.5. Лабораторная работа №4.2.5
- 4.03. Аналоговый сигнал и АЦП
- 4.03.1. Лабораторная работа №4.3.1
- 4.03.2. Лабораторная работа №4.3.2
- 4.03.3. Лабораторная работа №4.3.3
- 4.03.4. Лабораторная работа №4.3.4
- 4.03.5. Лабораторная работа №4.3.5
- 4.04. Аналоговый сигнал и ЦАП
- 4.04.1. Лабораторная работа №4.4.1
- 4.04.2. Лабораторная работа №4.4.2
- 4.05. Генерация и измерение импульсов
- 4.05.1. Лабораторная работа №4.5.1
- 4.05.2. Лабораторная работа №4.5.2
- 4.06. Аппаратные прерывания
- 4.06.1. Лабораторная работа №4.6.1
- 4.06.2. Лабораторная работа №4.6.2
- 4.07. Псевдопараллелизм
- 4.07.1. Лабораторная работа №4.7.1
- 4.07.2. Лабораторная работа №4.7.2
- 4.08. Интерфейсы связи - UART
- 4.08.1. Лабораторная работа №4.8.1
- 4.09. Интерфейсы связи - I2C
- 4.09.1. Лабораторная работа №4.9.1
- 4.10. Интерфейсы связи - SPI
- 4.10.1. Лабораторная работа №4.10.1
- home