صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 10 از 12
Like Tree2 لایک

موضوع: راه اندازی برد شیلد دیتا لاگر بخش ساعت

  1. #1
    Junior Member
    تاریخ عضویت
    Nov 2016
    نوشته ها
    8

    راه اندازی برد شیلد دیتا لاگر بخش ساعت

    با سلام من یک برد uno , یک شیلد دیتا لاگر تهیه کرده ام و انها را به من وصل کردم و برنامه راه اندازی ساعت از لینک فروشگاه را بر روی ان لود کردم ولی ساعت و تاریخ بی ربط نمایش می دهد 2165/165/165 (Thursday) 165:165:85
    لطفا راهنمایی بفرمایید
    نمونه برنامه
    // Date and time functions using a DS1307 RTC connected via I2C and Wire lib
    #include <Wire.h>
    #include "RTClib.h"

    RTC_PCF8523 rtc;

    char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

    void setup () {

    while (!Serial); // for Leonardo/Micro/Zero

    Serial.begin(57600);
    if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
    }

    if (! rtc.initialized()) {
    Serial.println("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled
    // rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    // This line sets the RTC with an explicit date & time, for example to set
    // January 21, 2014 at 3am you would call:
    // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
    }
    }

    void loop () {
    DateTime now = rtc.now();

    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(" (");
    Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
    Serial.print(") ");
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();

    Serial.print(" since midnight 1/1/1970 = ");
    Serial.print(now.unixtime());
    Serial.print("s = ");
    Serial.print(now.unixtime() / 86400L);
    Serial.println("d");

    // calculate a date which is 7 days and 30 seconds into the future
    DateTime future (now + TimeSpan(7,12,30,6));

    Serial.print(" now + 7d + 30s: ");
    Serial.print(future.year(), DEC);
    Serial.print('/');
    Serial.print(future.month(), DEC);
    Serial.print('/');
    Serial.print(future.day(), DEC);
    Serial.print(' ');
    Serial.print(future.hour(), DEC);
    Serial.print(':');
    Serial.print(future.minute(), DEC);
    Serial.print(':');
    Serial.print(future.second(), DEC);
    Serial.println();

    Serial.println();
    delay(3000);
    }
    لینک شیلد دیتا لاگرhttp://shop.aftabrayaneh.com/Arduino...=ASC&limit=100
    ویرایش توسط faridb : 12-04-2016 در ساعت 08:27 AM

  2. #2
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    112
    دوست عزیز این سورس که شما اپلود کردین مال ساعت i2c میباشد .من فکر نکم این سورس راهانداز باشه

  3. #3
    Junior Member
    تاریخ عضویت
    Nov 2016
    نوشته ها
    8
    من فقط بخش ساعت این شیلد را می خواهم راه اندازی کنم و این کد مربوط به لینک سایت فروشگاه است .
    اگر برنامه و یا تنظیم خاصی دارد لطفا راه نمایی بفرمایید

  4. #4
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    112
    صبر کنید تا ببنم میتوانم چ کمکی بکنم

  5. #5
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    112
    ببینید جواب میده یا نه

    کد:
    
    / /Date and time functions using a DS1307 RTC connected via I2C and Wire lib
    
    #include <Wire.h>
    #include "RTClib.h"
    
    #if defined(ARDUINO_ARCH_SAMD)
    // for Zero, output on USB Serial console, remove line below if using programming port to program the Zero!
       #define Serial SerialUSB
    #endif
    
    RTC_PCF8523 rtc;
    
    char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
    
    void setup () {
    
    #ifndef ESP8266
      while (!Serial); // for Leonardo/Micro/Zero
    #endif
    
      Serial.begin(57600);
      if (! rtc.begin()) {
        Serial.println("Couldn't find RTC");
        while (1);
      }
    
      
    }
    
    void loop () {
        DateTime now = rtc.now();
        
        Serial.print(now.year(), DEC);
        Serial.print('/');
        Serial.print(now.month(), DEC);
        Serial.print('/');
        Serial.print(now.day(), DEC);
        Serial.print(" (");
        Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
        Serial.print(") ");
        Serial.print(now.hour(), DEC);
        Serial.print(':');
        Serial.print(now.minute(), DEC);
        Serial.print(':');
        Serial.print(now.second(), DEC);
        Serial.println();
        
        Serial.print(" since midnight 1/1/1970 = ");
        Serial.print(now.unixtime());
        Serial.print("s = ");
        Serial.print(now.unixtime() / 86400L);
        Serial.println("d");
        
        // calculate a date which is 7 days and 30 seconds into the future
        DateTime future (now + TimeSpan(7,12,30,6));
        
        Serial.print(" now + 7d + 30s: ");
        Serial.print(future.year(), DEC);
        Serial.print('/');
        Serial.print(future.month(), DEC);
        Serial.print('/');
        Serial.print(future.day(), DEC);
        Serial.print(' ');
        Serial.print(future.hour(), DEC);
        Serial.print(':');
        Serial.print(future.minute(), DEC);
        Serial.print(':');
        Serial.print(future.second(), DEC);
        Serial.println();
        
        Serial.println();
        delay(3000);
    }
    [/QUOTE]
    ویرایش توسط mohammadali : 12-04-2016 در ساعت 09:46 AM

  6. #6
    Junior Member
    تاریخ عضویت
    Nov 2016
    نوشته ها
    8
    سلام کد را لود کردم این پیغام خطا را میده
    Arduino: 1.6.13 (Windows 7), Board: "Arduino/Genuino Uno"

    O:\farid\arduino\saat\saat.ino:4:20: fatal error: RTClib.h: No such file or directory

    #include "RTClib.h"

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

    This report would have more information with
    "Show verbose output during compilation"
    option enabled in File -> Preferences.

  7. #7
    Junior Member
    تاریخ عضویت
    Nov 2016
    نوشته ها
    8
    کتابخانه ار سی تی وجود نداشت دانلود کردم و کپی کردم خطاب برنامه درست شد ولی برنامه را که لود کردم همان پیغام اولیه را میده:
    2125/145/0 (Thursday) 1:1:1
    since midnight 1/1/1970 = 1470594765s = 17020d
    now + 7d + 30s: 2016/8/15 7:2:51

  8. #8
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    112
    نقل قول نوشته اصلی توسط faridb نمایش پست ها
    کتابخانه ار سی تی وجود نداشت دانلود کردم و کپی کردم خطاب برنامه درست شد ولی برنامه را که لود کردم همان پیغام اولیه را میده:
    2125/145/0 (Thursday) 1:1:1
    since midnight 1/1/1970 = 1470594765s = 17020d
    now + 7d + 30s: 2016/8/15 7:2:51
    خوب عزیز من شما همه کارا رو کردی برو تو کتابخونه RTClib و گذینه DS1307 یک بار اپلود کن تا تایم روی ماژول تنظیم بشه با pc بعد درست نشون میده بهت ساعت وتاریخ دقیق
    البته یکسری کد هات درست نیستند از نظر من یک بار طبق تصویر کتابخونه ds1307 اپ کن و برو سریال ببین چطوریه برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Untitled.jpg
