Temper
Posted: 27. May 2010 12:10
ég hef verið að pæla í hitamælum og automation á hluta af bruggferlinu. hef ekki viljað fara í ardúnú eða svoleiðis, á nóg af tölvum til að nota við stýringar.
datt niður á hitamæla á netinu fyrir usb,

pantaði mér síðan af ebay.
gerði nátturlega ekkert í því fyrr en núna, þegar ég breytti gerjunarskápnum í keggerator.
pælingin var að búa til relay controller úr usb lyklaborði. þá gæti ég notað caps lock, numlock og scroll lock til að stýra relay. nota síðan þessa usb hitamæla til að nema hitann.
nema hvað. ég riggaði upp litlu forriti til að halda utan um hitamæla og relay í gær. datt í hug að sýna ykkur nokkrar skjámyndir. þetta ætti að útskýra sig sjálft. notaði c#, sem er víst voðalega gott, ég hefi meira forritað í c/c++ og java. en maður verður að vera opinn fyrir nýjungum (yeah, right).
til gamans má geta þess að ég missti relay controllerinn sem ég var búinn að smíða úr lyklaborði ofaní kælingarfötuna, þannig að ég þarf að búa til annan.
hveitibjórinn er því að malla í 19°C í stað 16°.
blátt er fyrir kælingu, rautt fyrir hitun og hvítt fyrir NOP eða bara hitamælingu

hægt að sjá logg yfir hvað er gert

í stillingum er hægt að tilgreina csv skrá svo hægt sé að greina hitamynstrið í tætlur með excel. einnig screensaver mode til að brenna ekki skjáinn þegar þetta fer í action og hvað mælingar eru örar.

ég nennti ekki að hafa þetta flókið í fyrstu umferð, svo það er bara hægt að setja upp 3 "unit", þeas, hitamælir + relay og stilla saman. Min off og max on er svo að maður stúti ekki kælipressum á ísskáp ef eitthvað fer úrskeiðis.

ég fann síðan control á netinu til að sýna einfalt graf af því sem hefur gerst. en auðvitað er best að gera það bara í excel

og í excel

fyrir forritunarnördana, þá eru hitamælarnir og relayin klasar sem útfæra interface. klasarnir eru síðan hlaðnir upp á keyrslutíma. þannig að til að bæta við hitamæli, þá er þetta útfært:
dæmi
og svipað fyrir relayin
datt niður á hitamæla á netinu fyrir usb,

pantaði mér síðan af ebay.
gerði nátturlega ekkert í því fyrr en núna, þegar ég breytti gerjunarskápnum í keggerator.
pælingin var að búa til relay controller úr usb lyklaborði. þá gæti ég notað caps lock, numlock og scroll lock til að stýra relay. nota síðan þessa usb hitamæla til að nema hitann.
nema hvað. ég riggaði upp litlu forriti til að halda utan um hitamæla og relay í gær. datt í hug að sýna ykkur nokkrar skjámyndir. þetta ætti að útskýra sig sjálft. notaði c#, sem er víst voðalega gott, ég hefi meira forritað í c/c++ og java. en maður verður að vera opinn fyrir nýjungum (yeah, right).
til gamans má geta þess að ég missti relay controllerinn sem ég var búinn að smíða úr lyklaborði ofaní kælingarfötuna, þannig að ég þarf að búa til annan.
blátt er fyrir kælingu, rautt fyrir hitun og hvítt fyrir NOP eða bara hitamælingu
hægt að sjá logg yfir hvað er gert
í stillingum er hægt að tilgreina csv skrá svo hægt sé að greina hitamynstrið í tætlur með excel. einnig screensaver mode til að brenna ekki skjáinn þegar þetta fer í action og hvað mælingar eru örar.
ég nennti ekki að hafa þetta flókið í fyrstu umferð, svo það er bara hægt að setja upp 3 "unit", þeas, hitamælir + relay og stilla saman. Min off og max on er svo að maður stúti ekki kælipressum á ísskáp ef eitthvað fer úrskeiðis.
ég fann síðan control á netinu til að sýna einfalt graf af því sem hefur gerst. en auðvitað er best að gera það bara í excel
og í excel
fyrir forritunarnördana, þá eru hitamælarnir og relayin klasar sem útfæra interface. klasarnir eru síðan hlaðnir upp á keyrslutíma. þannig að til að bæta við hitamæli, þá er þetta útfært:
Code: Select all
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace info.obak.temper.thermometer
{
public interface IThermometer
{
double GetTemp();
double GetCalibratedTemp();
}
}
Code: Select all
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace info.obak.temper.thermometer
{
class VirtualThermometer : Thermometer, IThermometer
{
Random rand = new Random();
static decimal current = 20.0M;
public override double GetTemp()
{
decimal delta = 2.0M - (decimal)(4 * rand.NextDouble());
current = current + delta;
return (double)current;
}
}
}
Code: Select all
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace info.obak.temper.relay
{
public interface IRelay
{
void TurnOn();
void TurnOff();
bool IsOn();
}
}
