Vývojová deska Arduino Uno a její využití v akvaristice
A ještě jednou foto displaye zezadu.
Akorát s LCD displayem nevím pač se mi povedlo zadarmo sehnat tento barevný s dotykovou vrstvou pro ovládání a rád bych ho využil jen absolutně nemám tušení jak na to a myslím že jednoduchý to taky nebude.
Foto ze předu
RTC se mi povedlo sehnat tento, a předpokládám že s arduinem se spojí standartně napájení +5V a GND a dále se připojí piny SCL a SDA na komunikační piny na arduinu.
Díky koukal sem na to ale angličtina není moje silná stránka ale nějak se s tím poperu přes google.
Jinak celí mi to poběží na Arduinu Mega. Viz foto.
Tak ta první fáze může spočívat v tom, že podle návodu
learn.adafruit.com/… budeš číst čas. Na
arduino.cc/… si nastuduješ podmínku If a pokud nastane konkrétní čas tak provedeš na určitém portu sepnutí.
www.arduino.cc/… pro ovládání relé u žárovek. Je to klasika, při zapnutém digitálním výstupu pouštíš ven +5V k sepnutí relátka. A co se týče LCD tak
arduino.cc/… Je tam ukázáno i jak vypsat na LCD hodnotu z proměnné, ne jen tupě uživatelem předprogramovný text. K tomu ovládání je potřeba si rozmyslet počet tlačítek a jim vyhradit porty. Je nutné nastudovat problematiku přerušení
arduino.cc/… Při stlačení tlačítka se provede přerušení a vykoná se určitá operace. V tvojem případě změna nějaké hodnoty. Například tlačítka nahoru a dolů budou posunovat obrazovku na denní svícení, noční svícení a podobné srandy a tlačítka doleva a doprava budou posunovat hodnoty nastavení kdy se má daná operace udělat. Možná to zní složitě, ale to ovládání není těžké si vytvořit. Když si to namaluješ tak to pochopíš. Při hodnotě "obrazovka=1" budeš zobrazovat aktuální čas, při hodnotě "obrazovka=2" budeš zobrazovat čas zapnutí denních světel a podobně. Před tím, než se pustíš do programování si rozkresli zapojení jednotlivých prvků, napiš si kam připojíš který prvek, pokud použiješ mnou ukazovaná RTC modul na I2C sběrnici tak ty mají tuším pevně definované porty. Je nutné dodržet, co potřebuje běžet na analogovém portu a co na digitálním. Potom si rozkresli algoritmus. Obrazovky které chceš zobrazovat a co se stane když něco nastane nebo zadáš ty.
Jo takhle
tak to jo
ber to jako další výstup spínanej teplotně. Takže třeba větráček.
Není to topení zbytečný ? Vždyť spíná při určité teplotě samo.
0 26.02.2013 15:00 Spiike [63] Ahoj,
Tak bych to asi viděl následovně, jen nevím jak až velký to bude oříšek.
Díky. Zkusím se s ním spojit a dát něco dohromady společně. On se prezentuje jako programátor profesionál. To já jsem jen nadšenec, snílek a teoretik
Jop s ním se o tom kdysi dávno taky mluvil, to bylo v dobách kdy sem zjistil že nějaké arduino vůbec existuje.
Tak čekám kdy se taky ozve. Pač vím že některé věci už ohledně tohoto má zmáknuté takže by se jeho rady a poznatky určitě taky hodily.
Tak přesně takhle sem to myslel. Dát dohromady nějaký projekt kde by se to řešilo tak aby to pochopili i ti co o tom nemají ani tucha. S tím že je by se postupně zrealizoval řídící systém pro AQ. Mě osobně to dost zajímá jen neumím programovat prozatím. A myslím že nás tu je takových víc. A nad článkem o tom sem taky přemýšlel ale spíše ve stylu nějakého seriálu kde by se postupně řešily různé věci od "jednoduchých po složité". Myslím že by to tu ocenilo více lidí.
Co jsem téma před časem pročítal,
ppet36 to už má rozchozené a soft má ke stažení v profilu
rybicky.net/profil/25068 , ale nevím co všechno umí. Nějaký sjednocující nebo rozšiřující článek by se hodil.
Počkám na lepší představu od Spiika potom bych něco zkusil vytvořit. Možná by to šlo ve více variantách. Jenoduchá až složitější. Bohužel ten časový modul mám doma a teď jsem v zahraničí. Až to budu mít pohromadě tak základ osvetlení udělám. Potom bych zkusil i něco s tou chemií.
Přesně tenhle způsob využití Arduina podle mýho zajímá většinu akvakutilů. Moc bych se přimlouval a prosil o článeček s např. blokovým schématem, nějakým kódem, apod.
Navíc pro starší akvaristy, nepolíbené programováním, i pro nás natvrdlejší, trochu podrobněji.
Díky, díky, díky
Ok. Takže potřebuješ pH sondu. U té záleží co z ní poleze. Zda nějaká konstatní hodnota nebo nějaké PWM. V podstatě to je jedno, hodí se buď na analog nebo digital podle toho co z ní poleze. Ta hodnota bude pravdepodobně při 8bit AD převodníku 0-255 a té bude odpovídat to pH. Na základě přepočtu si nastavíš pomocí podmínky "if", že při hodnotě vyšší než zadaná se zapne port "X" a ten přes relé spustí solenoidový ventil. Spoustění rozednívání je možné řesit buď postupným rosvícením například více pásků - bylo by lepší použít tranzistor kvůli proudům a nakonec i vyššímu napětí - nebo pomocí právě toho PWM. Na to má arduino knihovny a je tam i example kód s použitím PWM na ledku z portu 13. Co se týče teploty tak jsou buď analogové teploměry pt100 a nebo od dallasu digitál, případně co mám já doma k čítači od Zajíce čip SMT160 který vrací PWM. Až hodíš plánek tak na to mrknu co budeš potřebovat a jak co řešit.
Ahoj,
já jsem elektronik takže postavit cokoliv nemám prakticky žádný problém. Jediný problém mám s tom programováním protože sem se k němu nikdy nedostal a na škole nás učili krávoviny které všichni už znali (Word Excel a podobně). Mou finální myšlenkou je aby mi to měřilo teplotu a pH. A pak spínalo postupně osvětlení ve stylu rozednívání a stmívání. A aby mi to pouštělo co2 podle pH. No a to hnojení je v plánu taky. Ale to bych musel do vymyslet jakým způsobem by to pracovalo. Ale nejspíš jako světla na pwm regulaci s čerpadlem do ostřikovačů. Až dorazím domů zkusím udělat nějaký modelový náčrtek.
Aha, takže to bude asi složitější. Specifikuj cěho chceš ve výsledku dosáhnout a proberem si základní algoritmus, jak by to mělo fungovat. Pokud bys chtěl tu desku použít místo spínacích hodin tak to možné je, ale ne v surovém stavu. Bylo by potřeba připojit asi nějaké relátka kvůli síťovému napětí. Pokud tam budeš mít třeba nějaký digitální teploměr tak budeš asi chtít i nějaký displej že? Do dávkování chemie bych se hned tak nepouštěl. Jde to, ale je to fuška pro zkušeného elektronika programátora a ne z hecu nadšence.
Jo tak ani tomuhle sem nerozuměl ani slovo
nešlo by to více pro "blbé"
Takový modul mám z ebay na I2C sběrnici. Existuje k tomu někde example kód. Z toho ti poleze nějaká hodnota se kterou budeš pomocí Ifu dál pracovat předpokládám.
prosím tě já na tom nechápu vůbec nic
Zatím se mi povedlo spínat nějake vstupy a výstupy ale to k tomu co potřebuji má hodně daleko
v první ředě bych potřeboval k tomu připojit CRT modul na reálný čas a datum.
ale nevim jak.
a jak s tim dále pracovat
A co s tím. Trošku s tím taky koketuju.
Našel by se tu nějaký dobrovolník který by mi byl ochotný vysvětlit a pomoct naprogramovat arduino??? už měsíc se to snažím pochopit z netu a sem čím dál tím víc zmatený. Podotýkám že programování vůbec nerozumím. měl sem to na vejšce jeden semestr a moc sem z toho nebyl.
Starší reakce
0 31.01.2013 17:17 ohruska Nemáte prosím zkušenosti s touto deskou:
shop.snootlab.com/…
Chtěl bych ji použít pro zápis průběhů měřených hodnot, s možností pozdějšího zobrazení grafů na PC.
0 31.01.2013 12:24 ohruska A proč na některých je ještě osazený U1 a u jinejch ne? K čemu to tam je???
Aloha,
Dnes mi přišlo toto, ale samozřejmě bez baterie. Nevíte náhodou někdo jaká tam má být?? napsaný to nikde neni.
Díky
Starší reakce
0 08.01.2013 07:02 ppet36 [82] Rekl bych, ze dokumentace je aktualni. Pravda je, ze dneska uz bych to udelal trochu jinak
Je tam trochu poddimenzovany napajeni, takze jak psal Josef, pokud pouzil rele s vyssim odberem, tak zdroj nestihal a vlivem poklesu napeti (+-12V) to ovlivnovalo PH desku. Take je pravda, ze vyjde levneji releovou desku koupit na ebayi - ale o tom to neni
2Josef:
outputStates [0] = (prumPh > 0) && (prumPh > mPh - (outputStates [0] ? setupData.phHystereze : 0));
to je jednoduche. PH vystup se zapne pokud je namerene PH (prumPh) vetsi nez pozadovane (mPh) (k pozadovanemu PH se pricte hystereze setupData.phHystereze za predpokladu, ze je PH vystup pred volanim sepnut). To prumPh > 0 je tam jenom pro pripad, ze se PH jeste nezprumerovalo (10s se prumeruji hodnoty) a zajisti, ze se nebude vystup do teto doby spinat.
Starší reakce
jasne podle navodu to funguje, ale kdyz clovek pouzije trochu jine komponenty, tak se to rozhasi. treba pro mne bylo komplikovanejsi delat jeho releovou desku, nez si z ebay rele koupit. staci mi ctyri rele (svetlo ryby , zelva, vypinani filtru, a ph ventil) tak to bylo zbytecne komplikovane.
vice mene netusim tento radek nejak to proste nedavam tu logiku...
outputStates [0] = (prumPh > 0) && (prumPh > mPh - (outputStates [0] ? setupData.phHystereze : 0));
==>> ppet36 => když už je tohle téma o5 otevřený, tak bych jen chtěla zmínit, že mi to podle toho návodu funguje na 100%
takže ještě jednou díky pavle (ppet36). Ale měla bych jednu věc pro lidí mého typu, pokud by si to někdo chtěl třeba jen pro zajímavost poskládat, tak je důležitý počítat i s odpory na vstupu na diodu. pokud je to bez odporu, tak ty diody jdou hodně rychle do faku
vim, že je to možná naivní poznámka, ale já to třeba ze začátku nevěděla
0 22.12.2012 19:48 josef Ahoj, tak jsem to konečně všechno dokopal a poupravoval.
Pořád se mi rozhazovali spinaci hodiny, nakonec se mi to podařilo upravit do správného tvaru -> haproval mi tam pocet hodin prirazeny na vystupech
potreboval bych ale poradit s hysterezi, kdyz tam nastavim cca 0,5 stupne ph tak mi to nefunguje -> rele sepne vypne sepne vypne -> nerespektuje mez ph.
Dík za kazdou radu.
moje upravena verze
rybicky.net/soubory/104.rarStarší reakce
to de! moc děkuju... zkusim to nějak poladit a třeba to pojede
Starší reakce
Sice moc nevim, jestli to rybicky oceni
Ale tady
www.arduino.cc/… je kompletni tutorial zrovna pro toto... Kdyz se divam, jaky jsi kutil, tak to urcite nebude zadny problem
Starší reakce
0 13.11.2012 04:11 duinozone.cz – Arduino fórum
V případě dotazů kolem Arduina se můžete obrátit na
duinozone.czStarší reakce
Na 100 kHz (ds1307) se pouziva 4k7 proti 5V, ale neni to ma tech modulech uz osetreny?
dostal jsem se až k tomu že problém bude s I2C, měl by tam přijít zapojit odpor 2k2. Někde jsem to tak viděl.
0 29.09.2012 11:45 josef Tak jsem zkoušel podle udělat vypis do serial monitoru, a zakousne se komunikace hned po iniciaci lcd, hlaska nastaveni pinu vubec neprojde takze pocitam ze to bude v knihovne (#include <LiquidCrystal_I2C.h>).
ALE kdyz vypnu inicializaci lcd tak to dojde jen k inicializaci RTC a WIRE a skonci to tez.
SETUP->
Serial.begin (9600);
Serial.println("------- SETUP START -------");
Serial.println("Inicializuji lcd");
lcd.init();
Serial.println("Nacitam nastaveni pinu");
// - tlacitka
pinMode (IN_UP_BUTTON_PIN, INPUT);
pinMode (IN_DOWN_BUTTON_PIN, INPUT);
....
Multithreading využívám k webovému serveru, přes který můžu nastavovat některé hodnoty a případně spouštět čerpání, větrání atd...
Pokud je potřeba nějaká větší změna tak vytáhnu MicroSD kartu a změním data v XML souborech.
Jo; to vypada nabusene a ma to i multithreading. Zrovna me ale nenapada, na co bych jej ve spojeni s akvariem vyuzil, ale za normalnich okolnosti se to docela hodi
Kazdopadne je to zajimava platforma k prozkoumani...
jooo ... zivot je boj
Zrovna na DS musi byt baterie vzdycky, jinak to kolikrat vede k tomu, ze se i samotne Arduino zasekava... Na mnoha forech pisou, ze staci kdyz je tam i vybita baterka, ale musi tam byt
Osobně nepoužívám Arduino ale, desky s .NET Micro Frameworkem.
Musím říci, že vývoj ne násobně komfortnější a podpora velká. A navíc Panda je kompatibilní se všemi sheildy pro ARDUINO. Ovládám skrze Pandu II komplet akvárium + v létě větrání pokoje a akvária.
shop.microframework.eu/…
Záložní zdroj, to je blbá smrt
něco jako když hledáš proč někam nejde šťáva a po půl dne hledání zjistíš uplně náhodou že máš shozený jistič.
Ale co dokud nejde o život, však víš. ;)
Starší reakce
0 20.09.2012 16:13 josef dneska mi dosel novy obvod po mesici a pul po objednani. tak az dojedu dom tak ozkousime a uvidime
Diky za reakce ;)
No ja samozrejme nevylucuji, ze mas spatny RTC obvod. Kdyz se tak divam na ty fotky, tak je urcite jiny, nez mam ja. Ja mam primo ten od Sparkfunu
www.sparkfun.com/…? . Knihovnu pouzivam tuto
github.com/… .
Je na to takovy nastrojek; rikaji tomu Arduino IDE, ale pise se normalni text, takze se to da delat v normalnim textovym editoru. Ten nastroj umozni ten program prelozit a nahrat do Arduina. Programuje se to v podstate v Ccku (
arduino.cc/…), nicmene funkce, ktere se pouzivaji jsou jednoduche a velice snadno se v tom neco dela.
Přidat reakci
1 ...... [12] 14 15
Zpět na obsah sekce Technika • Zobrazeno 16710x