مشاهده: 144
حجم: 63.5 کیلو بایت

  9. #9
    Junior Member
    تاریخ عضویت
    Nov 2016
    نوشته ها
    8
    با تشکر از پیگیری شما
    بعد همه نوع تست بالاخره در همون مثالها گزینه softrtc جواب داد
    // Date and time functions using just software, based on millis() & timer

    #include <Arduino.h>
    #include <Wire.h> // this #include still required because the RTClib depends on it
    #include "RTClib.h"

    #if defined(ARDUINO_ARCH_SAMD)
    // for Zero, output on USB Serial console, remove line below if using programming port to program the Zero!
    #define Serial SerialUSB
    #endif

    RTC_Millis rtc;

    void setup () {
    Serial.begin(57600);
    // following line sets the RTC to the date & time this sketch was compiled
    rtc.begin(DateTime(F(__DATE__), F(__TIME__)));
    // This line sets the RTC with an explicit date & time, for example to set
    // January 21, 2014 at 3am you would call:
    // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
    }

    void loop () {
    DateTime now = rtc.now();

    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();

    Serial.print(" seconds since 1970: ");
    Serial.println(now.unixtime());

    // calculate a date which is 7 days and 30 seconds into the future
    DateTime future (now.unixtime() + 7 * 86400L + 30);

    Serial.print(" now + 7d + 30s: ");
    Serial.print(future.year(), DEC);
    Serial.print('/');
    Serial.print(future.month(), DEC);
    Serial.print('/');
    Serial.print(future.day(), DEC);
    Serial.print(' ');
    Serial.print(future.hour(), DEC);
    Serial.print(':');
    Serial.print(future.minute(), DEC);
    Serial.print(':');
    Serial.print(future.second(), DEC);
    Serial.println();

    Serial.println();
    delay(3000);
    }
    لایک کردن

  10. #10
    Junior Member
    تاریخ عضویت
    Nov 2016
    نوشته ها
    8
    سلام من برد یونو و شیلد دیتا لاگر و ال سی دی کلید دار را وصل کردم و برنامه زیر را روی ان لود کردم
    //Sample using LiquidCrystal library
    #include <LiquidCrystal.h>
    #include <Arduino.h>
    #include <Wire.h>
    #include "RTClib.h"

    #if defined(ARDUINO_ARCH_SAMD)
    // for Zero, output on USB Serial console, remove line below if using programming port to program the Zero!
    #define Serial SerialUSB
    #endif

    RTC_Millis rtc;


    LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

    // define some values used by the panel and buttons
    int lcd_key = 0;
    int adc_key_in = 0;
    #define btnRIGHT 0
    #define btnUP 1
    #define btnDOWN 2
    #define btnLEFT 3
    #define btnSELECT 4
    #define btnNONE 5

    // read the buttons
    int read_LCD_buttons()
    {
    adc_key_in = analogRead(0); // read the value from the sensor
    // my buttons when read are centered at these valies: 0, 144, 329, 504, 741
    // we add approx 50 to those values and check to see if we are close
    if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result
    // For V1.1 us this threshold
    if (adc_key_in < 50) return btnRIGHT;
    if (adc_key_in < 250) return btnUP;
    if (adc_key_in < 450) return btnDOWN;
    if (adc_key_in < 650) return btnLEFT;
    if (adc_key_in < 850) return btnSELECT;

    // For V1.0 comment the other threshold and use the one below:



    return btnNONE; // when all others fail, return this...
    }

    void setup()
    {
    lcd.begin(16, 2); // start the library
    //lcd.setCursor(0,0);
    // lcd.print("Push the buttons"); // print a simple message
    //lcd.print("farid bazmandegan");
    Serial.begin(57600);
    rtc.begin(DateTime(F(__DATE__), F(__TIME__)));

    }

    void loop()
    {

    DateTime now = rtc.now();

    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();
    delay(1000);


    lcd.setCursor(0,0);
    lcd.print(now.year(), DEC);
    lcd.print("/");
    lcd.print(now.month(), DEC);
    lcd.print("/");
    lcd.print(now.day(), DEC);
    lcd.setCursor(1,1);
    lcd.print(now.hour(), DEC);
    lcd.print(":");
    lcd.print(now.minute(), DEC);
    lcd.print(":");
    lcd.print(now.second(), DEC);
    }
    و ساعت و تاریخ راروی ال سی دی و ترمینال نمایش می دهد ولی مشکل اینجاست که وقتی تغذیه از برد یوتنو جدا می شود بعد از وصل دوباره تاریخ و ساعت دوباره به همان زمان و تاریخ کامپایل کردن برنامه بر می گردد
    چطور می شود این مشکل را حل کرد که ساعت و تاریخ تنظیم شده تغییر نکندد با تشکر

صفحه 1 از 2 12 آخرینآخرین

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO