Урок 13: Датчик Наклона
1. Цель эксперимента
Изучить работу шарикового переключателя (датчика наклона) и с помощью Arduino зажигать светодиод, когда плата наклоняется. Такой датчик может служить простым «датчиком переворота» для сигнализации падения, контроля уровня или определения положения устройства в пространстве.
2. Компоненты
Кол-во |
Деталь |
---|---|
1 |
Плата Arduino UNO |
1 |
Шариковый переключатель (датчик наклона) |
1 |
LED 5 мм (любого цвета) |
1 |
Резистор 220 Ω — ограничение тока LED |
1 |
Резистор 10 kΩ — подтяжка входа к GND |
1 |
Макетная плата (breadboard) |
5 |
Перемычки «папа–папа» |
1 |
USB-кабель A-B |
3. Немного знаний

Внутри герметичной трубки находится металлический шарик. Когда она расположена горизонтально, шарик замыкает два контакта: датчик «включён». Стоит наклонить трубку — шарик катится в сторону, контакты размыкаются и датчик «выключается».
4. Схема подключения

Один вывод переключателя → A5 (аналоговый вход)
Второй вывод переключателя → GND
Между A5 и GND ставим резистор 10 kΩ (pull-down)
Светодиод: D8 → резистор 220 Ω → анод LED, катод → GND
5. Пример кода
// ────────────────────────────────────────────────
// Урок 13 — Шариковый переключатель (датчик наклона)
// ────────────────────────────────────────────────
const byte ledPin = 8; // пин светодиода
const byte sensorPin = A5; // аналоговый вход датчика
void setup() {
pinMode(ledPin, OUTPUT); // LED как выход
Serial.begin(9600); // монитор @9600 бод
}
void loop() {
int value = analogRead(sensorPin); // считываем 0–1023
// Если значение больше половины диапазона (>512 ≈ 2,5 В),
// считаем датчик «замкнутым» и зажигаем светодиод.
if (value > 512) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
// Отправляем данные в Serial Monitor для наблюдения
Serial.println(value);
delay(100); // обновление 10 раз в секунду
}
6. Как работает код
analogRead()
преобразует напряжение на A5 (0–5 В) в число 0–1023.При замкнутом датчике на A5 ≈ 5 В → значение около 1023.
При разомкнутом — благодаря резистору 10 kΩ пин подтянут к GND → значение близкое к 0.
Порог 512 выбран посередине диапазона и надёжно разделяет два состояния.
7. Пошаговый запуск
Соберите схему по рисунку выше.
Подключите Arduino, выберите плату UNO и COM-порт.
Загрузите скетч. В Serial Monitor увидите значения с датчика.
Наклоните плату: когда датчик окажется «контактами вниз», LED загорится.
8. Что может пойти не так
Симптом |
Причина |
Решение |
---|---|---|
LED всегда горит |
Датчик постоянно замкнут (неверная ориентация) |
Поверните переключатель или уменьшите резистор подтяжки |
LED всегда погашен |
Нет надёжного контакта шарика |
Проверьте пайку, слегка постучите по датчику |
Значение «плавает» |
Датчик дребезжит при вибрациях |
Добавьте |
9. Эксперименты
Измените пороговое значение, чтобы LED загорался только при сильном наклоне (например,
>800
).Подайте сигнал на прерывание: вместо
analogRead
используйте цифровой вход и обработку прерыванийattachInterrupt
.Управляйте реле и включайте сирену, если устройство перевернули.