Skocz do zawartości

Tester

Moderator
  • Liczba zawartości

    8 656
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    44

Zawartość dodana przez Tester

  1. Uwagi : 1 - pierwsza sprawa ze jestem absolutnie zielony w temacie programowania, LEDow, driverow etc. Bardzo prosilbym o aktywny udzial w watku forumowych specjalistow bo na niewiele pytan bede umial odpowiedziec. 2 - kontroler byl stworzony oryginalnie do obslugi driverow Meanwell ELN60-48D lub 48P. Nie jestem pewien czy bedzie dzialal z innymi driverami. Moze to nie ma znaczenia. 3- wyswietlacz ktory zastosowalem ma ograniczony rozmiar 2x16 znakow. Do pozniejszych rozwiazan np podawanie temperatury trzeba bedzei go podmienic na 4x20. 4-programowanie odbywa sie za pomoca PCeta - jest to bezposrednia ingerencja w kod. Nie jest to moze najlatwiejsze ale z drugiej strony jak czesto zmieniamy godzine wlaczania czy wylaczania lampy 5- na wyswietlaczy, wartosc natezenia swiatla jest podawana skokowo co 10%. Oznacza to ze np wartosc 5 to 50% a 10 to 100% swiatla 6- kurcze wiem ze mozna inaczej i zapewne lepiej, ale zapewniam ze w prostych konstrukcjach lapm to bedzie dzialalo. 7- potencjometry na rynunku 3 nie sa konieczne. Daja nam tylko mozliwosc recznej kontroli kanalu niebieskiego i bialego. Maja kontrole nadrzedna w stosunku do sygnalu z kontrolera. Jesli ktos chce zrobic wersje prosta (bez potencjometrow) nalezy wykonac polaczenia wedlug rysunku 2 8- istnieje mozliwosc ze wyswietlacz ktory kupicie nie bedzie mial plytkie kompatybilnej z arduino i bedzie mial inne wyprowadzenie pinow. Oto schemat polaczenia "golego" wyswietlacza: (rysunek w przygotowaniu) 9- pierwsza poprawka kodu - dodalem wpisy dajace mozliwosc wlaczania lampy o niepelnych godzinach (w kodzie oryginalnym wlaczanie nastepowalo tylko o pelnych godzinach) 10-okazalo sie ze w tak zwanym miedzyczasie arduino doczekalo sie nowego kompilatora, ktory ma jakies zgrzyty ze starymi bibliotekami. Dlatego do nowego kodu zaczalem uzywac kompilator w wersji 0022 - do sciagniecia tutaj .....
  2. #define DS1307_I2C_ADDRESS 0x68 // address used for clock #include "Wire.h" // library used #include <LiquidCrystal.h> // library used /* ******************************************************************************************************************** */ /* * * */ /* * R E L A Y P A R T * */ /* * S I M P L E O N A N D O F F F E A T U R E * */ /* * * */ /* ******************************************************************************************************************** */ const int relayPin1 = 2; // arduino pin (non pwm) used for relay 1 const int relayPin2 = 8; // arduino pin (non pwm) used for relay 2 int relayState1 = LOW; int relayState2 = LOW; long previousMillis1 = 0; long previousMillis2 = 0; long interval1 = 30000; // how many milliseconds to turn it on and off for RELAY1 long interval2 = 50000; // how many milliseconds to turn it on and off for RELAY2 /* ******************************************************************************************************************** */ /* * * */ /* * L E D D I M M I N G P A R T * */ /* * F A D E S I N A N D O U T * */ /* * * */ /* ******************************************************************************************************************** */ /* ********************************************************************************* */ /* * * */ /* * UWAGA : czas wschodu jest rowny czasowi zachodu jak w naturze . * */ /* * * */ /* ********************************************************************************* */ int ontime = 10 ; // o ktorej godzinie zacznie rozswietlac sie swiatlo niebieskie? int minuta = 30; // w ktorej minucie zacznie rozswietlac sie swiatlo niebieskie ? int blueramptime = 60 ; // przez ile minut bedzie sie rozswietlalo swiatlo niebieskie? int whiteramptime = 180 ; // gdy niebieskie na maxa przez ile ma sie rozswietlac swiatlo biale? int photoperiod = 240 ; // gdy biale na maxa jak przez ile minut maja swiecic na maxa oba kanaly? int blue = 3; // ktory PIN PWM jest uzywnay do kanalu niebieskiego? int white = 11; // ktory PIN PWM jest uzywnay do kanalu bialego? //w przykladowym wpisie niebieskie swiatlo wlaczy sie o 10:30 i bedzie sie rozswietlalo przez 60 minut //nastepnie przez 3 godziny (160 minut) bedzie sie rozswietlalo swiatlo biale // oba kanaly beda swiecic na maxa przez 4 godziny (240 minut) int bluemin = 0 ; int whitemin = 0 ; /* ********************************************************************************* */ /* * * */ /* * the line below is needed if you are using meanwell ELN60-48D, for analog * */ /* * these are the values in 10% increments * */ /* * [11] is not the arduino pin but the number of steps used from 0 to 255 * */ /* * * */ /* ********************************************************************************* */ int bluepercent[11] = { 0, 1, 2, 5, 8 ,12, 18, 27, 44, 80, 255 }; int whitepercent[11] = { 0, 1, 2, 5, 8 ,12, 18, 27, 44, 80, 255 }; /* ********************************************************************************* */ /* * * */ /* * the line below is needed if you are using meanwell ELN60-48P, for pwm * */ /* * these are the values in 10% increments * */ /* * [11] is not the arduino pin but the number of steps used from 0 to 255 * */ /* * just remove // sign below for the blue and white * */ /* * and add // sign above for the blue and white * */ /* * * */ /* ********************************************************************************* */ //int bluepercent[11] = { 0, 26, 52, 78, 103, 128, 154, 180, 205, 230, 255 }; //int whitepercent[11] = { 0, 26, 52, 78, 103, 128, 154, 180, 205, 230, 255 }; // int pwm_one = 10; // extra pwm pin for future use (spare) // int pwm_one = 9; // extra pwm pin for future use (spare) /* ********************************************************************************* */ /* * * */ /* * originally arduino pins 8, 9, 4, 5, 6, 7 are used, * */ /* * I have to use different arduino non pwm pins, so I can reserved the pwm * */ /* * pins for other use. * */ /* * * */ /* ********************************************************************************* */ LiquidCrystal lcd(12, 13, 4, 5, 6, 7); /* ******************************************************************************************************************** */ /* * * */ /* * R T C C L O C K D S 1 3 0 7 * */ /* * * */ /* ******************************************************************************************************************** */ byte decToBcd(byte val) // Convert normal decimal numbers to binary coded decimal { return ( (val/10*16) + (val%10) ); } byte bcdToDec(byte val) // Convert binary coded decimal to normal decimal numbers { return ( (val/16*10) + (val%16) ); } // 1) Sets the date and time on the ds1307 // 2) Starts the clock // 3) Sets hour mode to 24 hour clock // Assumes you're passing in valid numbers void setDateDs1307(byte second, // 0-59 byte minute, // 0-59 byte hour, // 1-23 byte dayOfWeek, // 1-7 byte dayOfMonth, // 1-28/29/30/31 byte month, // 1-12 byte year) // 0-99 { Wire.beginTransmission(DS1307_I2C_ADDRESS); Wire.send(0); Wire.send(decToBcd(second)); // 0 to bit 7 starts the clock Wire.send(decToBcd(minute)); Wire.send(decToBcd(hour)); // If you want 12 hour am/pm you need to set // bit 6 (also need to change readDateDs1307) Wire.send(decToBcd(dayOfWeek)); Wire.send(decToBcd(dayOfMonth)); Wire.send(decToBcd(month)); Wire.send(decToBcd(year)); Wire.endTransmission(); } // Gets the date and time from the ds1307 void getDateDs1307(byte *second, byte *minute, byte *hour, byte *dayOfWeek, byte *dayOfMonth, byte *month, byte *year) { // Reset the register pointer Wire.beginTransmission(DS1307_I2C_ADDRESS); Wire.send(0); Wire.endTransmission(); Wire.requestFrom(DS1307_I2C_ADDRESS, 7); // A few of these need masks because certain bits are control bits *second = bcdToDec(Wire.receive() & 0x7f); *minute = bcdToDec(Wire.receive()); *hour = bcdToDec(Wire.receive() & 0x3f); // Need to change this if 12 hour am/pm *dayOfWeek = bcdToDec(Wire.receive()); *dayOfMonth = bcdToDec(Wire.receive()); *month = bcdToDec(Wire.receive()); *year = bcdToDec(Wire.receive()); } /* ******************************************************************************************************************** */ /* * * */ /* * D E F I N E : O N E S E C O N D * */ /* * * */ /* ******************************************************************************************************************** */ void onesecond() //function that runs once per second while program is running { byte second, minute, hour, dayOfWeek, dayOfMonth, month, year; getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year); lcd.setCursor(0, 0); if(hour>0) { if(hour<=12) { lcd.print(hour, DEC); } else { lcd.print(hour-12, DEC); } } else { lcd.print("12"); } lcd.print(":"); if (minute < 10) { lcd.print("0"); } lcd.print(minute, DEC); lcd.print(":"); if (second < 10) { lcd.print("0"); } lcd.print(second, DEC); if(hour<12) { lcd.print("am"); } else { lcd.print("pm"); } lcd.print(" "); delay(1000); } /* ******************************************************************************************************************** */ /* * * */ /* * D E F I N E : R E L A Y 1 * */ /* * * */ /* ******************************************************************************************************************** */ void relay1() //FUNCTION TO TURN ON AND OFF RELAY 1. { unsigned long currentMillis = millis(); if(currentMillis - previousMillis1 > interval1) { previousMillis1 = currentMillis; if (relayState1 == LOW) relayState1 = HIGH; else relayState1 = LOW; digitalWrite(relayPin1, relayState1); } } /* ******************************************************************************************************************** */ /* * * */ /* * D E F I N E : R E L A Y 2 * */ /* * * */ /* ******************************************************************************************************************** */ void relay2() { unsigned long currentMillis2 = millis(); if(currentMillis2 - previousMillis2 > interval2) { previousMillis2 = currentMillis2; if (relayState2 == LOW) relayState2 = HIGH; else relayState2 = LOW; digitalWrite(relayPin2, relayState2); } } /* ******************************************************************************************************************** */ /* * * */ /* * S E T U P * */ /* * * */ /* ******************************************************************************************************************** */ void setup() { pinMode(relayPin1, OUTPUT); // set the digital pin as output: pinMode(relayPin2, OUTPUT); // set the digital pin as output: /* ******************************************************************************************************************** */ /* * * */ /* * S E T U P - D I S P L A Y * */ /* * * */ /* ******************************************************************************************************************** */ byte second, minute, hour, dayOfWeek, dayOfMonth, month, year; Wire.begin(); second = 00; minute = 29; hour = 10; dayOfWeek = 6; // Sunday is 0 dayOfMonth = 26; month = 2; year = 11; /* ********************************************************************************* */ /* * * */ /* * this is where you set your time... * */ /* * 1) change the second, minute, hour, etc above * */ /* * 2) remove // below * */ /* * 3) and load this sketch to your arduino * */ /* * 4) after loading the sketch, put the // back again * */ /* * 5) and load this sketch again to your arduino, and save * */ /* * * */ /* ********************************************************************************* */ //setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year); analogWrite(blue, bluemin); analogWrite(white, whitemin); lcd.begin(16, 2); // set up the LCD's number of rows and columns: // lcd.print("12:00 80.6"); // Print a message to the LCD. // lcd.print(char(223)); lcd.setCursor(0, 1); lcd.print("blue:"); lcd.print(33*bluemin/85); lcd.setCursor(8, 1); lcd.print("white:"); lcd.print(33*whitemin/85); } /* ******************************************************************************************************************** */ /* * * */ /* * L O O P * */ /* * * */ /* ******************************************************************************************************************** */ void loop() { onesecond(); relay2(); relay1(); /* ******************************************************************************************************************** */ /* * * */ /* * L O O P - D I M F U N C T I O N * */ /* * * */ /* ******************************************************************************************************************** */ byte second, minute, hour, dayOfWeek, dayOfMonth, month, year; getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year); int daybyminute = ((hour * 60) + minute); //converts time of day to a single value in minutes int bluerampup; if (daybyminute >= ((ontime*60) + minuta)) bluerampup = (((ontime*60) + minuta + blueramptime) - daybyminute); else bluerampup = blueramptime; int whiterampup; if (daybyminute >= (ontime*60 + blueramptime + minuta)) whiterampup = (((ontime*60) + minuta + blueramptime + whiteramptime) - daybyminute); else whiterampup = whiteramptime; int whiterampdown; if (((ontime * 60) + minuta + photoperiod + blueramptime + whiteramptime) <= daybyminute) whiterampdown = (((ontime*60) + minuta + photoperiod + blueramptime + 2*whiteramptime) - daybyminute); else whiterampdown = whiteramptime; int bluerampdown; if (((ontime * 60) + minuta + photoperiod + blueramptime + 2*whiteramptime) <= daybyminute) bluerampdown = (((ontime*60) + minuta + photoperiod + 2*blueramptime + 2*whiteramptime) - daybyminute); else bluerampdown = blueramptime; /* ******************************************************************************************************************** */ /* * * */ /* * L O O P - F A D E I N * */ /* * * */ /* ******************************************************************************************************************** */ if (daybyminute >= (ontime*60)+ minuta) { if (daybyminute <= ((ontime*60) + minuta + blueramptime + (whiteramptime/10*9))) //if time is in range of fade in, start fading in + (whiteramptime/10*9) { // fade blue LEDs in from min to max. for (int i = 1; i <= 10; i++) // setting ib value for 10% increment. Start with 0% { analogWrite(blue, bluepercent); lcd.setCursor(5, 1); lcd.print(i); lcd.print(" "); int countdown = ((bluerampup*60)/10); // calculates seconds to next step while (countdown>0) { onesecond(); // updates clock once per second countdown--; relay2(); relay1(); } } // fade white LEDs in from min to max. for (int i = 1; i <= 10; i++) // setting i value for 10% increment. Start with 0% { analogWrite(white, whitepercent); lcd.setCursor(14, 1); lcd.print(i); lcd.print(" "); int countdown = ((whiterampup*60)/10); // calculates seconds to next step while (countdown>0) { onesecond(); // updates clock once per second countdown--; relay2(); relay1(); } } } } /* ******************************************************************************************************************** */ /* * * */ /* * L O O P - M A X V A L U E * */ /* * * */ /* ******************************************************************************************************************** */ if (daybyminute >= ((ontime * 60) + minuta + blueramptime + whiteramptime)) { if ( daybyminute < ((ontime * 60) + minuta + blueramptime + whiteramptime + photoperiod)) // if time is in range of photoperiod, turn lights on to maximum fade value { analogWrite(blue, 255); lcd.setCursor(5, 1); lcd.print(10); lcd.print(" "); analogWrite(white, 255); lcd.setCursor(14, 1); lcd.print(10); lcd.print(" "); } } /* ******************************************************************************************************************** */ /* * * */ /* * L O O P - F A D E O U T * */ /* * * */ /* ******************************************************************************************************************** */ if (((ontime * 60) + minuta + photoperiod + blueramptime + whiteramptime) <= daybyminute) { if (((ontime * 60) + minuta + photoperiod + whiteramptime + 2*blueramptime + (blueramptime/10*9)) >= daybyminute) { // fade white LEDs out from max to min in increments of 1 point: for (int i = 10; i >= 0; i--) // setting i value for 10% increment. Start with 10% { analogWrite(blue, 255); lcd.setCursor(5, 1); lcd.print(10); lcd.print(" "); analogWrite(white, whitepercent); lcd.setCursor(14, 1); lcd.print(i); lcd.print(" "); int countdown = ((whiterampdown*60)/10); // calculates seconds to next step while (countdown>0) { onesecond(); // updates clock once per second countdown--; relay2(); relay1(); } } // fade blue LEDs out from max to min in increments of 1 point: for (int i = 10; i >= 0; i--) // setting i value for 10% increment. Start with 10% { analogWrite(blue, bluepercent); lcd.setCursor(5, 1); lcd.print(i); lcd.print(" "); int countdown = ((bluerampdown*60)/10); // calculates seconds to next step while (countdown>0) { onesecond(); // updates clock once per second countdown--; relay2(); relay1(); } } } } } // END LOOP
  3. Witam , W watku o samodzielnej budowie lampy LED Tomasz dokladnie opisal zasady budowy takiej lampy. Omawiajac ten watek z Icebergiem stwierdzilismy ze przydalby się do takiej lampy prosty kontroler typu „wschod – zachod”. Przebiegly Iceberg podpuscil mnie i zdeklarowalem się ze taki kontroler zbuduje Nieco pozniej okazalo się ze Iceberg kupil BP a ja zostalem z zamowionymi czesciami więc chcac nie chcac temat musialem doprowadzic do konca. Stad ten watek... Przekopujac poklady Internetu trafilem na platforme Arduino i na autora projektu Reef LED Controller. Sympatyczny Wloch dal mi pozwolenie na uzycie jego rysunkow i kodu (link do strony projektu ReefLedController) oraz do watku na RC Jako ze platforma Arduino daje dość szerokie mozliwosci, moim zamiarem jest przedstawienie budowy prostego kontrolera o nastepujacych mozliwosciach: rozjasnianie i sciemnianie (Wschod - Zachod) oparte na zegarze kontrola swiatla nocnego kontrola wiatrakow odczyt temperatury wody oraz lampy LED Ze wzgedu jednak na to ze jestem absolutnym lajkonikiem jeśli chodzi o elektronike i programowanie, postanowilem sam przechodzic poszczególne etapy ewolucji kontrolera co mi da pewnosc ze jeśli ja sam to zbuduje dzialajacy kontroler to Wy nie będziecie mieli absolutnie zadnych problemow z samodzielna konstrukcja. Watek wiec będzie ewoluowal razem z moim wlasnym projektem. Terminologia na start ARDUINO – maly programowalny komputer do wykonywania zaprogramowanych dzialan. Posiada kilka wejsc (np. wejscia srodowiskowe takie jak temperatura, pH...) i kilka wyjsc (obsluga sprzetu) Czyli np jeśli na wejsciu temperatura jest taka a taka to na wyjsciu wlaczy się wentylator. SKETCH – to inaczej program, wsad, kod – czyli zbior instrukcji według których pracuje komputer TRANZYSTOR – w naszym projekcie okreslmy go jako „wlacznik” - podobny do tego na scianie który wlacza swiatlo. W naszym projekcie arduino będzie kontrolowalo ten wlacznik PWM - Pulse-Width Modulation - bardzo szybkie wlaczanie i wylaczanie sygnalu. Tak szybkie ze nie widoczne dla naszego oka. Im większe są przerwy w dostawie pradu tym LED swieci ciemniej (VDRek – dzieki za sesje w Milowce ) POTENCJOMETR – taka galka jak w radio - reguluje napiecie dochodzace do urzadzenia. PRZEKAZNIK – inny typ wlacznika. Jako ze arduino zasilane jest napieciem 5V/12V to przekazniki sluza nam do obslugi urzadzen 240V SHIELD – w zargonie „arduinowcow” plytka elektroniczna kompatybilna z glownym komputerem. Takie plytki są „wyspecjalizowane” w pewnych funkcjach np. bluetooth, ethernet, SD Card i można je laczyc na zasadzie modulow. Co nam będzie potrzebne? Na tym etapie potrzebujemy tylko: Srodowisko programowe ARDUINO z podstawowymi bibliotekami – do sciagniecia tutaj (85MB) aaa i bylbym zapomnial. Oryginalne biblioteki LiquidCristal.h i wire.h sa chyba stare bo na nich kompilacja programu sie krzaczyla. Tu sa odpowiednie. Nalezy skopiowac (ewentualni podmienic) w folderze "Library" tam gdzie zainstalowaliscie pakiet arduino LiquidCristal.h wire.h Plytka glowna ARDUINO – jest w kilkunastu wersjach może być UNO, DUEMILANOVE, MEGA, DIECIMILA – jakakolwiek z wejsciem USB Wyswietlacz LCD 20x4 lub 16x2 lub inny oparty na chipie HD44780 (przyciski nie sa konieczne) DS1307RTC – zegar czasu rzeczywistego Tranzystor NPN 2N2222 – ile? Jeden na kazdy kanał – w naszym przypadku potrzebujemy dwie sztuki Rezystor 1K – jeden na kazdy tranzystor Przewod USB (z jednej strony wtyczka plaska z drugiej "kwadratowa") Do tego lutownice, cyne, drut izolowany, plytke montazowa typu BreadBoard (nie koniecznie ale bardzo przydatna zwłaszcza na początku) , dwie rece ( koniecznie dwie lewe bo ja takie mam ) Do pozniejszej rozbudowy projektu warto zdobyc: DS18B20 – sensor temperatury (2sztuki) 5V/240V – przekazniki (4sztuki) Ja kupilem zestaw startowy na ebayu – LINK za 49$ który w zasadzie daje więcej niż potrzebujemy. Oczywiscie elementy można kupowac osobno. Mozliwe ze wyjdzie taniej bo w moim zestawie było mnostwo dodatkowych elementow. Osobno musialem dokupic RTC... Do roboty... Zaczynamy od najprostrzej wersji kontrolera która prawdopodobnie dla wielu nanorafek będzie wystarczajaca. Na tym etapie komputerek będzie sterowal dwoma kanalami (niebieskim i bialym) i wlaczal swiatlo o okreslonej porze. Montujemy wszystko według schematow: RYSUNEK 1 RYSUNEK 2 RYSUNEK 3 Oto moje dzielo w calosci . Nie mam diod ani driverow wiec tak do konca w calosci nie jest ale mysle ze podlaczenie do drivera wedlug postu Tomasza to juz drobnostka To niestety nie koniec... bo bedzie sporo moich uwag... CDN... Jako ze bez oprogramowania nawet najlepszy komputer jest martwy oto oryginalny sketch. Natomiast w nastepnym poscie jest najbardziej aktualny sketch. Zeby nie bylo pomylek to cala zawartosc nastepnego postu nalezy skompilowac i wrzucic programatorem do procesor. Wkrotce przetlumacze uwagi w kodzie na polski i zaznacze te elementy programowalne Sketch oryginalny oryginalny.txt
  4. No wlasnie JARO ma racje - temat swiatla powoduje u nas na forum zawsze burzliwe dyskusje. Mimo ze co tydzien pojawia sie kilka nowych tematow nie ma jednoznacznej odpowiedzi. Jesli chcesz podejsc w pelni profesjonalnie do tematu akwarium proponuje zajrzec na RK do tematow o TOTMach i zobaczyc czym sa oswietlane najpiekniejsze tanki. A i tam pewnie bedzie spory rozrzut. W kazdym razie nie licz ze dostaniesz konkretna odpowiedz Jesli koniecznie chcesz SPSy to proponuje wygospodarowac kawalek akwarium i nad nim swiecic przyslowiowe 1W/1L a nad reszta mozesz dac mniej swiatla (oczywiscie jesli chcesz oszczedzic na rachunkach )
  5. z wieloszczetami jest tak ze jak beda mialy co jesc (detrytus, nadmiar pokarmu etc) to korali tykac nie beda. Sa niesamowicie pozyteczne jesli chodzi wlasnie o wyjadanie resztek pokarmu i czyszczenie skal z detrytusu i o ile nie dorastaja do monstualnych rozmiarow (a 10-15 cm to caly czas malenstwo) mysle ze warto im dac spokoj.
  6. Tester

    Stosowanie Bawelny

    jakos nie zauwazylem tego tematu wczesniej... tak jak pisal Stachu metoda z wata to kolejna metoda probiotyczna - czyli dokarmianie bakterii weglem. I prawdopodobnie bardziej zblizona dzialaniem do pelletek niz wodki. Wzialbym pod uwage te same warunki kotre sa przy pelletkach czyli, przeplyw, ilosc materialu, kh i czas. Jednak biorac pod uwage ze kulki turlaja sie w reaktorze (zamknietej przestrzeni) ktorego wylot jest skierowany do (lub w okolice) odpieniacza to mysle ze szukanie szczescia z wata jako kolejnym probiotykiem jest jak start w programie pt "na czym by tu jeszcze mozna jezdzic" gdzie ludzie wymyslaja jezdzace stoly, wanny, lozka etc. Niby da sie ale najwygodniej jednak samochodem...
  7. ja planuje zrobic plyte frontowa dostawiana na magnesy.
  8. Tester

    Przygarnij Kropka....

    a miedzyladowania w ladku nie masz czasem???
  9. a to jest jakos szczelnie przykryteze lezy na boku i sie woda nie wylewa???
  10. Tester

    iPad 2

    snake - kupilem niedawno Prime'a. Nie mam modelu z 3G ale dla mnie to nie problem. W domu leci na "WiFi" a poza domem zawsze mam telefon przy sobie wiec uzywam tetheringu. Poza tym niedawno ASUS odblowkowal bootrom wiec tyko patrzec kiedy pojawia sie aplikacje do obslugi zewnetrznych modemow 3g.
  11. Tester

    ustawienie akwarium na 50-60cm

    Male akwarium = malo pracy Duze akwarium = duzo pracy Jesli akwarium bedzie za nisko to kazda czynnosc bedziesz wykonywal przychylony co nie jest problemem przy 50 litrach. Jednak przy bol plecow bedzie Ci doskwieral. Wez pod uwage rowniez komfort obslugi
  12. Tester

    DSB / Refugium / Wódka

    Kosmid - dziala Ci DSB? Masz zadowalajace parametry? Masz zdrowe ryby i korale? To nic nie zmieniaj. Pamietaj : Lepsze jest wrogiem dobrego
  13. ja chyba tak ja robi nic nie poswiecilem (oprocz kaski i kawalka pokoju)
  14. Tester

    Przyrosty korali

    cos w tym jest...
  15. Tester

    Przyrosty korali

    no wlasnie seb mnie ubiegl... W wodzie mierzymy max 10 parametrow, a o setkach innych nie mamy pojecia
  16. nad morzem? co to my morza w domu nie mamy? ale takiego jeziora na ten przyklad nie mam
  17. Witam, Potrzebuje pomocy z tym ustrojstwem. Oryginalny czujnik taki jak na fotce. Podlaczylem i niby reaguje jak zblizam reke. Ale jak to ustawic i skalibrowac na szybie akwarium? Robie tak: Przystawiam do szyby nad powierzchnia wody, krece potencjometrem aby otrzymac wartosc progowa przy zgaszonej diodzie, przesuwam po szybie "pod wode" - ZERO reakcji. Taki sam efekt ja zaczynam "pod woda" z zapalona dioda - przesuwam w gore i dioda nie gasnie. Sam czujnik jednak dziala na zblizenie. Ktos to okielznal? Pozdro
  18. Tester

    żywica - ile w puszczce?

    Prawda, choc rozmawialem kiedys z producentem i powiedzial mi ze nie musi byc pelno o ile pojemnik stoi pionowo a woda przeplywa na tyle wolno ze nie porusza ziaren zywicy
  19. Tester

    Pudełko przelewowe DIY

    a nic podobnego
  20. Tester

    Szantowe aluzyje...

    http://www.youtube.com/watch?v=Qqw-6q-aPko
  21. Grzegorz, mysle ze musisz uwzglednic pewien aspekt w swoich zalozeniach neutralizacji siarkowodoru. Zakladajac ze przez "neutralizacje" masz na mysli utlenianie to musisz uwzglednic dodatkowa strefe w DSB pomiedzy warstwami: anaerobo-chemotroficzna a fototroficzna. Chodzi o to ze do utleniania H2S prawdopodobnie zaprzegniesz bakterie z rodzaju Thiobacillus a te wymagaja tlenu do utleniania H2S (czyli potrzebna wafrstwa aero-chemotroficzna). Jednak samo utlenianie siarkowodoru powoduje znaczne zakwaszenie wody co musisz wziasc pod uwage. Neutralizacja to niestety nie anihilizacja. Cos z tymi siarczynami/siarczanami bedzie trzeba zrobic. Druga sprawa to wysoka toksycznosc H2S. Dopoki nie bedzie zmineniony w siarke atomowa bedzie zabijal wszystko dookola z wyjatkiem oczywiscie samych bakterii. I tu wlasnie dochodzimy do meritum sprawy... Gdzie w tych warunkach jest miejsce dla beztlenowej czesci cyklu azotowego? Owszem, istnieja fotosyntetyzujece bakterie beztlenowe co jednak z tym swiatlem. Na zdjeciach, owszem widac ze pieknie pracuja ale tylko przy szybie a tam swiatlo dochodzi z boku a nie z gory. W glebokich warstwach DSB w srodkowej strefie zloza bedzie ciagle H2S Czyli mamy dwa problemy: -Wszedzie tam gdzie dotrze natleniona woda (gorne strefy DSB) wezma gore procesy tlenowe w efekcie czego nastapi znaczne zakwaszenie srodowiska przez aniony SO3(2-) i SO4(2-) -Fotosynteza w glebszych - beztlenowych warstwach DSB - to prawdopodobnie daloby sie rozwiazac jakimis ledami zlanymi zywica i zakopanymi w DSB Co do samych bakterii siarkowych to polecam publikacje (po polsku!!!) Paula Singletona pt "Bakterie w biologii, biotechnologii i medycynie"
  22. Tester

    Szantowe aluzyje...

    Ej szkoda ze mnie nie bedzie z moja gitarka
  23. ad1 dobrze ustawisz - nie bedzie siorbac. Jak woda nie bedzie zaciagala powietrza bedzie cicho ad 7 przez pol roku i tak SPSow nie wlozysz wiec nie masz co planowac silnego swiatla
  24. pierwsza sprawa to taka ze nie doceniles syna, ale nie ma tego zlego - witaj w klubie AB3000 - raczej za silna na 30L chyba ze musi wysoko dymac wode - ale to strata energii za to 1- nie znam - proponuje jednak (jesli chcesz oszczedzac na kominie) zrobic splyw kolankiem z tylnej scianki (2x) 2- odpieniek mozesz pominac - do 25 litrow i tak ryb nie wlozysz - ewentualnie jakiegos okinawe a do tego odpienika nie potrzeba 3 - 25W to max , a na poczatek to pewnie i 11 wystarczy - (wiecej w punkcie7) 4 - nie bardzo jest co komentowac - dolewka to dolewka - wazne zeby dzialala 5 - 5kg skaly - super - wazne zeby byla z dobrego zrodla 6 - po dojrzewaniu mozna wrzucic krewetke pare slimakow. Co do ryb, to moje zdanie jest takie ze do 30 L niewiele gatunkow sie nadaje. Co nie znaczy ze takowych nie ma. Pogoogluj o Gobiodon Okinawe. Co do blazna to rozumiem ze to marzenie dziecka . Jednak Blazenki lubia byc w parach a takie akwarium na dwa blazny to juz za malo. Chyba ze kupilbys TB - dwucentymetrowe "szczeniaczki" z hodowli. Tylko ze wtedy koniecznie musialbys za max 6 miechow przeprowadzac. 7 - obsada - w 30 litrach to nie poszalejesz - w zasadzie grzybki i zoaski, tu jednak wybor dosc spory i moze byc kolorowo - zobacz zbiorniczek @KAWY. LPSy najwczesniej za 4-5 miesiecy a wtedy to juz bedzie wieksze. O ile zostaniesz przy miekkich to spokojnie Ci wystarczy 11W. Czemu nie od razu 75L? Pozdro
  25. Do tych 3000L pradu bedziesz ciagnal jak male miasteczko
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wchodząc do serwisu Nano-Reef, zgadzasz się na warunki Warunki użytkowania.