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

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Pixel Art Mini Meow Animated.gif Черновик


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

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

Описание

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

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

Reed-switch-label.jpg

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

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

Magnetic reed switch howitworks.jpg

Скетч

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

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

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

Схема

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

Magnetic-contact-switch bb-1.png

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

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

 1 /*
 2   
 3 Автор – Руи Сантос (Rui Santos)
 4 Более подробно о проекте на: http://randomnerdtutorials.com/
 5  
 6 */
 7 
 8 int ledOpen=8;
 9 int ledClose=10;
10 int switchReed=6;
11 
12 void setup(){
13   pinMode(ledOpen, OUTPUT);
14   pinMode(ledClose, OUTPUT);
15   pinMode(switchReed, INPUT);
16   Serial.begin(9600);
17 }
18 
19 void loop(){
20   
21   if (digitalRead(switchReed)==HIGH){
22     digitalWrite(ledOpen, LOW);
23     digitalWrite(ledClose, HIGH);
24     Serial.println("Your Door is Closed");  //  "Дверь закрыта"
25   }
26   else {
27     digitalWrite(ledOpen, HIGH);
28     digitalWrite(ledClose, LOW);
29     Serial.println("Your Door is Open");  //  "Дверь открыта"
30   }
31   delay(1);
32 }

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

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

Видео

См.также

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