Latvijas Akvāristu kluba forums
 
20.05.2012 13:04:07 *
Laipni lūgts, Viesi. Lūdzu reģistrējies.
Vai tu nesaņēmi aktivācijas e-pastu?

Ielogoties ar lietotājvārdu, paroli un sesijas garumu
  Mājas Lapa   Foruma Sākums   Palīdzība Meklēt Kalendārs Galerija Pieslēgties Reģistrēties  
Lapa: 1 2 [3]  All   Uz Apakšu
  Printēt  
Autors Temats: Arduino - Akvārija vadības kontrolieris (dators)  (Lasīts 3211 reizes)
briedis
Reģistrētie lietotāji

Dzimums: Vīrietis
Vecums: 29
Atrašanās vieta: Riga, centrs
Ieraksti: 374


Apskatīt Profilu
« Atbildēt #30 : 28.07.2010 07:30:42 »

Kādu iebūvēto funkciju Tu domā? hour() un minutes() es izmantoju, Alarm bibliotēka man īsti neko nedos, jo starp Alarm taimeriem kontrolieris nepārbauda vai "Tagad" kontrolierim jābūt ieslēgtam vai izslēgtam.

delay man pašlai ir uzlikts, lai Serial.print() nespamo pārāk ātri informāciju uz monitora.
Logged
nbincTemata iesācējs
Reģistrētie lietotāji

Dzimums: Vīrietis
Atrašanās vieta: Rīga
Ieraksti: 1414


Apskatīt Profilu WWW
« Atbildēt #31 : 28.07.2010 12:10:51 »

Tev tur ir jāskatās pēc fakta ko labāk izmantot. Ja tu izved uz ekrāna galīgo mainīgo "2242" un pēc tā skaties tad no problem, bet vizuāli 2242 tomēr izskatās ne tik labi kā 22:42. Ja tu taisi programmu priekš sevis tu jau visu sapratīsi, bet citiem tāds pieraksts būs drusku nesaprotams - 2242 minūtes vai 22 stundas un 42 minūtes.

Ar tām laika funkcijām (vai kaut parastām matemātiskām funkcijām) varētu teiksim skaitīt cik minūtes (sekundes) ir palicis, tad konvertēt tās stundās + minūtēs un parādīt uz ekrāna hour:min. Tavā variantā protams arī var skaitīt (ciparu/100=stundas, atlikums ir min), bet tas būs nedaudz sarežģītāk. A ja tev ievajadzēsies taimeri ar sekunžu precizitāti ? Teiksim mēslojuma dozātoram.

Kaut gan te jau kā kuram vairāk patīk..... galu galā kontrolieris vadīs tavu akvāriju Smaids
Es mēģinu drusku savādāk to visu uztaisīt, lai pašam pēc tam modificēt būtu vieglāk... jo pēc savas pieredzes zinu - pēc kāda laika visas tās nianses aizmirstās un tad jāurbjas atkal pa jauno kodā - ko tu tur esi sagudrojis Smaids
Logged

500 l
4 Otocinclus, 23 Paracheirodon innesi, 3 Tanichthys albonubes, 17 Harlequin Rasbora, 20 Microrasbora sp. "Galaxy".
140 l jūra
briedis
Reģistrētie lietotāji

Dzimums: Vīrietis
Vecums: 29
Atrašanās vieta: Riga, centrs
Ieraksti: 374


Apskatīt Profilu
« Atbildēt #32 : 28.07.2010 12:28:20 »

Šo mainīgo es izmantoju tikai, lai noskaidrotu vai šobrīd, kādam no relejiem ir jābūt izslēgtiem vai ieslēgtiem.
Uz ekrāna drukājot es ņemšu iebūvētās funkcijas, līdzīgi kā piemērā, kas nāk Time bibliotēkā.

void digitalClockDisplay(int x,int y){
  GLCD.CursorTo(x,y);
  GLCD.Puts("Time - ");
  GLCD.PrintNumber(hour());
  printDigits(minute());
  printDigits(second());
}

void printDigits(int digits){
  GLCD.Puts(":");
  if(digits < 10)
    GLCD.PrintNumber(0);
  GLCD.PrintNumber(digits);
}

--------------
Bet tur kur kodā ir vērtības definētas ērtāk man liekas ir stundas*100 + minutes.

// set timer on/off times
int t_on_aqua_light_1 = 1500;
int t_off_aqua_light_1 = 2330;
int t_on_aqua_light_2 = 1510;
int t_off_aqua_light_2 = 2320;
int t_on_refugium_light = 2350;
int t_off_refugium_light = 800;


