Датчик 220В для Arduino

Раз уж наша Arduino умеет работать автономно, не мешало бы узнать, есть ли электричество в сети.

Тут все просто, понадобится старое зарядное устройство от телефона и кабель USB. Принцип действия – элементарный, втыкаем зарядное устройство в розетку, оно дает 5 вольт, т.е. датчик активен. Вынимаем зарядное устройство из розетки, пяти вольт нет – датчик пассивен.

Важно! Сначала вы включаете Arduino и только потом втыкаете зарядное устройство (датчик 220В) в розетку. И наоборот: сначала вынимаете зарядку, а потом выключаете Arduino.

От USB кабеля безжалостно отрезаем конец со штекером miniUSB (тот, который втыкается в телефон) и зачищаем контакты. Нам нужны только два – черный (земля) и красный (+5В). К контактам припаиваем маленькие штекеры, чтобы можно было воткнуть в разъемы Arduino. Красный провод втыкаем в любой цифровой порт (на Arduino Uno 0-13), черный в землю (GND). Подтягивающий резистор ставить не нужно, он, как правило, есть в зарядном устройстве.

Пример кода, определяющий наличие 220 Вольт в сети:


int power_status; //Датчик 220В: 1 - Напряжение есть, 0 - Напряжения нет
void setup() {
Serial.begin(115200);
pinMode(1, INPUT); // Определяем пин датчика 220В
} void loop() {
power_status = digitalRead(1); // Считываем показания
if (power_status == 1) {
Serial.println("Напряжение в сети 220В");
} else {
Serial.println("Напряжение в сети 0В");
} delay(5000); }

Такой датчик без сбоев проработал у меня несколько лет. Нареканий нет.

11.01.2020