Привет! Сегодня сделаем обзор на датчик наклона KY-027. И соберем простую схему для реализации сообщающихся сосудов для света. Звучит интригующе не так ли? На самом деле, все очень просто и для такой схемы в Ардуино есть специальные датчики.
Содержание
- 1 Для выполнения этого урока нам понадобятся
- 2 Датчик наклона KY-027
- 3 Полный текст программы
- 4 Заключение
- 5 Где купить
На самом дела все просто. Датчик наклона KY-027 это сразу два модуля состоящих из светодиода и ртутного ключа. И, если светодиод горит, то на контакт вывода будет отправлен сигнал. Второй светодиод, соответственно будет выключен этим управляющим сигналом.
Для выполнения этого урока нам понадобятся
- Ардуино UNO
- Макетная плата
- Перемычки
- Модуль KY-027
- Кабель USB
Датчик наклона KY-027
В основе модуля KY-027 лежит колба с двумя электродами и капелькой ртути, при наклоне капелька ртути либо замыкает электроды, либо размыкает.
Так же модуль имеет светодиод с отдельным пином для управления.
В программе будем проверять состояние контакта вывода состояния с первого датчика. И, если он равен 1, то будем увеличивать яркость светодиода. То же самое проделаем для второго датчика. Если колбы с ртутью будут установлены параллельно столу или земле, то датчики должны работать синхронно.
Полный текст программы
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);
analogWrite(ledPinB, 255 - brightness);
delay(20);
}
Заключение
Мы рассмотрели датчик наклона KY-027 и его подключение к Ардуино. Такой датчик может служить для индикации наклона на дронах или других устройствах. Для большей наглядности, мы можем подключить серводвигатель к контактам датчика и наклонять поверхность автоматически. Тогда при максимальной яркости на первом датчике, серводвигатель будет наклонять поверхность ко второму датчику и наоборот. Попробуем использовать его в наших проектах в будущем.
Спасибо, что дочитали статью до конца.
Пожалуйста, подписывайтесь на блог в яндекс дзен, ставьте лайки и пишите комментарии.
Посмотрите больше уроков и проектов на сайте arcadepub.ru
И подписывайтесь на соц. сети.
Спасибо за внимание, скоро увидимся.
Другие интересные статьи
Ардуино. Урок 7. Язык программирования Processing
Ардуино. Урок 6. RGB светодиод
Ардуино. Урок 5. Широтно импульсная модуляция
С чего начать знакомство с Ардуино