Close

letakp

Vytvořené odpovědi

Aktuálně je na stránce zobrazeno 15 příspěvků - 1. až 15. (celkem z 15)
  • Autor
    Příspěvky
  • odpověď na: Osvětlení akvaria Led pásky #7723
    letakp
    Účastník

    Tak ten kód, jenom jsou tam pro čas i sekundy, ty být nemusí, a místo toho nějaký znak pro zobrazení svitu LED a teplota je místo z čidla externího braná z DS3231.

    Tak kód mi nejde vložit, nevím proč, pořád to píše err 403

    odpověď na: Osvětlení akvaria Led pásky #7721
    letakp
    Účastník

    Tak zatím obrázek jak bych si to představoval, kód dodám později.

    odpověď na: Osvětlení akvaria Led pásky #7699
    letakp
    Účastník

    Ahoj. Tak po delší době jsem si pořídil displej s I2C sběrnicí a na vyzkoušení jsem použil program pro ovládání LCD displeje jen pro ověření činnosti. A nyní k mému dotazu.
    Jakým způsobem by šlo dát oba tyto kódy dohromady aby mi fungovalo stmívání a rozsvěcení LED pásku a zároveň mohl mít zobrazeno na displeji datum, čas, teplotu z čidla (teplota vody akvaria) případně ještě znak pro svícení nebo nesvícení?

    Už jsem zkoušel dát kódy dohromady, ale buďto nešel displej a nebo mi to nešlo ani načíst v programu 🙁

    Děkuji za každé popostrčení.

    odpověď na: Osvětlení akvaria Led pásky #7305
    letakp
    Účastník

    Díky psjirko za upozornění, já si to bral jako překlad z ArduinoIDE Kopírovat pro použití ve fóru a ono to dělá toto.
    Správná varianta je:

    #include <Wire.h>
    #define DS3231_I2C_ADDRESS 0x68
    // Convert normal decimal numbers to binary coded decimal
    byte decToBcd(byte val)
    {
    return( (val/10*16) + (val%10) );
    }
    // Convert binary coded decimal to normal decimal numbers
    byte bcdToDec(byte val)
    {
    return( (val/16*10) + (val%16) );
    }
    int svetlo1 = 9;
    int sviti = 0;
    int den = 0;
    int jas = 0;
    
    byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
    
    void setup()
    {
    
    Wire.begin();
    Serial.begin(9600);
    // set the initial time here:
    // DS3231 seconds, minutes, hours, day, date, month, year
    //setDS3231time(00,59,18,7,05,06,16);
    }
    void setDS3231time(byte second, byte minute, byte hour, byte dayOfWeek, byte
    dayOfMonth, byte month, byte year)
    {
    // sets time and date data to DS3231
    Wire.beginTransmission(DS3231_I2C_ADDRESS);
    Wire.write(0); // set next input to start at the seconds register
    Wire.write(decToBcd(second)); // set seconds
    Wire.write(decToBcd(minute)); // set minutes
    Wire.write(decToBcd(hour)); // set hours
    Wire.write(decToBcd(dayOfWeek)); // set day of week (1=pondeli, 7=nedele)
    Wire.write(decToBcd(dayOfMonth)); // set date (1 to 31)
    Wire.write(decToBcd(month)); // set month
    Wire.write(decToBcd(year)); // set year (0 to 99)
    Wire.endTransmission();
    }
    void readDS3231time(byte *second,
    byte *minute,
    byte *hour,
    byte *dayOfWeek,
    byte *dayOfMonth,
    byte *month,
    byte *year)
    {
    Wire.beginTransmission(DS3231_I2C_ADDRESS);
    Wire.write(0); // set DS3231 register pointer to 00h
    Wire.endTransmission();
    Wire.requestFrom(DS3231_I2C_ADDRESS, 7);
    // request seven bytes of data from DS3231 starting from register 00h
    *second = bcdToDec(Wire.read() & 0x7f);
    *minute = bcdToDec(Wire.read());
    *hour = bcdToDec(Wire.read() & 0x3f);
    *dayOfWeek = bcdToDec(Wire.read());
    *dayOfMonth = bcdToDec(Wire.read());
    *month = bcdToDec(Wire.read());
    *year = bcdToDec(Wire.read());
    
    }
    void displayTime()
    {
    ;
    // retrieve data from DS3231
    readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month,
    &year);
    // send it to the serial monitor
    Serial.print(hour, DEC);
    // convert the byte variable to a decimal number when displayed
    Serial.print(":");
    if (minute<10)
    {
    Serial.print("0");
    }
    Serial.print(minute, DEC);
    Serial.print(":");
    if (second<10)
    {
    Serial.print("0");
    }
    Serial.print(second, DEC);
    Serial.print(" ");
    Serial.print(dayOfMonth, DEC);
    Serial.print("/");
    Serial.print(month, DEC);
    Serial.print("/");
    Serial.print(year, DEC);
    Serial.print(" Den: ");
    switch(dayOfWeek){
    case 7:
    Serial.println("nedele");
    break;
    case 1:
    Serial.println("pondeli");
    break;
    case 2:
    Serial.println("utery");
    break;
    case 3:
    Serial.println("streda");
    break;
    case 4:
    Serial.println("ctvrtek");
    break;
    case 5:
    Serial.println("patek");
    break;
    case 6:
    Serial.println("sobota");
    break;
    }
    }
    void loop()
    {
    
    pinMode(svetlo1,OUTPUT);
    displayTime(); // display the real-time clock data on the Serial Monitor,
    delay(1000); // every second
    
    byte s, m, h, dvt, dvm, mesic, r;
    readDS3231time(&s, &m, &h, &dvt, &dvm, &mesic, &r);
    
    if (h >= 8 && h < 20) den = 1; // nastaveni intervalu sviceni
    else den = 0;
    for (byte brightness = 0; den == 1 && sviti == 0 && brightness <= 255; brightness ++) {
    displayTime(); // display the real-time clock data on the Serial Monitor,
    analogWrite(svetlo1, brightness);
    if(brightness == 255) sviti = 1;
    delay(5000);
    
    }
    
    for (byte brightness = 255; den == 0 && sviti == 1 && brightness >= 0; brightness --) {
    displayTime(); // display the real-time clock data on the Serial Monitor,
    analogWrite(svetlo1, brightness);
    if(brightness == 0) sviti = 0;
    delay(5000);}
    
    }

    A zatím, co ji testuju už skoro týden, tak chodí bez problémů.
    Na ty pole, jak jsi mi nastínil se moc necítím. Trochu jsem to četl, ale asi jsem už starší a pomaleji chápu, tak radši budu mít tuto jistotu. Ale i tak díky za popostrčení, bylo to velmi užitečné, myslím i pro vnouzirozbijsklo.

    odpověď na: Osvětlení akvaria Led pásky #7250
    letakp
    Účastník

    Nevím proč ale při kopii programu do schránky se nezobrazuje správně řádek:
    for (byte brightness = 255; den == 0 && sviti == 1 && brightness >= 0; brightness –) {

    Správně tam patří rightness >=0; brightness –) jak mně upozornil posjirka.

    odpověď na: Osvětlení akvaria Led pásky #7248
    letakp
    Účastník

    Sorry, neposlalo se to 🙁

    Je to zde:

    [code]

    #include <Wire.h>
    #define DS3231_I2C_ADDRESS 0x68
    // Convert normal decimal numbers to binary coded decimal
    byte decToBcd(byte val)
    {
    return( (val/10*16) + (val%10) );
    }
    // Convert binary coded decimal to normal decimal numbers
    byte bcdToDec(byte val)
    {
    return( (val/16*10) + (val%16) );
    }
    int svetlo1 = 9;
    int sviti = 0;
    int den = 0;
    int jas = 0;

    byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

    void setup()
    {

    Wire.begin();
    Serial.begin(9600);
    // set the initial time here:
    // DS3231 seconds, minutes, hours, day, date, month, year
    //setDS3231time(00,59,18,7,05,06,16);
    }
    void setDS3231time(byte second, byte minute, byte hour, byte dayOfWeek, byte
    dayOfMonth, byte month, byte year)
    {
    // sets time and date data to DS3231
    Wire.beginTransmission(DS3231_I2C_ADDRESS);
    Wire.write(0); // set next input to start at the seconds register
    Wire.write(decToBcd(second)); // set seconds
    Wire.write(decToBcd(minute)); // set minutes
    Wire.write(decToBcd(hour)); // set hours
    Wire.write(decToBcd(dayOfWeek)); // set day of week (1=pondeli, 7=nedele)
    Wire.write(decToBcd(dayOfMonth)); // set date (1 to 31)
    Wire.write(decToBcd(month)); // set month
    Wire.write(decToBcd(year)); // set year (0 to 99)
    Wire.endTransmission();
    }
    void readDS3231time(byte *second,
    byte *minute,
    byte *hour,
    byte *dayOfWeek,
    byte *dayOfMonth,
    byte *month,
    byte *year)
    {
    Wire.beginTransmission(DS3231_I2C_ADDRESS);
    Wire.write(0); // set DS3231 register pointer to 00h
    Wire.endTransmission();
    Wire.requestFrom(DS3231_I2C_ADDRESS, 7);
    // request seven bytes of data from DS3231 starting from register 00h
    *second = bcdToDec(Wire.read() & 0x7f);
    *minute = bcdToDec(Wire.read());
    *hour = bcdToDec(Wire.read() & 0x3f);
    *dayOfWeek = bcdToDec(Wire.read());
    *dayOfMonth = bcdToDec(Wire.read());
    *month = bcdToDec(Wire.read());
    *year = bcdToDec(Wire.read());

    }
    void displayTime()
    {
    ;
    // retrieve data from DS3231
    readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month,
    &year);
    // send it to the serial monitor
    Serial.print(hour, DEC);
    // convert the byte variable to a decimal number when displayed
    Serial.print(„:“);
    if (minute<10)
    {
    Serial.print(„0“);
    }
    Serial.print(minute, DEC);
    Serial.print(„:“);
    if (second<10)
    {
    Serial.print(„0″);
    }
    Serial.print(second, DEC);
    Serial.print(“ „);
    Serial.print(dayOfMonth, DEC);
    Serial.print(„/“);
    Serial.print(month, DEC);
    Serial.print(„/“);
    Serial.print(year, DEC);
    Serial.print(“ Den: „);
    switch(dayOfWeek){
    case 7:
    Serial.println(„nedele“);
    break;
    case 1:
    Serial.println(„pondeli“);
    break;
    case 2:
    Serial.println(„utery“);
    break;
    case 3:
    Serial.println(„streda“);
    break;
    case 4:
    Serial.println(„ctvrtek“);
    break;
    case 5:
    Serial.println(„patek“);
    break;
    case 6:
    Serial.println(„sobota“);
    break;
    }
    }
    void loop()
    {

    pinMode(svetlo1,OUTPUT);
    displayTime(); // display the real-time clock data on the Serial Monitor,
    delay(1000); // every second

    byte s, m, h, dvt, dvm, mesic, r;
    readDS3231time(&s, &m, &h, &dvt, &dvm, &mesic, &r);

    if (h >= 8 && h < 20) den = 1; // nastaveni intervalu sviceni
    else den = 0;
    for (byte brightness = 0; den == 1 && sviti == 0 && brightness <= 255; brightness ++) {
    displayTime(); // display the real-time clock data on the Serial Monitor,
    analogWrite(svetlo1, brightness);
    if(brightness == 255) sviti = 1;
    delay(5000);

    }

    for (byte brightness = 255; den == 0 && sviti == 1 && brightness >= 0; brightness –) {
    displayTime(); // display the real-time clock data on the Serial Monitor,
    analogWrite(svetlo1, brightness);
    if(brightness == 0) sviti = 0;
    delay(5000);}

    }

    [/code]

    odpověď na: Osvětlení akvaria Led pásky #7247
    letakp
    Účastník

    Tak to jsem vyřešil stejně jako to kolísání při rozsvěcení. Je potřeba dát na konci řádku informaci o tom, že hodnota je větší NEBO rovna 0. Zatím funkční část tvého programu s mýma úpravama je tady :

    odpověď na: Osvětlení akvaria Led pásky #7245
    letakp
    Účastník

    Díky za upozornění, ale v programu to bylo tak, jak to má být, nevím, buďto jsem to opravil hned po nahraní na forum a nebo se to smázlo cestou na forum 😀
    Včera jsem to zkoušel a v poho to celý den svítilo a večer to pohaslo až do konce.
    pokud to bude fungovat, zkusim ještě tu tvoji verzi a uvidim, co bude vyhovovat víc.
    Ještě mám v plánu pořídit displej a zobrazovat aktuální čas a třeba teplotu nasnímanou z čidla teploty. Snímač CO2 jsem zatím neviděl, tak to by bylo ještě něco, co by mi tam chybělo aby to bylo dokonalé.

    odpověď na: Osvětlení akvaria Led pásky #7239
    letakp
    Účastník

    Zatím jsem upravil void loop a funguje mi to asi tak, jak jsem si představoval.
    výpis loop zde:
    void loop()
    {

    pinMode(svetlo1,OUTPUT);
    displayTime(); // display the real-time clock data on the Serial Monitor,
    delay(1000); // every second

    byte s, m, h, dvt, dvm, mesic, r;
    readDS3231time(&s, &m, &h, &dvt, &dvm, &mesic, &r);

    if (h >= 8 && h < 21) den = 1; // nastaveni intervalu sviceni
    else den = 0;
    for (byte brightness = 0; den == 1 && sviti == 0 && brightness <= 255; brightness ++) {
    displayTime(); // display the real-time clock data on the Serial Monitor,
    analogWrite(svetlo1, brightness);
    if(brightness == 255) sviti = 1;
    delay(5000);

    }

    for (byte brightness = 255; den == 0 && sviti == 1 && brightness >= 0; brightness –) {
    displayTime(); // display the real-time clock data on the Serial Monitor,
    analogWrite(svetlo1, brightness);
    if(brightness == 0) sviti = 0;
    delay(5000);}

    }

    odpověď na: Osvětlení akvaria Led pásky #7238
    letakp
    Účastník

    To-posjirka Tak to, že by se to rozsvěcelo hodinu by nevadilo, ba naopak, jenom přesně nechápu, jak to myslíš s těmi poli, jestli máš chvilku, zkus mně alespoň navést, zkusim si o tom něco přečíst, uvidim, co ze mně vypadne. Díky.

    odpověď na: Osvětlení akvaria Led pásky #7234
    letakp
    Účastník

    To-ArduXPP Ta baterie je jenom záložní, takže se nenabíjí. Má jenom 3,5V a do destičky se pouští 5V.
    To-posjirka Tak čip je odzkoušený a funkční. Teď ještě odladit prográmek pro to akvárko, něco se mi tam nezdá, ještě musím posledovat chování v průběhu dne a při různých poruchových stavech, zatím co jsem zjistil, že pokud je v režimu noc, tak LED TX bliká co 1sec. a když dopočítá 255 kroků do úplného rozednění, tak přestane LED TX blikat a ani na výpisu monitoru se neobjevují nové informace o čase. A taky se mi asi po cca 30 minutách resetuje a startuje znovu, ale LED nebliká.
    Datasheet k DS3231 je zde: https://datasheets.maximintegrated.com/en/ds/DS3231.pdf

    Tady je výpis mé úpravy programu z prvního příspěvku:
    [code]
    #include <Wire.h>
    #define DS3231_I2C_ADDRESS 0x68
    // Convert normal decimal numbers to binary coded decimal
    byte decToBcd(byte val)
    {
    return( (val/10*16) + (val%10) );
    }
    // Convert binary coded decimal to normal decimal numbers
    byte bcdToDec(byte val)
    {
    return( (val/16*10) + (val%16) );
    }
    int svetlo1 = 9;
    int sviti = 0;
    int den = 0;
    int jas = 0;

    byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

    void setup()
    {

    Wire.begin();
    Serial.begin(9600);
    // set the initial time here:
    // DS3231 seconds, minutes, hours, day, date, month, year
    //setDS3231time(00,59,18,7,05,06,16);
    }
    void setDS3231time(byte second, byte minute, byte hour, byte dayOfWeek, byte
    dayOfMonth, byte month, byte year)
    {
    // sets time and date data to DS3231
    Wire.beginTransmission(DS3231_I2C_ADDRESS);
    Wire.write(0); // set next input to start at the seconds register
    Wire.write(decToBcd(second)); // set seconds
    Wire.write(decToBcd(minute)); // set minutes
    Wire.write(decToBcd(hour)); // set hours
    Wire.write(decToBcd(dayOfWeek)); // set day of week (1=pondeli, 7=nedele)
    Wire.write(decToBcd(dayOfMonth)); // set date (1 to 31)
    Wire.write(decToBcd(month)); // set month
    Wire.write(decToBcd(year)); // set year (0 to 99)
    Wire.endTransmission();
    }
    void readDS3231time(byte *second,
    byte *minute,
    byte *hour,
    byte *dayOfWeek,
    byte *dayOfMonth,
    byte *month,
    byte *year)
    {
    Wire.beginTransmission(DS3231_I2C_ADDRESS);
    Wire.write(0); // set DS3231 register pointer to 00h
    Wire.endTransmission();
    Wire.requestFrom(DS3231_I2C_ADDRESS, 7);
    // request seven bytes of data from DS3231 starting from register 00h
    *second = bcdToDec(Wire.read() & 0x7f);
    *minute = bcdToDec(Wire.read());
    *hour = bcdToDec(Wire.read() & 0x3f);
    *dayOfWeek = bcdToDec(Wire.read());
    *dayOfMonth = bcdToDec(Wire.read());
    *month = bcdToDec(Wire.read());
    *year = bcdToDec(Wire.read());

    }
    void displayTime()
    {
    ;
    // retrieve data from DS3231
    readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month,
    &year);
    // send it to the serial monitor
    Serial.print(hour, DEC);
    // convert the byte variable to a decimal number when displayed
    Serial.print(„:“);
    if (minute<10)
    {
    Serial.print(„0“);
    }
    Serial.print(minute, DEC);
    Serial.print(„:“);
    if (second<10)
    {
    Serial.print(„0″);
    }
    Serial.print(second, DEC);
    Serial.print(“ „);
    Serial.print(dayOfMonth, DEC);
    Serial.print(„/“);
    Serial.print(month, DEC);
    Serial.print(„/“);
    Serial.print(year, DEC);
    Serial.print(“ Den: „);
    switch(dayOfWeek){
    case 7:
    Serial.println(„nedele“);
    break;
    case 1:
    Serial.println(„pondeli“);
    break;
    case 2:
    Serial.println(„utery“);
    break;
    case 3:
    Serial.println(„streda“);
    break;
    case 4:
    Serial.println(„ctvrtek“);
    break;
    case 5:
    Serial.println(„patek“);
    break;
    case 6:
    Serial.println(„sobota“);
    break;
    }
    }
    void loop()
    {

    pinMode(svetlo1,OUTPUT);
    displayTime(); // display the real-time clock data on the Serial Monitor,
    delay(1000); // every second

    byte s, m, h, dvt, dvm, mesic, r;
    readDS3231time(&s, &m, &h, &dvt, &dvm, &mesic, &r);

    if (h >= 8 && h < 20) den = 1; // nastaveni intervalu sviceni
    else den = 0;
    for (byte brightness = 0; den == 1 && sviti == 0 && brightness < 255; brightness ++) {
    analogWrite(svetlo1, brightness);
    if(brightness == 255) sviti = 1;
    delay(5000);
    }

    for (byte brightness = 255; den == 0 && sviti == 1 && brightness > 0; brightness –) {
    analogWrite(svetlo1, brightness);
    if(brightness == 0) sviti = 0;
    delay(5000);}

    }
    [/code]

    odpověď na: Osvětlení akvaria Led pásky #7217
    letakp
    Účastník

    Ahoj, právě když jsem zkoušel všechny možnosti s RTC, tak mi to nefungovalo nikdy.
    Špatně zapojené SDA a SCK jsem vyloučil otočením a stále nic.
    Tak jsem si prohlédl čip pod lupou a zjistil jsem, že je polovina nožiček ve vzduchu. Dneska to přiletuju a večer doma odzkouším funkčnost. Díky zatím za malou nápovědu v čem by ten problém mohl být.

    odpověď na: Osvětlení akvaria Led pásky #7202
    letakp
    Účastník

    Tak jsem se díval na ty knihovny a zjistil jsem, že tam asi fakt nic není, tak jsem stáhl a nainstaloval knihovnu a potom se před #include „wire.h“ nainstalovalo toto:
    #include <RtcDateTime.h>
    #include <RtcDS3231.h>
    #include <RtcTemperature.h>

    Ale stejně to na monitoru vypisuje to stejné.

    odpověď na: Osvětlení akvaria Led pásky #7201
    letakp
    Účastník

    Tak toto je moje verze upravená podle původního návrhu od vnouzirozbijsklo:

    #include „Wire.h“
    #define DS3231_I2C_ADDRESS 0x68
    // Convert normal decimal numbers to binary coded decimal
    byte decToBcd(byte val)
    {
    return( (val/10*16) + (val%10) );
    }
    // Convert binary coded decimal to normal decimal numbers
    byte bcdToDec(byte val)
    {
    return( (val/16*10) + (val%16) );
    }
    int svetlo1 = 9;
    int sviti = 0;
    int den = 0;
    int jas = 0;

    byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

    void setup()
    {

    Wire.begin();
    Serial.begin(9600);
    // set the initial time here:
    // DS3231 seconds, minutes, hours, day, date, month, year
    //setDS3231time(30,27,19,7,15,11,15);
    }
    void setDS3231time(byte second, byte minute, byte hour, byte dayOfWeek, byte
    dayOfMonth, byte month, byte year)
    {
    // sets time and date data to DS3231
    Wire.beginTransmission(DS3231_I2C_ADDRESS);
    Wire.write(0); // set next input to start at the seconds register
    Wire.write(decToBcd(second)); // set seconds
    Wire.write(decToBcd(minute)); // set minutes
    Wire.write(decToBcd(hour)); // set hours
    Wire.write(decToBcd(dayOfWeek)); // set day of week (1=pondeli, 7=nedele)
    Wire.write(decToBcd(dayOfMonth)); // set date (1 to 31)
    Wire.write(decToBcd(month)); // set month
    Wire.write(decToBcd(year)); // set year (0 to 99)
    Wire.endTransmission();
    }
    void readDS3231time(byte *second,
    byte *minute,
    byte *hour,
    byte *dayOfWeek,
    byte *dayOfMonth,
    byte *month,
    byte *year)
    {
    Wire.beginTransmission(DS3231_I2C_ADDRESS);
    Wire.write(0); // set DS3231 register pointer to 00h
    Wire.endTransmission();
    Wire.requestFrom(DS3231_I2C_ADDRESS, 7);
    // request seven bytes of data from DS3231 starting from register 00h
    *second = bcdToDec(Wire.read() & 0x7f);
    *minute = bcdToDec(Wire.read());
    *hour = bcdToDec(Wire.read() & 0x3f);
    *dayOfWeek = bcdToDec(Wire.read());
    *dayOfMonth = bcdToDec(Wire.read());
    *month = bcdToDec(Wire.read());
    *year = bcdToDec(Wire.read());

    }
    void displayTime()
    {
    ;
    // retrieve data from DS3231
    readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month,
    &year);
    // send it to the serial monitor
    Serial.print(hour, DEC);
    // convert the byte variable to a decimal number when displayed
    Serial.print(„:“);
    if (minute<10)
    {
    Serial.print(„0“);
    }
    Serial.print(minute, DEC);
    Serial.print(„:“);
    if (second<10)
    {
    Serial.print(„0″);
    }
    Serial.print(second, DEC);
    Serial.print(“ „);
    Serial.print(dayOfMonth, DEC);
    Serial.print(„/“);
    Serial.print(month, DEC);
    Serial.print(„/“);
    Serial.print(year, DEC);
    Serial.print(“ Day of week: „);
    switch(dayOfWeek){
    case 7:
    Serial.println(„nedele“);
    break;
    case 1:
    Serial.println(„pondeli“);
    break;
    case 2:
    Serial.println(„utery“);
    break;
    case 3:
    Serial.println(„streda“);
    break;
    case 4:
    Serial.println(„ctvrtek“);
    break;
    case 5:
    Serial.println(„patek“);
    break;
    case 6:
    Serial.println(„sobota“);
    break;
    }
    }
    void loop()
    {

    pinMode(svetlo1,OUTPUT);
    displayTime(); // display the real-time clock data on the Serial Monitor,
    delay(1000); // every second

    byte s, m, h, dvt, dvm, mesic, r;
    readDS3231time(&s, &m, &h, &dvt, &dvm, &mesic, &r);

    if (h >= 9 && h < 21) den = 1; // nastaveni intervalu sviceni
    else den = 0;
    for (byte brightness = 0; den == 1 && sviti == 0 && brightness < 255; brightness ++) {
    analogWrite(svetlo1, brightness);
    if(brightness == 255) sviti = 1;
    delay(3500);
    }

    for (byte brightness = 255; den == 0 && sviti == 1 && brightness > 0; brightness –) {
    analogWrite(svetlo1, brightness);
    if(brightness == 0) sviti = 0;
    delay(3500);}

    }

    odpověď na: Osvětlení akvaria Led pásky #7196
    letakp
    Účastník

    Dobrý den. Jsem akvarista amatér a toto téma mně chytlo a chtěl jsem vyzkoušet to stmívání a rozednívání LED pásků. Proto jsem otevřel toto téma a nahrál program do programu a projel test. Při tomto jsem zjistil pár drobných chybiček, ty jsem opravil a program mi v seriovém monitoru nezobrazuje aktuální čas a datum. vypisuje mi pouze tuto hlášku každou vteřinu: 45:165:85 165/165/165 Day of week:
    Chtěl jsem se zeptat, co mám špatně. Mám RTC DS3231 a klon NHduino UNO. Děkuji za odpověď.
    Pavel

Aktuálně je na stránce zobrazeno 15 příspěvků - 1. až 15. (celkem z 15)