صفحه 6 از 6 نخستنخست ... 456
نمایش نتایج: از 51 به 58 از 58
Like Tree15 لایک

موضوع: ماژول ثبت امواج مغزی - سنسور EEG - ماژول NeuroSky Brainwave

  1. #51
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط tolo.m نمایش پست ها
    نه کاملا درست وصله فک می کنم تو مراحل اشتباه میکنم من اول برنامه رو کامپیل می کنم رو بورد بعد ماژول رو متصل می کنم و بعد که سریال مانیتور رو باز می کنم چیزی نمایش نمی ده
    مشکل سخت افزاری می دونم نداره

    من الان نمیدونم مشکل چیه
    لطفا این کد رو آپلود کنیدو بهم بگید تو کنسول سریال start رو چاپ می کنه یا نه:
    کد:
    #include <Brain.h>
    
    
    Brain brain(Serial);
    
    
    void setup() {
      // Start the hardware serial.
      Serial.begin(9600);
      Serial.println("Start");
    }
    
    
    
    
    void loop() {
    
    
      if (brain.update()) {
        Serial.print ("read error : ");
        Serial.println(brain.readErrors());
        Serial.print ("read CSV : ");
        Serial.println(brain.readCSV());
      }
    }

  2. #52
    Junior Member
    تاریخ عضویت
    Apr 2016
    نوشته ها
    7
    بله این کد رو آپلود کردم و start رو چاپ کرد فقط ، ولی با کد قبلی داده نمی ده
    مشکل از کجاست ؟

  3. #53
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط tolo.m نمایش پست ها
    بله این کد رو آپلود کردم و start رو چاپ کرد فقط ، ولی با کد قبلی داده نمی ده
    مشکل از کجاست ؟
    مکشلی که هست اینه که وارد شرط brain.update() نمیشه .
    تو فایل cpp رو که نگاه کنید میبیند کد نویسی این تابع این هست:
    کد:
    boolean Brain::update() {
    
    
        if (brainSerial->available()) {
            latestByte = brainSerial->read();
    
    
            // Build a packet if we know we're and not just listening for sync bytes.
            if (inPacket) {
            
                // First byte after the sync bytes is the length of the upcoming packet.
                if (packetIndex == 0) {
                    packetLength = latestByte;
    
    
                    // Catch error if packet is too long
                    if (packetLength > MAX_PACKET_LENGTH) {
                        // Packet exceeded max length
                        // Send an error
                        sprintf(latestError, "ERROR: Packet too long");
                        inPacket = false;
                    }
                }
                else if (packetIndex <= packetLength) {
                    // Run of the mill data bytes.
                    
                    // Print them here
    
    
                    // Store the byte in an array for parsing later.
                    packetData[packetIndex - 1] = latestByte;
    
    
                    // Keep building the checksum.
                    checksumAccumulator += latestByte;
                }
                else if (packetIndex > packetLength) {
                    // We're at the end of the data payload.
                    
                    // Check the checksum.
                    checksum = latestByte;
                    checksumAccumulator = 255 - checksumAccumulator;
    
    
                    // Do they match?
                    if (checksum == checksumAccumulator) {
    
    
                        // Parse the data. parsePacker() returns true if parsing succeeds.
                        if (parsePacket()) {
                            freshPacket = true;
                        }
                        else {
                            // Parsing failed, send an error.
                            sprintf(latestError, "ERROR: Could not parse");
                            // good place to print the packet if debugging
                        }
                    }
                    else {
                        // Checksum mismatch, send an error.
                        sprintf(latestError, "ERROR: Checksum");
                        // good place to print the packet if debugging
                    }
                    // End of packet
                    
                    // Reset, prep for next packet
                    inPacket = false;
                }
                
                packetIndex++;
            }
            
            // Look for the start of the packet
            if ((latestByte == 170) && (lastByte == 170) && !inPacket) {
                // Start of packet
                inPacket = true;
                packetIndex = 0;
                packetLength = 0; // Technically not necessarry.
                checksum = 0; // Technically not necessary.
                checksumAccumulator = 0;
                //clearPacket(); // Zeros the packet array, technically not necessarry.
                //clearEegPower(); // Zeros the EEG power. Necessary if hasPower turns false... better off on the gettter end?     
            }
            
            // Keep track of the last byte so we can find the sync byte pairs.
            lastByte = latestByte;
        }
        
        if(freshPacket) {
            freshPacket = false;
            return true;
        }
        else {
            return false;
        }
        
    }
    این کد رو مطالعه کنید و برای دیباگ قسمت به قسمتش یه چیزی مثل همون start رو سریال پرینت کنید ببینید به کدوم قسمت داره گیر میده که true بر نمیگردونه
    ویرایش توسط magmagmary : 08-20-2016 در ساعت 06:25 AM

  4. #54
    Junior Member
    تاریخ عضویت
    Jul 2014
    نوشته ها
    4
    با سلام خدمت دوستان عزیز. کسی هست که نحوه صحیح اتصال الکترودها به ماژول رو به اشتراک بزاره؟ کیفیت سیگنال 100 % نمیشه
    ویرایش توسط atmm : 11-29-2016 در ساعت 03:44 PM

  5. #55
    Senior Member
    تاریخ عضویت
    Jan 2016
    محل سکونت
    ایران عزیز
    نوشته ها
    200
    سلام دوستان من تازه دارم اشنا میشم با این
    توی نرم افزارش چطور نمودار رو میکشه؟منظورم اینه که باید با اردوینو وصل کنیم سخت افزار رو به کامپیوتر تا نرم افزار برامون نمودار بکشه یا خیر؟

  6. #56
    Junior Member
    تاریخ عضویت
    Jul 2014
    نوشته ها
    4
    بله علاوه بر آردوینو و نرم افزارش ،به نرم افزاری هم برا نمایش نمودار نیازه
    ویرایش توسط atmm : 12-10-2016 در ساعت 09:52 AM
    لایک کردن

  7. #57
    Junior Member
    تاریخ عضویت
    May 2017
    نوشته ها
    1
    سلام
    متاسفانه ما هم دچار این بلا شدیم
    هیچی از سریال نمیشه گرفت
    همه اتصالات درسته
    ولی هیچی نشون نمیده

  8. #58
    Junior Member
    تاریخ عضویت
    Oct 2014
    نوشته ها
    22
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    دوستان خیلی خوبه اگه نمونه راه اندازی کارتون رو در فروم هم قرار بدید.
    نه تنها ایمیل!
    سلام. من زیاد توی فروم نیستم. ولی ایمیل رو بخاطر مسایل کاری چک میکنم. بنابر این ممکنه کسی سوالی کرده باشه و نتونم مدت زیادی تو فروم بیام و جوابش رو بدم. به همین خاطر ایمیل دادم که سوالاتشون رو بپرسند.
    کار با این ماژول دقت زیادی میخواد و خیلی چیزها توی راه اندازیش مهمه.
    ولتاژ - اتصال زمین - نویز - الکترود - محل نصب الکترود - تمیز بودن محل اتصال الکترود و ...
    توی این مدت دانشجوهای زیادی ایمیل زدند و برا پروژه یا پایان نامه کمک خواستد و تا حد امکان کمکشون کردم.
    در خدمت دوستان عزیز هستم.
    شهنازی

صفحه 6 از 6 نخستنخست ... 456

کلمات کلیدی این موضوع

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

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

SEO by vBSEO