Cik tev šobrīd no nepieciešamās funkcionalitātes ir sarakstīts un vai nesāk pietrūkt atmiņa vai vieta kodam?
Logged
nbincTemata iesācējs
Reģistrētie lietotāji

Dzimums: Vīrietis
Atrašanās vieta: Rīga
Ieraksti: 1414


Apskatīt Profilu WWW
« Atbildēt #33 : 28.07.2010 12:36:59 »

A tu taimeru vērtības rakstīsi kodā ? Es biju domājis to laiku maināmu no paša kontroliera "konsoles". Jo kad tu pārraksti programmu iekš Arduino visa tā darbība apstājas (gaismas un sūkņi būs izslēgti)..... kaut gan iespējams ka izmantojot to I2C mikreni tev portu stāvoklis saglabājas pēc kontroliera Reset'ā.

Uz atmiņas patēriņu vēl neskatījos.... palaidu šo lietu garām... būs jāpačeko. Sliktākā gadījumā varēs kādu fontu samazināt vai vispār izslēgt. Kut gan 128 Kb ir pietiekoši daudz 8 bitu mašīnām. Savā laikā uz ZX Spectrum arī ar 48 Kb diezgan sarežģītas spēles gāja... a te kaut kāds akvārija kontrolieris Smaids domāju ka atmiņas pietiks....
Logged

500 l
4 Otocinclus, 23 Paracheirodon innesi, 3 Tanichthys albonubes, 17 Harlequin Rasbora, 20 Microrasbora sp. "Galaxy".
140 l jūra
briedis
Reģistrētie lietotāji

Dzimums: Vīrietis
Vecums: 29
Atrašanās vieta: Riga, centrs
Ieraksti: 374


Apskatīt Profilu
« Atbildēt #34 : 28.07.2010 12:44:29 »

v1.0 atstāšu tā pat, šaubos vai man bieži vajadzēs mainīt gaismām on/off laiku. Iespējams, ka nāktnē pārnesīšu visas vērtības uz EEPROM un glabāšu tabulās.

Vēl viena laba lieta : http://www.arduino.cc/playground/Code/DatabaseLibrary Ja izmanto citu atmiņas tipu, tad tā lieta nederēs, bet piemēram sistēmas galvenos iestatījumus EEPROM būtu labāk glabāt, daudz ātrāka datu lasīšana/rakstīšana.
Logged
nbincTemata iesācējs
Reģistrētie lietotāji

Dzimums: Vīrietis
Atrašanās vieta: Rīga
Ieraksti: 1414


Apskatīt Profilu WWW
« Atbildēt #35 : 28.07.2010 21:19:49 »

Jā, interesanta ideja ar datu bāzi, man kā reiz 256 Kbit I2C EEPROM mikrenes ir....
Logged

500 l
4 Otocinclus, 23 Paracheirodon innesi, 3 Tanichthys albonubes, 17 Harlequin Rasbora, 20 Microrasbora sp. "Galaxy".
140 l jūra
Kristjans
Reģistrētie lietotāji

Dzimums: Vīrietis
Vecums: 21
Atrašanās vieta: Rīga
Ieraksti: 4


Apskatīt Profilu
« Atbildēt #36 : 12.10.2010 17:24:36 »

