מציג תוצאות 1 עד 8 מתוך 8

נושא: פרויקט חדש בניטור אבק

  1. #1
    תאריך הצטרפות
    Oct 2018
    הודעות
    3
    תודה
    0
    קיבל/ה 0 תודות ב-0 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts

    פרויקט חדש בניטור אבק

    שלום לכולם,

    אני עובד על פרוייקט הכולל לוח Arduino uno, תוספת של Sparkfun GPS logger וחיישן אבק מסוים המנטר זיהום אוויר.
    הצלחתי להפעיל את הקוד של חיישן האבק באמצעות חבילות שונות, אך כעת אני רוצה לקחת את הפרויקט לשטח ושכרטיס ה-SD שהכנסתי ל-GPS logger ישמור את המידע באמצעות ספק כוח נייד שיתחבר למערכת.
    הבעיה היא שבכל הדוגמאות שמצאתי, המערכת לא מזהה את כרטיס ה-SD.
    הוא מפורמט FAT 16 ומחובר כמו שצריך.

    אני חדש בהתעסקות ב-Arduino, כך שבמידה וקיימים חיבורים נוספים בכדי להפעיל את ה-Logging של הכרטיס או משהו בסגנון, לא מצאתי אזכור לכך באינטרנט.

    אם למישהו קרתה תקלה דומה, או שהוא יודע כיצד לפתור את הבעיה, אשמח לעזרה!
    מצרף קוד(הדוגמא מספריית ה-SD) ודוגמא לצורה בה חיברתי את המערכת:



    /*
    SD card test


    This example shows how use the utility libraries on which the'
    SD library is based in order to get info about your SD card.
    Very useful for testing a card when you're not sure whether its working or not.


    The circuit:
    SD card attached to SPI bus as follows:
    ** MOSI - pin 11 on Arduino Uno/Duemilanove/Diecimila
    ** MISO - pin 12 on Arduino Uno/Duemilanove/Diecimila
    ** CLK - pin 13 on Arduino Uno/Duemilanove/Diecimila
    ** CS - depends on your SD card shield or module.
    Pin 4 used here for consistency with other Arduino examples




    created 28 Mar 2011
    by Limor Fried
    modified 9 Apr 2012
    by Tom Igoe
    */
    // include the SD library:
    #include <SPI.h>
    #include <SD.h>


    // set up variables using the SD utility library functions:
    Sd2Card card;
    SdVolume volume;
    SdFile root;


    // change this to match your SD shield or module;
    // Arduino Ethernet shield: pin 4
    // Adafruit SD shields and modules: pin 10
    // Sparkfun SD shield: pin 8
    // MKRZero SD: SDCARD_SS_PIN
    const int chipSelect = 10;


    void setup() {
    // Open serial communications and wait for port to open:
    Serial.begin(9600);
    while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
    }




    Serial.print("\nInitializing SD card...");


    // we'll use the initialization code from the utility libraries
    // since we're just testing if the card is working!
    if (!card.init(SPI_HALF_SPEED, chipSelect)) {
    Serial.println("initialization failed. Things to check:");
    Serial.println("* is a card inserted?");
    Serial.println("* is your wiring correct?");
    Serial.println("* did you change the chipSelect pin to match your shield or module?");
    while (1);
    } else {
    Serial.println("Wiring is correct and a card is present.");
    }


    // print the type of card
    Serial.println();
    Serial.print("Card type: ");
    switch (card.type()) {
    case SD_CARD_TYPE_SD1:
    Serial.println("SD1");
    break;
    case SD_CARD_TYPE_SD2:
    Serial.println("SD2");
    break;
    case SD_CARD_TYPE_SDHC:
    Serial.println("SDHC");
    break;
    default:
    Serial.println("Unknown");
    }


    // Now we will try to open the 'volume'/'partition' - it should be FAT16 or FAT32
    if (!volume.init(card)) {
    Serial.println("Could not find FAT16/FAT32 partition.\nMake sure you've formatted the card");
    while (1);
    }


    Serial.print("Clusters: ");
    Serial.println(volume.clusterCount());
    Serial.print("Blocks x Cluster: ");
    Serial.println(volume.blocksPerCluster());


    Serial.print("Total Blocks: ");
    Serial.println(volume.blocksPerCluster() * volume.clusterCount());
    Serial.println();


    // print the type and size of the first FAT-type volume
    uint32_t volumesize;
    Serial.print("Volume type is: FAT");
    Serial.println(volume.fatType(), DEC);


    volumesize = volume.blocksPerCluster(); // clusters are collections of blocks
    volumesize *= volume.clusterCount(); // we'll have a lot of clusters
    volumesize /= 2; // SD card blocks are always 512 bytes (2 blocks are 1KB)
    Serial.print("Volume size (Kb): ");
    Serial.println(volumesize);
    Serial.print("Volume size (Mb): ");
    volumesize /= 1024;
    Serial.println(volumesize);
    Serial.print("Volume size (Gb): ");
    Serial.println((float)volumesize / 1024.0);


    Serial.println("\nFiles found on the card (name, date and size in bytes): ");
    root.openRoot(volume);


    // list all files in the card with date and size
    root.ls(LS_R | LS_DATE | LS_SIZE);
    }


    void loop(void) {
    }

  2. פרסומת
  3. #2
    תאריך הצטרפות
    Aug 2013
    הודעות
    2,146
    תודה
    15
    קיבל/ה 331 תודות ב-295 הודעות
    תודה
    0
    Thanked 1 Time in 1 Post
    לא מכיר את המודול אבל נראה לי שהתיעוד באתר של SPARKFUN די מקיף. יש שם גם הפנייה ל GITHUB שכנראה מכיל קוד עבור הכרטיס הזה (הקוד שהעלית הוא של ADAFRUIT וקרוב לודאי מותאם כרטיסים שם משווקים ואולי לא מתאים לשלך).
    כמו כן שים לב שיש על הכרטיס גמפרים שקובעים לאיזה פינים מחוברים הסיגנלים של ה SPI.

  4. #3
    תאריך הצטרפות
    Oct 2018
    הודעות
    3
    תודה
    0
    קיבל/ה 0 תודות ב-0 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts
    ציטוט נכתב במקור על ידי gbgb צפיה בהודעה
    לא מכיר את המודול אבל נראה לי שהתיעוד באתר של SPARKFUN די מקיף. יש שם גם הפנייה ל GITHUB שכנראה מכיל קוד עבור הכרטיס הזה (הקוד שהעלית הוא של ADAFRUIT וקרוב לודאי מותאם כרטיסים שם משווקים ואולי לא מתאים לשלך).
    כמו כן שים לב שיש על הכרטיס גמפרים שקובעים לאיזה פינים מחוברים הסיגנלים של ה SPI.
    השתמשתי גם בקוד שב-Github, אך אין קליטת GPS וגם שם הוא אינו מזהה את הכרטיס.
    ניסיתי גם את ה-Sketch בסיס ב-SD library, וזה גם לא עבד.

    אני די חדש בתחום, אבל נראה שחיברתי את המגן בהתאם להוראות- יש חיבורים מיוחדים שקשורים ל-SPI?

  5. #4
    תאריך הצטרפות
    Aug 2013
    הודעות
    2,146
    תודה
    15
    קיבל/ה 331 תודות ב-295 הודעות
    תודה
    0
    Thanked 1 Time in 1 Post
    יש חיבורים מיוחדים שקשורים ל-SPI
    תסתכל בתיעוד - יש שם קטע שמדבר על ה SPI וחיבור ה MOSI MISO - תראה שהגימפור בכרטיס שלך מתאים לתוכנה וגם בחיבור של ה CHIP SELECT יש התאמה בין הקוד לרגל שאליו הוא מחובר בארדואינו.

  6. #5
    תאריך הצטרפות
    Mar 2014
    הודעות
    740
    תודה
    5
    קיבל/ה 70 תודות ב-69 הודעות
    פוסטים בבלוג
    13
    תודה
    0
    Thanked 0 Times in 0 Posts
    קח עצה בשקל.
    מתאם SD כזה:
    https://www.aliexpress.com/item/1pcs...9-80e84260e200

    חבר את החוטים נכון: (שים לב ל CS!)
    ודא שהכרטיס מפורמט FAT נגיד 4/8GB
    וזהו
    זה עובד: מניסיון .
    נקודה לשים לב : א) שה CS יהיה נכון ומוגדר 2) לוקח זמן לכתוב ל SD תן לו שניה או שתיים 3) תתחיל מתוכנית דוגמא מינימלית: 4 רק אחרי שהכל עובד חבר את הסנסור,
    יוני פפיני
    0585050330
    pro-hobby.com

  7. #6
    תאריך הצטרפות
    Mar 2015
    מיקום
    פתח תקווה
    הודעות
    263
    תודה
    1
    קיבל/ה 42 תודות ב-41 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts
    לגבי קליטה ב-GPS:
    האם אתה בודק במקום פתוח שרואים שמיים?
    ש.ר. תכנון ופיתוח כרטיסים אלקטרוניים, ארדואינו, FPGA, Verilog, תוכנה וחומרה. sreches@gmail.com
    http://www.arduino-freelance.com

  8. #7
    תאריך הצטרפות
    Oct 2018
    הודעות
    3
    תודה
    0
    קיבל/ה 0 תודות ב-0 הודעות
    תודה
    0
    Thanked 0 Times in 0 Posts
    תודה לכולם על העזרה!

    ציטוט נכתב במקור על ידי jonatanpapini צפיה בהודעה
    קח עצה בשקל.
    מתאם SD כזה:
    https://www.aliexpress.com/item/1pcs...9-80e84260e200

    חבר את החוטים נכון: (שים לב ל CS!)
    ודא שהכרטיס מפורמט FAT נגיד 4/8GB
    וזהו
    זה עובד: מניסיון .
    נקודה לשים לב : א) שה CS יהיה נכון ומוגדר 2) לוקח זמן לכתוב ל SD תן לו שניה או שתיים 3) תתחיל מתוכנית דוגמא מינימלית: 4 רק אחרי שהכל עובד חבר את הסנסור,
    לצערי, אני צריך להשתמש במגן הנוכחי שיש לי (זה של Sparkfun), בשביל התכונות GPS גם כן.
    ה-GPS התחיל לפעול לפרקים, שיניתי את החיבור של הסוללה וזה סידר את זה.
    עם זאת, עדיין קיימת בעיה עם הקליטה של ה-SD: הוא התחיל לקלוט מדי פעם כרטיסים הקטנים מ-2GB, אבל הפסיק לאחר מכן ללא שום שינוי בקוד.

    ניסיתי עם 2 מגנים ולוחות ארדואינו שונים.

    אם מישהו שמע משהו...

    תודה!

  9. #8
    תאריך הצטרפות
    Mar 2014
    הודעות
    740
    תודה
    5
    קיבל/ה 70 תודות ב-69 הודעות
    פוסטים בבלוג
    13
    תודה
    0
    Thanked 0 Times in 0 Posts
    שנה CS וחבר SD חיצוני
    יוני פפיני
    0585050330
    pro-hobby.com

הרשאות פרסום

  • אין באפשרותך לפרסם נושאים חדשים
  • אין באפשרותך לפרסם תגובות
  • אין באפשרותך לצרף קבצים
  • אין באפשרותך לערוך את הודעותיך
  •  
הרשמה