نمایش نتایج: از 1 به 7 از 7
Like Tree1 لایک
  • 1 Post By abdolhamednik

موضوع: مشکل در ذخیره داده در SD Card

  1. #1
    Junior Member
    تاریخ عضویت
    May 2015
    نوشته ها
    18

    Smile مشکل در ذخیره داده در SD Card

    سلام

    با ماژول SD Card Reader با قابلیت خواندن و نوشتن مشکل دارم

    کد نوشته شده در انجمن (خواندن اطلاعات روی SD) جواب میده >> احتمالا ماژول سالمه و سیم بندی درسته!

    اما کد rfid logger جواب نمیده؛ یعنی نمیشه هیچ داده ای رو روی sd card ذخیره کرد

    فقط فایل خام رو می سازه ولی هیچ چیز روش نمی نویسه

    بنظر شما علت چیه؟

  2. #2
    Junior Member
    تاریخ عضویت
    May 2015
    نوشته ها
    18
    البته اینو هم باید بگم ک من rfid ندارم و بجاش این چندخط رو گذاشتم


  3. #3
    Junior Member
    تاریخ عضویت
    May 2015
    نوشته ها
    18
    بخشی از کد رو بریدمبرای دیدن سایز بزرگ روی عکس کلیک کنید

نام: Untitled.png
مشاهده: 68
حجم: 5.7 کیلو بایت

  4. #4
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط abdolhamednik نمایش پست ها
    بخشی از کد رو بریدم

    توی همون کد دیتا لاگر کافیه قسمت RFID رو برداری و ورودی تابعت رو به جای کاراکتر int تعریف کنی .
    اینو تست کن:
    کد:
    #include <SD.h>
    #include <SPI.h>
    #define SS_PIN 9  
    #define RST_PIN 3
    
    
    
    
    
    
    
    
    
    
    void setup()
    {
      
      SPI.begin();            // Init SPI bus 
      Serial.print("Initializing SD card...");
      // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
      // Note that even if it's not used as the CS pin, the hardware SS pin 
      // (10 on most Arduino boards, 53 on the Mega) must be left as an output 
      // or the SD library functions will not work. 
    
    
      if (!SD.begin(10)) {
        Serial.println("initialization failed!");
        return;
      }
      Serial.println("initialization done.");
    }
    
    
    void loop()
    {
      writeFile(125);
    }
    
    
    void rfidData(){
     
    }
    
    
    void writeFile(int data){
      File myFile;
      Serial.print("Saving data: ");
      myFile = SD.open("data2.txt", FILE_WRITE);
      //  Serial.println(data);
      myFile.println(data);
      delay(50);
      myFile.close();
      Serial.println(data);
    
    
    }

  5. #5
    Junior Member
    تاریخ عضویت
    May 2015
    نوشته ها
    18
    ممنونم حل شد
    یعنی گیر کار فقط در ناهمخوانی نوع متغیرها بود؟
    لایک کردن

  6. #6
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط abdolhamednik نمایش پست ها
    ممنونم حل شد
    یعنی گیر کار فقط در ناهمخوانی نوع متغیرها بود؟

    بله
    پایه کد نویسی متغیرهاست

  7. #7
    Junior Member
    تاریخ عضویت
    Jul 2017
    نوشته ها
    1

    مشکل در ذخیره داده انالوگ در sd card

    سلام

    من با برد ATmega 2560 دارم کار میکنم و ، میخام که یک ورودی انالوگ ( سنسور رطوبت ) دریافت کنه و دیتاهایی که سنسور میخونه تحت تابع map بشه عددی بین 0 و 100 و هر ( یک ساعت یکبار ) این اطلاعات رو ذخیره کنه داخل sd card .الان کدی که زدم بعد از اپلود کردن اروری نمیده ، ولی خب حتی یک new folder هم ایجاد نمیکنه داخل sd card دیگه چه برسه به ذخیره دیتاها ،
    چون بردم mega2560 هست پین های اتصالی برد و ماژولsd هم :

    ss -->> 53
    MOSI -->>51
    MISO -->>50
    SCK -->>52

    الان نمیدونم کدم اشتباهه ، ناقصه ؟؟؟

    لطفا کمک کنید .
    تشکر


    کد:
     
    #include <SPI.h>
    #include <SD.h>
    #define delayTime 3600000
    #define cs PIN 53
    int zPin=53; 
    File myFile ; 
    int aPin=A0 ;
    void setup() {
         pinMode(aPin, INPUT);
            pinMode(zPin, OUTPUT);          // for  writting into the  SD card   pin   (ss)   or  (cs) in sd 
            // put your setup code here, to run once:
    Serial.begin(9600); 
    File MyFile ; 
    SPI.begin();
    SD.begin(zPin);
    myFile= SD.open("MD\text.txt",FILE_WRITE);
    int a=analogRead(aPin);   
    a = map(a,0,1023,0,100) ;
    myFile.write(zPin) ;
    myFile.write(" , ") ;             // for the espace between the incoming sensor's data 
    myFile.write('\n') ;
    myFile.close();
    }
    void loop() {  // put your main code here, to run repeatedly:
    
    delay(delayTime) ;           //  FOR DELAY ONE HOUR (1H)
    }

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

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

SEO by vBSEO