Arduino:Примеры/Гайд по использованию геркона вместе с Arduino

Материал из Онлайн справочника
Версия от 10:05, 15 апреля 2017; Myagkij (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Черновик


Гайд по использованию геркона вместе с Arduino[1]

Эта статья объясняет, как пользоваться магнитным переключателем «герконом» (это сокращение от «герметичный контакт»). Кроме того, я вкратце опишу, что это за устройство, как оно работает и расскажу о проекте, в котором геркон используется вместе с платой Arduino.

Описание

Геркон – это переключатель, помещенный в пластиковый корпус. Благодаря этому его можно без особого труда прикрепить к двери, окну или ящику письменного стола, чтобы определять, закрыты ли они или нет.

Переключатель, которым мы воспользуемся, состоит из двух частей: самого переключателя и магнита. В комплекте с переключателем, как правило, идут 4 крепежных шурупа.

Как это работает?

Все очень, очень просто. Если рядом есть магнит (как минимум, в 13 мм), то электрическая цепь замыкается. Если магнит убрать, то цепь размыкается. Подробнее смотрите на рисунке ниже.

Скетч

В этом проекте мы сделаем так, что если дверь будет открыта, будет гореть красный светодиод, а если закрыта – зеленый светодиод.

Нам понадобятся следующие компоненты:

  • Один магнитный переключатель (см. на eBay)
  • Одна плата Arduino (см. на eBay)
  • Один зеленый светодиод
  • Один красный светодиод
  • Два резистора на 220 Ом
  • Один резистор на 10 кОм
  • Одна макетная плата

Схема

Все эти компоненты надо подключить друг к другу как показано на картинке ниже:

Загрузка кода

Загрузите на Arduino код, показанный ниже:

/*
  
Автор – Руи Сантос (Rui Santos)
Более подробно о проекте на: http://randomnerdtutorials.com/
 
*/

int ledOpen=8;
int ledClose=10;
int switchReed=6;

void setup(){
  pinMode(ledOpen, OUTPUT);
  pinMode(ledClose, OUTPUT);
  pinMode(switchReed, INPUT);
  Serial.begin(9600);
}

void loop(){
  
  if (digitalRead(switchReed)==HIGH){
    digitalWrite(ledOpen, LOW);
    digitalWrite(ledClose, HIGH);
    Serial.println("Your Door is Closed");  //  "Дверь закрыта"
  }
  else {
    digitalWrite(ledOpen, HIGH);
    digitalWrite(ledClose, LOW);
    Serial.println("Your Door is Open");  //  "Дверь открыта"
  }
  delay(1);
}

Демонстрация

Ниже – видео, показывающее, как работает этот проект:

Видео

См.также

Внешние ссылки