Arduino jogurt maker

Autor: Mitja Breznik

 

Vedno bolj pomembno postaja kakšen izvor imajo živila, ki jih jemo. Vedno več  ljudi se odloča za samozadostnost. V naslednjem vodiču boste spoznali, kako izdelati jogurt maker z Arduino, nekaj elektronskih komponent ter kuhinjskih pripomočkov. Preden se odločite za nakup komercialnega izdelka, izboljšate naš prototip ali pa vas miselnost po samozadostnosti mine.

 

Koncept:

 

Za izdelavo jogurta mora temperatura mleka z »dodatki« doseči temperaturo 38-42°C za določeno število ur. Za dovajanje toplote poskrbi močnostni upor, ki je pritrjen na grelno ploščo (aluminijasto ploščo z dodanimi podstavki). Temperaturo pa Arduino zaznava prek linearnega analognega temperaturnega senzorja. Odlika tega senzorja je preprostost zaznave. Prek dveh konektorjev dovajano napetost, prek srednjega pina pa beremo napetost, ki jo je mogoče preračunati v temperaturo.

 

Za model (MCP9701-E) velja:

 

Priporočamo močnostni upor namenjen za moč 10W ali več, upoštevati je treba, da je napajalnik sposoben zagotoviti potrebno moč. Pri manjših močeh poskrbite za dobro izolacijo posode, drugače zadostna temperatura ne bo dosežena.

 

 

Kako izračunati potrebno upornost močnostnega upora:

 

 

Za krmiljenje močnostnega upora uporabimo n mos-fet tranzistor. To je tip tranzistorja, ki ga preprosto napetostno krmilimo. Na gate (vrata) prek Arduino se pojavi napetost, tranzistor prevaja. Ko pa je med gate in source napetost blizu 0, pa tranzistor ne prevaja.

 

 

Grelne plošča (komponente prilepljene s »sekundnim« lepilom): 

 

 

   

Shema: 

 

 

Programska koda:

 

 

 float temperatura=38; //mejna temperatura do katere lahko segrevamo

 int temperatura_analog=int((0.4+temperatura*0.0195)/5*1024); //preračun iz napetosti v AD vrednost

 

 unsigned long cas = 21600000; //šest ur preračunanih v milisekunde 6*3600*1000

 

 

 

void setup() {

 

 

  pinMode(3, OUTPUT); //izhod namenjen krmiljenju grelca

   pinMode(13, OUTPUT);  //led dioda na Arduino

 

}

 

void loop() {

 

 

  if(analogRead(3)<temperatura_analog && millis()<cas) //v primeru da je temperatura nižja od mejne temperature in še ni potekel čas

 {

   digitalWrite(3, HIGH);   //vklopi grelec

 digitalWrite(13, HIGH);}   //vklopi signalno lučko na Arduino

 

  else         

 { digitalWrite(3, LOW);    // izklopi grelec

  digitalWrite(13, LOW);}

 

 delay(500);

 

 

}

 

 

 

Dodatne zamisli:

 

1) Podatke o temperaturi in času trajanja procesa lahko pošiljate prek USB kabla s Serial knjižnico na računalnik in jo spremljate v

 

Dodatna koda:

 

void setup() {

...

    Serial.begin(9600); // inicializacija serijske povezave

}

 

void loop() {

Serial.println(temperatura);  // pošljemo spremenljivko, ki hrani vrednost temperature

...

 

}


V tem primeru se bo Arduino napajal prek računalnika in je priporočljivo odklopiti Vin z napajanjem napajalnika. Povezava GND z –napetostjo napajalnika ostane.

 

 

2) Arduino lahko dodate LCD zaslon ali nekaj LED diod prek katerih prikazujete za proces pomembne podatke.