
Everyone knows that
yogurt is a very useful product, and besides, tasty. Under the cut a small story about how I decided to make a yogurt maker, a little photo and a sketch.
Wandering around the Internet, I came across such an interesting thing as a yogurt maker. My wife loves yogurt and often buys it. I read the profile site, was inspired. Inspired by the very idea that it can be easily prepared at home, and it will turn out even more useful than the store. After reading several reviews and comparisons, my wife and I decided to buy the “Moulinex YG230 YOGURTEO”. But bad luck - the city is small and we simply could not find it for sale. They wanted to make out for the order and it dawned on me.
What is yogurt maker? Roughly speaking - the device to maintain a certain temperature for a certain time. It's easy, why not do it yourself? Of course! Just in the nightstand for half a year already lies idle arduino. I repent, a sinner, forgive me the gurus of microcontrollers, but I am far from that. I did not have the need and time to study the programming of microcontrollers, so, for the sake of interest, I bought an arduine, blinked an LED, put it in the nightstand and forgot. And so, I had a chance to explain to my wife “why I buy all this rubbish, if he then still lies idle in the nightstand”.
In addition to arduin, we also need a DS18B20 thermal sensor and a solid-state relay. Describe how to combine all this, I think it makes no sense - more than once it was discussed on Habré and specialized sites.
I will cite only the sketch itself:#include <OneWire.h> OneWire ds(10); byte addr[8]; int active = true, ssrPin = 4, ledPin = 5; float millisecondsPerGradus, currentTemperature, cookingTemperature = 36.0; unsigned long totalWorkTime = 28800000; // 8 * 60 * 60 * 1000 void setup(void) { Serial.begin(9600); pinMode(ssrPin,OUTPUT); pinMode(ledPin,OUTPUT); while (true) { if (!ds.search(addr)) ds.reset_search(); else break; delay(250); } // digitalWrite(ssrPin, HIGH); delay(10000); digitalWrite(ssrPin, LOW); delay(1000); //, thermometer(); float startTemperature = currentTemperature; digitalWrite(ssrPin, HIGH); delay(30000); digitalWrite(ssrPin, LOW); delay(1000); thermometer(); millisecondsPerGradus = 1000.0 / ((currentTemperature - startTemperature) / 30.0); } float thermometer(void) { byte data[9]; while (true) { ds.reset(); ds.select(addr); ds.write(0x44,1); delay(1000); ds.reset(); ds.select(addr); ds.write(0xBE); for (byte i = 0; i < 9; i++) data[i] = ds.read(); currentTemperature = (float)((data[1] << 8) | data[0]) / 16.0; if (currentTemperature != 85.00) break; } //Serial.println(currentTemperature); } void loop(void) { if (!active) { delay(5000); return; } if (millis() > totalWorkTime) { // digitalWrite(ledPin, HIGH); active = false; return; } thermometer(); unsigned long delayTime; if (currentTemperature >= cookingTemperature) { delay(1000); return; } else if (currentTemperature > cookingTemperature - 2.0){ // , delayTime = millisecondsPerGradus * ((cookingTemperature - currentTemperature)/3.0); } else { // delayTime = millisecondsPerGradus; } digitalWrite(ssrPin, HIGH); delay(delayTime); digitalWrite(ssrPin, LOW); delay(1000); }
Temperature and time were chosen experimentally, not one can of yogurt was spoiled. As a result, he agreed that it was necessary to cook for eight hours (I put up for the night) at a temperature of 36 degrees. Everywhere they write that the temperature should be 38-40 degrees, but at such a temperature for eight hours the yogurt sour (stratified), and for five hours (before the start of stratification), it seemed to me that the yogurt did not have time to insist and turned out even though thick but not so tasty. By the way, the accuracy of DS18B20 pleasantly surprised me, compared it with a mercury thermometer - the difference was only 0.2-0.3 degrees. The LED indicates the end of cooking (this is arduino, it must blink the LED in any project of any complexity).
And now the photos:

“I blinded him from what was,” a relay with a radiator for a sickly boiler is certainly strong. The relay and without a radiator does not heat up, but in order not to lose the radiator - put the relay along with it.

Boiler, thermal sensor and "mixer" so that the water temperature was the same at any point.

The appearance of course with the "Moulinex YG230 YOGURTEO" is no match, but with your own hands, from improvised means, on the knee.

The wife took the pot, now the yogurt maker looks like this.

On yogurt, I take milk of 3.2% fat (2.5% yogurt comes out watery). Sourdough can be bought at the pharmacy, for example Evitalia, but I prefer Activia or Actimel, yogurt turns out to be dense and uniform, two teaspoons for such a jar is enough.


Ready yogurt. Already a spoon worth it! Well, almost worth it.

Serving option.
')
Health to you and your loved ones!
PS: Surprise your girlfriend, serve homemade yogurt for breakfast. As they say - the best gift is a gift made by yourself. Yogurt for a gift, of course, does not pull, but the girl will appreciate your care and attention.