Grower.cz je největší autorita v oblasti pěstování konopí na českém i slovenském internetu. Veškeré sekce jsou přístupné pro anonymní čtení. Pokud se nespokojíš s pouhou návštěvou a chceš se aktivně zapojit do diskusí ve fóru a na chatu, odpovídat na inzeráty a šifrovaně komunikovat s tisíci dalších pěstitelů soukromými vzkazy anebo se pochlubit svou fotogalerií - Registruj se! - Získáš inspiraci i cenné rady!
Tomu se říká kalibrace, nebo taky cejchování. V podstatě si zvolíš nějakou referenční teplotu ( vlhkost ) tak, že vezmeš nějaký přesnější teploměr ( vlhkoměr ) a až na něm bude např. 25°C ( u vlhkosti třeba 60% ), tak odečteš pomocí programu frekvenci na jednom ze vstupů portu COM1 ( např. DSR nebo CTS ). Pak to samé zopakuješ pro další teplotu ( vlhkost ), např. 40°C. a odečteš frekvenci. Získáš tak dva body, každý určený teplotou a frekvencí, viz obr. ... Z toho získáš funkci popisující změnu frekvence v závislosti na teplotě a tuhle funkci si napíšeš do svýho programu pro měření ...
takhle může vypadat funkce, která bude měřit frekvenci na vstupu DSR a CTS:
function Frekvence (Kanal: Integer): Real;
var citac, stary, vstup : Integer;
begin
citac := 0;
RealTime(true);
Case Kanal of
1: begin
stary:=DSR;
TimeInit;
while TimeRead < 100 do
begin
vstup := DSR;
if vstup > stary then citac := citac +1;
stary := vstup;
end;
end;
2: begin
stary:=CTS;
TimeInit;
while TimeRead < 300 do begin
vstup := CTS;
if vstup > stary then citac := citac +1;
stary := vstup;
end;
end;
end;
Frekvence := citac;
Realtime(false);
end;
.. ještě jsem chtěl dodat, že v tomhle případě je nutno si sehnat knihovnu pro ovládání portu COM. Jinak je možno napsat program např. v C a zde si zařídit přístup k portu jinak ...
V pascalu sem si taky hrál s Com1, takže opráším své znalosti (nic jiného než pascal a html neumim) a zkusím. Možná, že bych to měl zvládnout i během zítřka nebo já se do toho pustím hned na nepájivém poli, nějaké vhodné součástky snad najdu (prubnu to s tou teplotou). Dík za pomoc.
Tak jsem se rozhodl, ze to taky zkusim... No a zjistil jsem ze je to docela problematicky... Prozatim jsem se rozhod pro stavbu prototypu v. 0.111 beta ... Prozatim to bude zrejme starsi "ICEBOX" se 150W SHC lampou... Jako obsluzne PC mam nejakou vykopavku ktera bezi asi na 400 MHz se 128 MB RAM, a 1,6 GB diskem + stara 2x CDROM a D-Link ethernet adapter ... S nainstalovanym RedHat Linux 8.0, ktery mimochodem slape na takovym stroji jako hodinky... Po postaveni teplotniho cidla a jeho pripojeni na RS232 jsem ale zjistil ze nemam zakladni znalosti jazyka C pro ovladani portu... Takze jsem nasel dalsi vykopavku, tentokrat sqelou 286 (200 MHz), 4 MB RAM, 2x36MB HDD a 3,5" Floppy... Na ktere je nejaka mutace IBM-MS-DOS... Naninstaloval Turbo Pascal a zacal tvorit... Sestavil jsem podle knizky "Vyuziti rozhrani PC" cidlo teploty, ktere ale nefungovalo zrovna dobre, takze nakonec pomohlo az sestaveni s doporucenym zapojenim k IO od vyrobce. Pomoci klasickeho skleneneho teplomeru, hrnce, snehu a horke vody jsem pak udelal nekolik referencnich hodnot, sestavil graf a zjistil ze je nelinearni... Proto take muj digitalni teplomer ma oproti normalnimu asi +- 0,7 °C rozdil oproti "analogu" a vychytavat uz se me to nechce... Nyni uz mam postavenej i "modul" ktery ma osm digitalnich vystupu... A v Pascalu napsanej program pro jeho ovladani... Tyto vystupy budou ovladat pomoci ruznych rele: lampu, ruzne bloky vetrani a mozna i zavlazovani ci snad zvlhcovani vzduchu ( ale to jsou jen plany do budoucna, zatim se spokojim s ovladanim lampy a vetranim/topenim po zmereni teploty)... A nyni k proooblemu: potreboval bych od nekoho zkuseneho growera s programovanim pod linuxem (jazyk C) poradit jak se ovlada port RS232, protoze rozhodne nechci nechat o kyti pecovat Mrkvosoft-DOS, krome toho pocitam s propojenim s domacim serverem abych mohl z pracovni stanice ovladat skrinku... V nejblizsi dobe se budu snazit nafotit, naskenovat atd. a podat presne informace a odkazy na zdroje...
Takze radte, patrejte, ptejte se, a hlavne piste...
Naposledy upravil kernelerror 17-03-2004 v 18:13 PM
2 pavsedl:
Jopodobnou "knihovnu" jsem napsal v Cpp pro Windows, potiz je v tom ze pod Linux Bude jina jediny rozumny pritup k portum ve WIn je pres API, a neni to tak tezky kdyz si to navrhujes sam. Jinak pro Delphy a Borland C++ Builder se daji sehna komponenty pro odesilani znaku, pro pristup k jednolivim bytum je programvoni slozitejsi ale kdyz na konec vystupu priradis (Nevim alekrikari by mne utloukli) mam pocit DeMultiplexor tak jsi za vodou a muzes poslila ridici znaky a mas razem osm vystupu
Omlouvam s za tu cast z temi Multiplexory cele forum se uz tak toci v kruho a ja jsem se v nem staril, takze jsem to jeste nemel prectnen cele sory pavsedl. Hele jinak pokud bys mel pak zajem muzu zde uverejnit nejak anastaveni a prycipy komunikace pod Windos. Pujde to i pod Delhama, neboj i kdyz jak jsem si zvykl na C, nechci Packal uz ani videt, ale bohuzel jsem ho nezapomel
tak uz dokazu ovladat mojeho "swaba" pod linuxem... hardware nejdriv otestovan v TURBO PASCALU pod DOSem - osm analogovych vystupu --- ctyri s moznosti spinani vysokych zatezi a ctyri jen na spinani 12 V vecicek (vetrani atd.) to vse galv. oddeleny od ovladaciho bloku... uz se me dela profi deska plosnych spoju pomoci osvitu a pak uz jenom osadit... jinak ted to na testovani programu je napajeny na kuprexitu jen tak a spina to 8 svitivejch diod... tak a ted k tomu programovani... takze v tom TPASCALu to slo jako po masle... vsechno fungovalo, ale ja to proste chtel pod Linux /duvody uz jsem v tomhle threadu psal/... jenze C neni zrovna jazyk ke kteremu clovek sedne a napise si program... takze po dlouhem surfovani jsem nasel FREE PASCAL pro Linux ve kterem se da naportovat a zkompilovat program skoro pro vsechny typy systemu a procesoru... takze jsem tam zkompiloval svuj kod z DOSovskyho TURBA, ale ejhle - v Linuxovym PASCALu chybi knihovny pro komunikaci s porty... Takze nakonec zvitezilo C...
Prvni krok - koupeni dvou dilu ucebnic C... No a tam je kapitolka Bitove operace a porty... Takze ted uz diody rozsvicuje muj Linux server jehoz jmeno je "grower"
No tak ted bude jeste trvat nez bude hotovej program kterej bude koordinovat vstup z cidel /zatim jenom teplomeru/, vetrani/topeni, a periodu sviceni...
2 b3tL: ja tam mam Red Hat 8.0 Psyche... kernel na i586 --- 2.14.18-14
uz facha ovladani pres program v C... ted doladim nejaky mouchy jako treba to, ze pri startu systemu kudzu hleda new hardware a nahazuje a schazuje me ruzny bity na portu RS232... ale to co sem na zacatku povazoval za skoro nemozny se pomalu stava skutecnosti - bude to ridit PC... :0) jo a ty knizky me staly neco pres 1.000.- ... (Linux - sitove servery, Ucebnice jazyka C 1,2 dil, 3. upravene vydani od Pavla Herouta)...
Dával jsme dohromady program na měření teploty a vlhkosti podle tvého zapojení a narazil jsem na jeden problém. Pro měření frekvence je třeba použít dost dlouhou smyčku a během této smyčky je počítač vytížen takovým způsobem že nejde hýbat ani myší. Prosím poraď mi jak docílit toho aby program nezamrzaval. Pokud by jsi mě zájem jsem docela dobrý v programová síťových aplikací (TCP/IP) v delphi mohli by jsme to dát dohromady. (remote control)
Jo ještě jednu otázku??
Jak přesný dokážou být ty senzory obzvlášť by mě zajímala přesnost vlhkoměru. A jestli už si to dělal tak jakym způsobem si vlhkoměr kalibroval to mě fakt nic nenapadá.(rozprašovačem 8 )
Jinak se mi nápad moc líbí obzvlášť možnost ovládat pěstírnu přes mobil. (na tom už taky pracuju)
ganjus: Takze k prvni otace idelani by asi bylo napsat samostanty vlakno pro rozhrani a pro merici sekvenci, ale pokud jen vzorkujes data da se to delat pomoci Timeru nastavenyho na vetsi casi sepnuti. Ty data se urcite nememi zase tak rychle ;-)
Jinak kalibrace vlchkomeru se provadi celkem jednoduse, zavesih ho nad nadobu z vodou a tu nadobu postupne zahrivas, a v nekolika teplotach zmeris hodnoty vlchkosti, pak se to nejak prepocitava, mam pocit ze ktomupotrebujest jeste vedet par veci jako teplotu a atmoscfericky tlak v mistosti ale jinak to jde.