Pievienojos Jūsu bariņā, jo ir iegādāts Arduino Mega Starter Kit`s.
Sākumā gribētos tik pamācīties, palauzīt galvu un varbūt nākotnē uztaisīt kontrolieri priekš akvārija.

Viena no pirmajām lielajām problēmām radās tad, kad vēlējos pieslēgt reālā laika pulksteni. SDA -> SDA20 un SCL-> SCL21 Ceru kad pareizi esmu pieslēdzis. Problēma šim visam ir tā, kad Serial Monitorā man rādās 0:0:0      0/0/2000 (laiks nav uzstādīt) Tad problēma varētu būt kodā (šeit) tieši tajā daļā kur jāuzstādās pulkstenim vai arī neesmu pareizi saspraudis vadus.

Varbūt kāds var padalīties ar savu izmatoto kodu un kā uzstādījāt pareizu laiku?
Logged
nbincTemata iesācējs
Reģistrētie lietotāji

Dzimums: Vīrietis
Atrašanās vieta: Rīga
Ieraksti: 1414


Apskatīt Profilu WWW
« Atbildēt #37 : 13.10.2010 12:40:38 »

Vai Serial Monitor parāda ka laiks vispāri iet ? sekundes tikšķ ? Vai tu esi uzstādījis pulksteņa "atrašanās vietu" uz I2C magistrāles.
Un kapēc tu izmanto tieši RTC.set, kaut gan varbūt tur ir kādi varianti ar to uzstādīšanu.... ir vēl tāda komanda kā Wire.send

Paskaties šo te piemēru - http://wiring.org.co/learning/libraries/realtimeclock.html
tur arī var redzēt kā teimerim adresi iedot programmas sākumā.
Code:
int clockAddress = 0x68;  // This is the I2C address
Logged

500 l
4 Otocinclus, 23 Paracheirodon innesi, 3 Tanichthys albonubes, 17 Harlequin Rasbora, 20 Microrasbora sp. "Galaxy".
140 l jūra
Kristjans
Reģistrētie lietotāji

Dzimums: Vīrietis
Vecums: 21
Atrašanās vieta: Rīga
Ieraksti: 4


Apskatīt Profilu
« Atbildēt #38 : 13.10.2010 21:48:36 »

Sekundes netikšķ nevienā no manis izmēģinātajiem piemēriem.
Piespraudu reālā laika pulksteņa SDA -> Analog 4 un SCL -> Analog 5
Izmēģināju tevis doto piemēru, izpildīju visu kā teikts arī ievadot izteiksmi (T1157193020209 Q(1-2) - (Q1)), man izmet ārā paziņojumu (0:0:0  0/0/0: RTC1307 Initialized Memory) un nekas cits vairs nenotiek.

Varbūt ja tas ko dod tad izmatoju šādu reālā laika pulksteni.
Logged
artursj
Reģistrētie lietotāji

Dzimums: Vīrietis
Vecums: 28
Atrašanās vieta: Salaspils, Rīga
Ieraksti: 212



Apskatīt Profilu
« Atbildēt #39 : 06.01.2012 10:38:40 »

Mazliet pacelšu šo tēmu, esmu sācis skatīties uz Arduino pusi...

ir jēga ņemt jauno Arduino mega R3 vai labāk ņemt vecāku, bet veselu kit'u par apmēram tādu pašu cenu? Respektīvi vai tās izmaiņas, kuras veiktas R3 versijā ir tā vērtas?

P.S. te tās izmaiņas, kuras, pagaidām, man neizsaka neko whistle

Citēt
Revision 2 of the Mega2560 board has a resistor pulling the 8U2 HWB line to ground, making it easier to put into DFU mode.
Revision 3 of the board has the following new features:

    1.0 pinout: added SDA and SCL pins that are near to the AREF pin and two other new pins placed near to the RESET pin, the IOREF that allow the shields to adapt to the voltage provided from the board. In future, shields will be compatible both with the board that use the AVR, which operate with 5V and with the Arduino Due that operate with 3.3V. The second one is a not connected pin, that is reserved for future purposes.
    Stronger RESET circuit.
    Atmega 16U2 replace the 8U2.
Logged

briedis
Reģistrētie lietotāji

Dzimums: Vīrietis
Vecums: 29
Atrašanās vieta: Riga, centrs
Ieraksti: 374


Apskatīt Profilu
« Atbildēt #40 : 06.01.2012 11:07:19 »

Es ņemtu veco versiju.
Logged
artursj
Reģistrētie lietotāji

Dzimums: Vīrietis
Vecums: 28
Atrašanās vieta: Salaspils, Rīga
Ieraksti: 212



Apskatīt Profilu
« Atbildēt #41 : 06.01.2012 11:58:40 »

laikam tā arī darīšu, nedomāju neko tik lielu un gudru taisīt Smaids
Logged

Rincis
LAK biedri

Dzimums: Vīrietis
Atrašanās vieta: Rīga, rajons starp Ziepniekkalnu un Valdlaučiem
Ieraksti: 641


Apskatīt Profilu
« Atbildēt #42 : 07.01.2012 16:15:36 »

Es ņemtu veco, ir vismaz daudz kas klāt un Latvijā tas maksās tikpat cik tas Arduino
Logged

Piedāvāju koncentrētus akvāriju augu mēslojumus F1,F2,F3 par labu cenu, sīkāk, šeit
Reversā osmoze, rezerves daļas, šeit
Lapa: 1 2 [3]  All   Uz Augšu
  Printēt  
 
Pārlēkt uz:  

Powered by MySQL Powered by PHP © 2007 - 2012 Latvijas Akvāristu klubs
Powered by SMF 1.1.12 | SMF © 2006-2007, Simple Machines LLC
Valid XHTML 1.0! Valid CSS!