Руководство по датчику наклона (инклинометру) с Arduino
В этой статье показано, как использовать модуль датчика наклона с Arduino. Датчик наклона часто называют инклинометром, переключателем наклона или датчиком с шариком. Использование датчика наклона — это простой способ обнаружения ориентации или наклона.
Знакомство с модулем датчика наклона
Модуль датчика наклона показан на следующем рисунке.
Датчик наклона позволяет определять ориентацию или наклон. Он обнаруживает, находится ли датчик в полностью вертикальном положении или наклонён.
Это делает его очень полезным для использования, например, в игрушках, роботах и других устройствах, методология работы которых зависит от наклона.
Как это работает?
Датчик наклона имеет цилиндрическую форму и содержит внутри свободно перемещающийся проводящий шарик с двумя проводящими элементами (полюсами) внизу.
Вот как это работает:
Когда датчик находится полностью в вертикальном положении, шарик падает на дно датчика и замыкает полюса, позволяя току протекать.
Когда датчик наклонён, шарик не касается полюсов, цепь разомкнута, и ток не протекает.
Таким образом, датчик наклона работает как переключатель, который включается или выключается в зависимости от его наклона. Поэтому он передаёт Arduino цифровую информацию — либо сигнал HIGH, либо LOW.
Где купить?
Вы можете перейти на Maker Advisor и найти лучшую цену на датчик.
Подключение выводов
Подключение датчика наклона к Arduino выполняется довольно просто. Вам нужно только подключить один вывод к цифровому пину Arduino, а GND — к GND.
Если вы подключаете датчик таким образом, необходимо активировать внутренний подтягивающий резистор Arduino для цифрового пина, к которому подключён датчик. В противном случае следует использовать внешний подтягивающий резистор номиналом 10 кОм в вашей цепи.
Пример: Светодиод, чувствительный к наклону
Это простой пример, который поможет вам начать работу с датчиком наклона.
В этом примере светодиод будет выключен, если датчик находится в вертикальном положении, и будет включён, если датчик наклонён.
Необходимые компоненты
Arduino UNO — ознакомьтесь с Лучшие стартовые наборы Arduino
Вы можете использовать ссылки выше или перейти непосредственно на MakerAdvisor.com/tools, чтобы найти все детали для ваших проектов по лучшей цене!
Схема подключения
Для этого примера вам нужно просто добавить светодиод к схеме из раздела «Подключение выводов».
Код
Чтобы выполнить этот пример, загрузите следующий код на вашу плату Arduino.
/*
* Rui Santos
* Complete Project Details https://randomnerdtutorials.com
*/
int ledPin = 12;
int sensorPin = 4;
int sensorValue;
int lastTiltState = HIGH; // the previous reading from the tilt sensor
// the following variables are long's because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long lastDebounceTime = 0; // the last time the output pin was toggled
long debounceDelay = 50; // the debounce time; increase if the output flickers
void setup(){
pinMode(sensorPin, INPUT);
digitalWrite(sensorPin, HIGH);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop(){
sensorValue = digitalRead(sensorPin);
// If the switch changed, due to noise or pressing:
if (sensorValue == lastTiltState) {
// reset the debouncing timer
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
// whatever the reading is at, it's been there for longer
// than the debounce delay, so take it as the actual current state:
lastTiltState = sensorValue;
}
digitalWrite(ledPin, lastTiltState);
Serial.println(sensorValue);
delay(500);
}
Демонстрация
В итоге вот что у вас получится.
Заключение
Надеемся, что эта статья была для вас полезной.
Если вы хотите узнать больше о датчиках для Arduino, обязательно ознакомьтесь со следующими руководствами:
Спасибо за чтение.