Плата Arduino на сегодняшний день стала настолько популярной, что уже широко используется в быту. С ее помощью можно не только сделать систему домашней автоматизации или сигнализацию с GSM, но и починить холодильник.
Одной из распространенных проблем старых холодильников является поломка термостата, то есть того прибора, который отслеживает температуру в холодильной камере. Его выход из строя приводит к тому, что холодильник может постоянно работать вхолостую, то есть не охлаждая камеру, а может и вовсе не включаться. Конечно, в этом случае не хочется покупать новый холодильник, да и фирменный термостат стоит недешево, поэтому такой сломанный холодильник проще отремонтировать, сделав самостоятельно термостат с управляющим элементом на основе Arduino Uno.
В первую очередь нужно отключить и убрать сломанный термостат. Вот так он может выглядеть:

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

В качестве датчика температуры можно использовать интегральный датчик LM335. Он очень дешевый, но, несмотря на его низкую цену, он в то же время достаточно точный, и подходит для большинства бытовых приложений. В холодильнике его можно спрятать за охлаждающий элемент.

Для более удобного доступа к Arduino с целью его перепрограммирования можно вывести разъем USB наружу, например, там, где была ручка регулирования температуры.

Ниже представлен код для работы холодильного термостата на основе Arduino. Реле подключается на цифровой порт 4, значение датчика температуры LM335 считывается с аналогового порта A0. Для индикации состояния также можно подключить светодиод на цифровой порт 13.
int t;
int relayPin = 4;
int ledPin = 13;
float tk;
float tc;
float tcset;
float tcdelta;
int relayState;
void setup() {
tcset=6.0;
tcdelta=1.5; // 4.14--7.55
pinMode(relayPin, OUTPUT);
pinMode(ledPin, OUTPUT);
turnCompressorOn();
}
void loop() {
t=analogRead(0);
tk = t * 0.004882812 * 100;
tc = tk - 2.5 - 273.15;
if (tc>(tcset+tcdelta) && isCompressorOff()){
turnCompressorOn();
} else if (tc<(tcset-tcdelta) && isCompressorOn()){
turnCompressorOff();
}
delay(30*1000);
}
void turnCompressorOn(){
relayState=LOW;
digitalWrite(relayPin,relayState);
digitalWrite(ledPin,!relayState);
}
void turnCompressorOff(){
relayState=HIGH;
digitalWrite(relayPin,relayState);
digitalWrite(ledPin,!relayState);
}
boolean isCompressorOff(){
return (relayState==HIGH);
}
boolean isCompressorOn(){
return !isCompressorOff();
}
Таким образом, отремонтировать холодильник своими руками при поломке термостата не так уж и сложно, как кажется на первый взгляд. Но если вы не уверены в своих действиях, или поломка холодильника носит куда более серьезный характер, то желательно обратиться к специалистам. Например, не нужен ремонт холодильников в Екатеринбурге. Но, в любом случае, данный проект доказывает, что плата Arduino может с успехом применяться в бытовых приложениях.