Создаем свое фотореле и даже больше - супер, мега, фото реле с блэкджеком и ш... с покером и куртизанками.
Часть I Три проводочка
После моего Обзора на фотореле Duwi 25870_4 и выводов которые были сделаны: "не имеет смысла модернизировать, работает и ладно" Попытаемся сделать свое супер фотореле из ESP8266 и фоторезистора
Будем подключать фоторезистор к модулю ESP, в данном конкретном случае будем подключать к аналоговому выходу ESP-12 ADC (а именно к адаптеру для ESP-12)
У меня фоторезистор GL5528 покупал конечно на Ali, сразу 20 штук
Характеристики GL5528
- Сопротивление освещенности: 10K - 20k Ом
- Сопротивление темноты: 1M Ohm
- Максимальное напряжение (DC): 150V
- Максимальная потребляемая мощность: 100 мВт
- Спектральный пик: 540нм
(!) При подключении помним, что аналоговые входы (ADC) ESP8266 имеют диапазон входного напряжения 0-1 В, и выдают диапазон значений 0-1023
Со схемами для ESP в интернете полный бардак
Вы можете встретить везде вот такую или похожую (см. ниже) схему подключение фоторезистора. Но у меня она не заработала!
Вот такую схему в интернете.
Вот еще одна схема, похожая на верхнюю, перевернут плюс и минус
Более менее работает такая схема, но показатели при сильном освещении зашкаливает т.е . выдает постоянно 1024, например если поднести экран телефон на минимальной яркости близко к фоторезистору и это не есть хорошо. Резистор 200 Ом для защиты порта на всякий случай.
Все осложняется еще и тем что питание у нас на ESP 3,3 вольта, а везде схемы для Ардуины т. е. для 5 вольт, но это не самое главное. Дела в том, что на порт ADC ESP8266 мы должны подать напряжение не больше 1 вольта (см. выше)
По расчётам для резисторного делителя напряжения нужно добавить еще одно сопротивление (плечо) 4,7KOm - но нет, не работает! Видимо все дело в нелинейности сопротивления фоторезистора. Методом тыка нашел сопротивление которое лучше всего работает, это 4,4KOm (не самый распространённый номинал по крайне мере у меня среди DIP и SMD таких не оказалось и я соединил два резистора по 2,2KOm). Практически вся шкала от 0-1024 занята. На самом деле у меня получилось от 15, если светит фонариком от телефона прямо на фоторезистор до 1024 еще не полная темнота, так сумерки. Лучше не получилось видимо нужно использовать подстроченный резистор.
Вот моя рабочая схема
Теперь переходим к практике. Спаяем все это!
Назначение проводов и деталей.
Быстрее закроем весь этот ужас термоусадкой!
Теперь подпаяем все к модулю (адаптеру) ESP-12
Быстрее подключаем к компьютеру загружаем IDE Arduino и копируем этот скетч
// Подключение фоторезистора
int PinLed=2;// GPIO2(Led светодиод) на плате ESP-12
int PinPhoto=A0;// Аналоговый вход
void setup() {
Serial.begin(9600);
pinMode(PinLed, OUTPUT);
digitalWrite(PinLed, LOW);
}
void loop() {
int val = analogRead(PinPhoto);
Serial.println(val);
if (val < 500) {
digitalWrite(PinLed, LOW);
} else {
digitalWrite(PinLed, HIGH);
}
}
Открываем монитор COM порта и смотрим как бегут циферки.
Вот что у меня получилось.
- от 10 до 400 – яркий свет;
- от 400 до 800 – приглушённый свет;
- от 800 до 1000 – сумерки;
- от 1000 до 1023 – сумерки чуть темнее, типа темнота.
"Ну и чо": скажите Вы. Ну бегут циферки, проку то от них! И будите абсолютно правы! Поэтому мы переходим к прошивки модуля ESP-12 прошивкой ESP Easy на эту тему отдельная статья: "Делаем ESP по настоящему умной (прошивка "ESP Easy" первое знакомство, ESP Easy Flasher или как прошить ESPшку)"
Продолжение следует ...