Hydroponický řídící systém
Re: Hydroponický řídící systém
Budu předělávat část kodu, jednak s novou verzí repaateru, eventu. Prostě časování procesů. Stále nemám doma LCD, senzor shield, wifi, pH, CO2. Tento týden jsou poslední deadline.
Našel jsem kód a knihovny pro RTCTiny s DS1307 a teploměrem DS18B20. Bude z toho měření vody v nádrži. Není to moc příkazů takže to nezaplácá kódem již hotovou práci. Jen nevím kolik ukousnou knihovny z volných systémových prostředků. Už se to začíná povážlivě plnit. Jsou na to potřeba dvě. OneWire a DallasTemperature.
Našel jsem kód a knihovny pro RTCTiny s DS1307 a teploměrem DS18B20. Bude z toho měření vody v nádrži. Není to moc příkazů takže to nezaplácá kódem již hotovou práci. Jen nevím kolik ukousnou knihovny z volných systémových prostředků. Už se to začíná povážlivě plnit. Jsou na to potřeba dvě. OneWire a DallasTemperature.
Re: Hydroponický řídící systém
Cesty a cestičky. Tak jednak se nekamarádí TinyRTC s DS1307 a DS18B20 a BH1750FVI modulem (všechno na I2C). Respektive se nekamarádí OneWire a knihovna od Dalasu kterou používá DS18B20 s BH1750FVI. Hledám tedy řešení kdy někdo použil (komplikovaně) použití DS18B20 napřímo. něco jsem našel ale musím to vyzkoušet. Taky se mi něco podařilo ale nebudu to ventilovat. Jen budu potřebovat pomoc.
Re: Hydroponický řídící systém
Změnil jsem kód na "eventy" na něco jednoduššího na pochopení a popis. Jen teď musím zapojit mozek (včera mi pomáhala-po 22:00 hod i manželka) s tím abych nastavil správně (časově) jednotlivé prolínající se časovače.
Pro pochopení toho koho by to zajímalo:
V čas 0:00 se spustí souběžně 2 rozdílné události:
1, v čase X (který právě řeším) se spustí čerpadlo které MUSÍ běžet minimálně 1:30 a maximálně 1:40
2, v čase Y se čerpadlo vypne. Mělo by to být právě časový přesah bodu 1 o minimálně 1:30 a maximálně 1:40
po 1 a 2 se zase čas nastaví na 0:00 a cyklus se opakuje.
nelze vložit do 1, cyklus 2, s časem 1:30-1:40 protože X když je větší, například 4:00 tak se cyklus 2 opakuje stále dokola protože má svoje vlastní hodiny a v časové lince se pak projeví, že čerpadlo se zapne a za vteřinu vypne protože zrovna nastala 2.
je to obyčejná trojčlenka, jen večer byla už únava. Chtělo by to středoškoláka před maturitou z matiky.
nepodařilo se mi vyřešit připojení DS18B20 cestou onewire. Hádá se jeho knihovna s knihovnou senzoru síly světla...asi adresy I2C, musím se na tu knihovnu kouknout jak je psaná. je taky dost stará, z roku 2002 tuším..
Zároveň jsem našel inspiraci pro komunikaci arduina s mySQL. Už jsem na aukru vyhrál jeden počítač (za 320,-) ale zároveň soupeřím o jeden 3x výkonější ale zároveň rozměrově menší. Z jednoho z nich bude opět server ubuntu na který se data budou ládovat. Tentokrát server, ale dám jinam kde by se mohl líp chladit. ten druhý bude končit v neděli před obědem takže buď s instalací serveru počkám na příští týdne a nebo v neděli navečer nainstaluji to slabší mašinu co si odpoledne převezmu.
Pro pochopení toho koho by to zajímalo:
V čas 0:00 se spustí souběžně 2 rozdílné události:
1, v čase X (který právě řeším) se spustí čerpadlo které MUSÍ běžet minimálně 1:30 a maximálně 1:40
2, v čase Y se čerpadlo vypne. Mělo by to být právě časový přesah bodu 1 o minimálně 1:30 a maximálně 1:40
po 1 a 2 se zase čas nastaví na 0:00 a cyklus se opakuje.
nelze vložit do 1, cyklus 2, s časem 1:30-1:40 protože X když je větší, například 4:00 tak se cyklus 2 opakuje stále dokola protože má svoje vlastní hodiny a v časové lince se pak projeví, že čerpadlo se zapne a za vteřinu vypne protože zrovna nastala 2.
je to obyčejná trojčlenka, jen večer byla už únava. Chtělo by to středoškoláka před maturitou z matiky.
nepodařilo se mi vyřešit připojení DS18B20 cestou onewire. Hádá se jeho knihovna s knihovnou senzoru síly světla...asi adresy I2C, musím se na tu knihovnu kouknout jak je psaná. je taky dost stará, z roku 2002 tuším..
Zároveň jsem našel inspiraci pro komunikaci arduina s mySQL. Už jsem na aukru vyhrál jeden počítač (za 320,-) ale zároveň soupeřím o jeden 3x výkonější ale zároveň rozměrově menší. Z jednoho z nich bude opět server ubuntu na který se data budou ládovat. Tentokrát server, ale dám jinam kde by se mohl líp chladit. ten druhý bude končit v neděli před obědem takže buď s instalací serveru počkám na příští týdne a nebo v neděli navečer nainstaluji to slabší mašinu co si odpoledne převezmu.
Re: Hydroponický řídící systém
Jak se může kamarádit 2 drátová I2C s jednodrátovou sběrnicí Dalas? Předpokládám, že žádný amatér to nikdy "nepotřeboval" a vidlák si napíše knihovnu vlastní.
Re: Hydroponický řídící systém
Vyřešeno s časovými eventy. Zapojil jsem mozek ve chvíli kdy jsem na to nemyslel. Prostě mě bliklo jak to vyřešit. A je to !
Re: Hydroponický řídící systém
Grrrr. Původně objednaného a zaplaceného LCD se asi nedočkám. Tak jsem hned koupil jiné. Původně jsem chtěl kvůli rychlosti využít GME, ale cena byla neakceptovatelná. Druhá volba padla na překupníky na aukro.cz. I tam jsem našel ceny které byly více než dvojnásobné než originál v Číně. Takže nakonec zase ebay. Tentokrát doufám, že to pošta někde nezašantročí. Dnes jsem dostal zprávu, že pH modul mi právě zabalili v USA a předali UPS. 3 týdny jim trvalo ověřit, že jsem jim to cestou paypal zaplatil. No nedivím se že USA je ekonomicky v prdeli a že Čína je dnes největší ekonomická velmoc. Tak a teď se budu nahánět s pošťáky protože ti tupci nechápou že nepracuji tam kde bydlím a nedokážou mi to dodat do práce když jsem uvedl adresu domů. Taky jsem zjistil, moje chyba, že to, že mi z barometrického modulu lezou nesmysly není chyba ve výpočtu co používám, ale že je to BMP180 místo BMP085. Jenže ten BMP180 je na 3,3V (píšou, že zapojit ho na 5,0V ho zničí-blbost!) jenže Arduino Senzor Shield nemá výstup 3,3V na žádném pinu (v USA na to pitomec zapomněl a v Číne to okopírovali kompletně i s chybou). Zkoušel jsem to včera večer zapojit přes I2C level konvertor, ale nějak to nefachalo. Tak jsem se šel raději dívat na hokej.
Re: Hydroponický řídící systém
Našel jsem jinou knihovnu na BH1750 která už se nepere s knihovnou OneWire a DallasTemperature takže můžu na DS1307 připojit voděodolné čidlo DS18B20. Stále čekám na zásadní pH modul a LCD bez nichž to dát na balkon nemůžu. pH bude základní veličina kterou snad jedinou můžu ovlivňovat. Měření tepla, světla a vlhkosti, tepla v nádrži, atmosferického tlaku a složebí berevného spektra dopadajícího ze slunce jsou jen hodnoty informativní. pH však můžu a taky musím ovlivňovat. Zvažuji zda přikapáváním kyseliny a nebo výluhu z rašeliny do nádrže pomocí peristaltické pumpy a nebo zda pomocí provzdušňování vody v nádrži pomocí CO2. Na provzdušňování mě zatím nenapadá forichtung který by třeba stlačil pevně akvarijní hadičku. Žádné servo nevyvine tokovou sílu aby zmáčlo a drželo výstupní hadičku pro takový tlak který se udělá v petce když se do ní dá půlka kvasnic, vlažná voda a lžíce cukru.
Re: Hydroponický řídící systém
Musel jsem si znovu vytisknout kód. Je to 759 řádků a ještě to není hotové. Je pravda, že nejmíň půlka jsou popisy abych se v tom vůbec vyznal. Včera jsem už napíchal čidla na nepájivé pole co půjde na desku. A už připravuji zbytek. Jakmile dorazí pH modul a lcd tak to secvaknu a během víkendu to jde na balkon a do provozu. nečekal jsem že to bude trvat tak dlouho, ta pošta a že i když hned v prvním týdnu objednám LCD že ho budu muset objednat ještě jednou protože to první se někde ztratilo. Jen by arduino mohlo umět tisknout i čísla řádků a formátování stránky na A4 snad taky není problém. Koukám, že jsem nenapsal jak to dopadlo s barometrickým čidlem BMP180. Už fachá, stačilo sprostě zanadávat a zapojil jsem to dobře. Nedostatek barevných kabelů. Z modré na jednu stranu vystupuje z druhé strany I2C konvertoru zelená, ale taky hnědá nebo fialová. Prostě musím hlídat odkud co jde a nějak se mi barevně přehodily SDA a SCL. Ale už je to ok. Jen nadávám na to, že nikoho nenapadlo udělat nepájivá pole víc do šířky než do délky. Kvůli zapojování I2C bych bral aby mělo pole na každou stranu půlky tak 10 řad pinů. Protože mi začíná pole vypadat jak pavučina nepořádného pavouka.
Re: Hydroponický řídící systém
To můžu, ale nejsem zvědavý na kecy typu "nech si to zapojit od elektrikáře" nebo "máš to špatně zapojené" . Část fotek https://www.facebook.com/media/set/?set ... 206&type=1 nebo https://www.facebook.com/media/set/?set ... 222&type=1 to je ten důvod. Nafotím doma elektriku ale fakt, žádné kecy když nepomůžou.
Ukázka kódu pro arduino mega. Knihovny co natahuji:
Základem je čas. Až rozchodím WiFi tak se bude obnovovat cestou NTP na domácím serveru. Čas hlídá TimeAlarms který fakt jednoduše a super řídí časování událostí. Těmi jsou každou minutu měření teploty a vlhkosti uvnitř skříně (bude venku a pražit na ní slunce a srážet se v ní vlhkost (bude tam dost silikagelu), vlhkost a teplo u kytek, světlo v luxech u kytek a atmosferický tlak. Po změření hodnot tyto odešle do mySQL databáze spolu s aktuálním časem. Každé 4 hodiny se provede měření pH, teploty a elektrické konduktivity/TDS v nádrži s vodou. Podle pH se pak bude zřejmě do nádrže doplňovat automaticky výluh z rašeliny (na sražení pH pod 6). Po úpravě pH např. tím, že se nalije do nádrže litr výlihu rašeliny se za půl hodiny provede další měření pH a cyklus se bude znovu obnovovat když nebude pH pod 6. Výsledky se taky odešlou do mySQL. Mimo to bude každé 4 minuty spuštěno čerpadlo do libra truhlíku které musí běžet 1:40 (jinak truhlík se naplní moc). To na začátek kdy nejsou ještě prorostlé kořínky salátů (už jsem dal klíčit). Zbytek času bude truhlík vytékat. Dále plánuji cyklování i v kbelíku s melounem ale spíš tam dám pod keramzit jen vzduchování a vodu budu doplňovat ručně abych nemusel měnit časy podle toho jak moc bude kořínků.
Když se mi podaří s někým vyřešit I2C konverter z 5V na stabilizovaných 2V (někdo kdo mi to udělá) tak systém doplním o MAX44005 který bude také po minutě měřit barevné spektrum dopadající ze slunce na kytky.
Na LCD pak budou aktuální výsledky měření a možnost ovládat tlačítky jednak spuštění jednotlivých testů a jednak kalibrace pH sondy. Joa ještě doplním o senzor CO2, ten jde poštou, ten jsem zatím do kódu nezkomponoval (zapomněl jsem).
Ukázka kódu pro arduino mega. Knihovny co natahuji:
Kód: Vybrat vše
#include <Wire.h> // potřeba pro I2C
#include <RTClib.h> // RTC
#include <Time.h>
#include <TimeAlarms.h>
#include <LiquidCrystal_I2C.h> // pro LCD display
#include <SFE_BMP180.h> // tlakoměr
#include <dht.h> // DHT11 humidity senzor
#include <BH1750.h> // light senzor
#include <SPI.h> // pro wifi a mySQL
#include <WiFi.h> // pro wifi a mySQL
#include <OneWire.h> // OneWire
#include <DallasTemperature.h> // DS18B20
#include <avr/eeprom.h> // pro pH
Když se mi podaří s někým vyřešit I2C konverter z 5V na stabilizovaných 2V (někdo kdo mi to udělá) tak systém doplním o MAX44005 který bude také po minutě měřit barevné spektrum dopadající ze slunce na kytky.
Na LCD pak budou aktuální výsledky měření a možnost ovládat tlačítky jednak spuštění jednotlivých testů a jednak kalibrace pH sondy. Joa ještě doplním o senzor CO2, ten jde poštou, ten jsem zatím do kódu nezkomponoval (zapomněl jsem).