В основе модуля KY-027 лежит колба с двумя электродами и капелькой ртути, при наклоне капелька ртути либо замыкает электроды, либо размыкает. Так же модуль имеет светодиод с отдельным пином для управления. Такой датчик может служить для индикации наклона на дронах или других устройствах. Для большей наглядности, мы можем подключить серводвигатель к контактам датчика и наклонять поверхность автоматически. Тогда при максимальной яркости на первом датчике, серводвигатель будет наклонять поверхность ко второму датчику и наоборот. Попробуем использовать его в наших проектах в будущем.
int ledPinA = 9;
int switchPinA = 8;
int switchStateA = 0;
int ledPinB = 6;
int switchPinB = 7;
int switchStateB = 0;
int brightness = 0;
void setup()
{
pinMode(ledPinA, OUTPUT);
pinMode(ledPinB, OUTPUT);
pinMode(switchPinA, INPUT);
pinMode(switchPinB, INPUT);
}
void loop()
{
switchStateA = digitalRead(switchPinA);
if (switchStateA == HIGH && brightness != 255)
{
brightness ++;
}
switchStateB = digitalRead(switchPinB);
if (switchStateB == HIGH && brightness != 0)
{
brightness --;
}
analogWrite(ledPinA, brightness); // A slow fade out
analogWrite(ledPinB, 255 - brightness); // B slow bright up
delay(20);
}
Daniel Frolov TA-20V