- Reed Switch
- Необходими компоненти
- Схема на Arduino Reed Switch
- Работа на Reed Switch с Arduino
- Обяснение на кода
Reed switch се използва в много от реалните приложения като магнитни превключватели на врати, лаптопи, смартфони и т.н. В тази статия научаваме за Reed Switch и ви насочваме към Интерфейс на Reed Switch с Arduino.
Reed Switch
Reed switch е основно електрически превключвател, който се задейства, когато се доближи магнитно поле до него. Той е изобретен от WB Ellwood през 1936 г. в лабораториите за звънци. Състои се от две малки метални парчета, държани във стъклена тръба под вакуум. В типичен тръстиков превключвател два метални парчета ще бъдат направени от феромагнитен материал и покрити с родий или рутений, за да им осигурят дълъг живот. В ключа ще се активира, когато има наличие на магнитно поле около ключа.
Стъклената обвивка на двете метални парчета ги предпазва от мръсотия, прах и други частици. Рийд превключвателят може да работи във всякаква среда, като среда, в която има запалим газ или среда, в която корозията би повлияла на отворени контакти на превключвателя.
Има два вида тръстикови превключватели.
- Нормално отворен тръстиков превключвател
- Нормално затворен тръстиков превключвател
В нормално отворен тръстиков превключвател ключът е отворен при липса на магнитно поле и е затворен в присъствието на магнитно поле. При наличието на магнитно поле два метални контакта вътре в стъклената тръба се привличат, за да осъществят контакт.
В нормално затворен тръстиков превключвател ключът е затворен при липса на магнитно поле и е отворен в присъствието на магнитно поле.
Приложения на Reed switch
- Използва се при телефонна централа
- В лаптопите за поставяне на екрана в режим на заспиване, ако капакът е затворен
- Използва се в датчици за прозорци и врати в алармена система
Необходими компоненти
- Arduino Uno
- Рийд ключ
- Резистори
- LED
- Магнит
- Свързващи проводници
Схема на Arduino Reed Switch
Работа на Reed Switch с Arduino
Arduino Uno е платка за микроконтролер с отворен код, базирана на микроконтролер ATmega328p. Той има 14 цифрови пина (от които 6 пина могат да се използват като ШИМ изходи), 6 аналогови входа, бордови регулатори на напрежение и др. Arduino Uno има 32KB флаш памет, 2KB SRAM и 1KB EEPROM. Той работи с тактова честота 16MHz. Arduino Uno поддържа серийна, I2C, SPI комуникация за комуникация с други устройства. Таблицата по-долу показва техническата спецификация на Arduino Uno.
Микроконтролер |
ATmega328p |
Работно напрежение |
5V |
Входен волтаж |
7-12V (препоръчително) |
Цифрови I / O щифтове |
14. |
Аналогови щифтове |
6 |
Флаш памет |
32KB |
SRAM |
2KB |
EEPROM |
1KB |
Тактова честота |
16MHz |
За да свържем тръстовия превключвател с Arduino, трябва да изградим верига за разделяне на напрежението, както е показано на фигурата по-долу. Vo е + 5V, когато ключът е отворен и 0V, когато ключът е затворен. В този проект използваме нормално отворен тръстиков превключвател . Превключвателят е затворен в присъствието на магнитно поле и е отворен при липса на магнитно поле.
Обяснение на кода
Пълният код за този проект на Arduino Reed Switch е даден в края на тази статия. Кодът е разделен на малки смислени парчета и е обяснен по-долу.
В тази част на кода трябва да дефинираме щифтове, на които Reed превключвател и LED, който е свързан с Arduino. Рид превключвателят е свързан към цифров щифт 4 на Arduino, а светодиодът е свързан към цифров щифт 7 на Arduino чрез резистор за ограничаване на тока. Променливата “reed_status” се използва за задържане на състоянието на тръстовия превключвател.
int LED = 7; int reed_switch = 4; int reed_status;
В тази част на кода трябва да зададем състоянието на щифтовете, на които е свързан светодиодният и тръстиковият превключвател. Пин номер 4 е зададен като вход, а пин номер 7 е зададен като изход.
void setup () { pinMode (LED, OUTPUT); pinMode (reed_switch, INPUT); }
След това трябва да прочетем състоянието на тръстовия превключвател. Ако е равно на 1, превключвателят е отворен и светодиодът е изключен. Ако е равно на 0, превключвателят е затворен и трябва да включим светодиода. Този процес се повтаря всяка секунда. Тази задача се изпълнява с тази част от кода по-долу.
невалиден цикъл () {reed_status = digitalRead (reed_switch); if (reed_status == 1) digitalWrite (LED, LOW); иначе digitalWrite (LED, HIGH); забавяне (1000); }
Както видяхте много лесен за използване Reed Switch с Arduino.