قطعات الکترونیک مدارهای الکترونیک پروژه های آردوینو

آموزش راه اندازی ماژول قطب نما GY271 HMC5883L با آردوینو

آموزش راه اندازی ماژول gy271 hmc2883 با استفاده از آردوینو
نوشته شده توسط علیرضا قربانی

با نام و یاد خدا . سلام . در این مطلب قصد داریم به آموزش و راه اندای ماژول قطب نمای  gy271 HMC8358  بپردازیم . با دیجی اسپارک همراه باشید.

gy271 HMC8358  یک قطب نمای سه محوره دیجیتال است که میتواند شدت میدان مغناطیسی را تا ۸+/- گائوس با دقت ۵ میلی گائوس اندازه گیری کند. توسط ماژول HMC5883 میتوان زاویه خود را نسبت به محور ها با دقت ۱ الی ۲ درجه محاسبه نمود. از ماژول HMC5883 GY271 میتوان در سیستم ناوبری اتوماتیک ، سیستم های جهت یابی ربات و  … استفاده نمود .

آموزش راه اندازی ماژول قطب نما GY271 HMC5883L با استفاده بباز آردوینو –  آموزش ماژول قطب نما – hmc5883 GY271 – HMC 5883 GY273 – آموزش آردوینو – دیجی اسپارک – آموزش پروژه محور آردوینو – پروژه    آردوینو

مشخصات

پروتکل ارتباطی I2C

دارای دقت ۱ تا ۲ درجه

ADC داخلی ۱۲ بیتی

دیتاریت ۱۶۰ هرتز

اندازه گیری ۸ تا ۸- شدت میدان مغناطیسی

آموزش راه اندازی ماژول قطب نما GY271 HMC5883L با استفاده بباز آردوینو –  آموزش ماژول قطب نما – hmc5883 GY271 – HMC 5883 GY273 – آموزش آردوینو – دیجی اسپارک – آموزش پروژه محور آردوینو – پروژه    آردوینو 

ارتباطات

VCC : تغذیه ماژول ، ۳ تا ۵ ولت DC

GND : باید به زمین مدار متصل شود

SDA -SCA : باید به پین های مرتبط پروتکل I2C برو روی  آردوینو متصل شوند

RDY : مخف Data Ready – این پین پس از هر بار محاسبه مقادیر ، میتواند میکروکنتلر یا آردوینو را آگاه سازد، در این پروژه از این پین استفاده نشده است و به جایی متصل نشده است

 

 

 

سخت افزار مورد نیاز

ماژول قطب نمای HMC5883 GY271

 آردوینو Uno

LCD 2*16( الزامی نیست و میتوانید برای نمایش اطلاعات از سریال مانیتور استفاده کنید)

SAآموش راه اندازی ماژول قطب نما GY271 HMC5883L با  آردوینو-آموزش راه اندازی ماژول قطب نما GY271 HMC5883L با  آردوینو-آموزش راه اندازی ماژول قطب نما GY271 HMC5883L با  آردوینو-آموزش راه اندازی ماژول قطب نما GY271 HMC5883L با  آردوینو-آموزش راه اندازی ماژول قطب نما GY271 HMC5883L با  آردوینو

برنامه نویسی

برای برنامه نویسی ماژول از کتابخانه  Adafruit_HMC5883_Unified و کتابخانه ی Adafruit_Sensor کمپانی Adafruit  استفاده کرده ایم .

 

 

 

توضیح کدها

 

هنگامی که محور z به سمت بالا اشاره کند ، با استفاده از عملیات بالا میتوان زاویه محور x  نسبت به قطب شمال زمین را بدست آورد.


هم اکنون باید به توضیخ مطلبی  به نام میل مغناطیسی یا وردش مغناطیسی بپردازم . میل مغناطیسی چیست ؟؟؟؟؟!

پاسخ:محور مغناطیسی زمین با محور جغرافیایی آن (محور چرخش زمین) به طور کامل موازی نیست. در نتیجه خواندن یک قطب‌نما تا حدودی از شمال جغرافیایی انحراف دارد. این انحراف که با مکان تغییر می‌کند وردش مغناطیسی یا میل مغناطیسی نامیده می‌شود.میل مغناطیسی، در هر نقطه از زمین، زاویه بین شمال حقیقی و شمال مغناطیسی در آن نقطه است؛ یعنی زاویهٔ بین سمتی که عقربهٔ قطب‌نما نشان می‌دهد، و سمت شمال جغرافیایی. برخی از منابع مختلف میل مغناطیسی را «وردش مغناطیسی» هم می‌نامند که درست است. برخی هم به اشتباه آن را انحراف مغناطیسی گفته‌اند، ولی این واژه، برای انحراف ناچیز عقربهٔ قطب‌نما در اثر عوامل محیطی (مانند وسایل آهنی و منابع الکتریکی و غیره) است و هیچ ارتباطی با زاویه میل مغناطیسی در یک محل ندارد.

آموزش راه اندازی ماژول قطب نما GY271 HMC5883L

میل مغناطیسی

برای پیدا کردن میل مغناطیسی می‌بایست ابتدا وارد سایت زیر شویم.

http://www.magnetic-declination.com/

در این سایت مقدار فیلد Magnetic declination برابر میل مغناطیسی می‌باشد.

آموزش راه اندازی ماژول قطب نما GY271 HMC5883L

مقدار میل مغنناطیسی

در عکس بالا شما دو عدد °۳ و همچنین ’۴۹ را مشاهده میکنید. عدد ۴۹ بر پایه ی واحد دقیقه‌ی قوسی(هر دقیقه قوسی معادل  یک شصتم یک درجه است) می‌باشد و باید آن را به درجه تبدیل کنید و به عدد ۳ اضافه کنید.

۴۹÷۶۰=۰٫۸۱۶۶۶۶۶

۳+۰٫۸۱۶۶۶۶=۳٫۸۱۶۶۶۶۶۶

سپس این مقدار  را باید به رادیان تبدیل کنیم:

۳٫۸۱۶۶۶°=۰٫۰۶۶۶۱۳۲۸۳۴۲۹۱۶۷ rad

با استفاده از عملیات فوق مقادیر قطب نما را بین ۰ تا ۲PI رادیان ( ۰ تا ۳۶۰ درجه) تبدیل میکنیم.

در پایان مقدار زاویه قطب نما نسبت به شمال جغرافیایی و همچنین جههات جغرافیایی را بر روی ال سی دی نمایش میدهیم.

درباره نویسنده

علیرضا قربانی

علیرضا قربانی هستم دانشجوی مهندسی پزشکی. چیزهای خیلی زیادی رو در دنیا دوست دارم. یک گیک هستم و یشه گفت یک هکر. نه به معنی دزدی پسورد و ایمیل مردم. به معنی عشق به دونستن و عشق به تحقیق درباره خیلی از چیزهایی که می بینم و می‌شنوم. اگر بخوام علاقه‌مندی‌ درجه یکم رو نام ببرم میتونم بگم برنامه نویسی و بعد از اون امبدد سیستم ها.

تبادل نظر و رفع عیب با ثبت دیدگاه

۲۴ دیدگاه

  • خیلی مطالبتان عالی و خوب بود ببخشید من چند سوال دارم
    اول
    Adafruit_HMC5883_Unified compass (55555); این دستور دقیقا متوجه نشدم که کار برد ان چی هست و چرا گذاشته شده
    دوم
    این دستور sensors_event_t event هم در خط ۲۶ متوجه کاربردش نمی شوم

    و هنوز سوالات دیگری دارم
    ممنون میشدم اگر برنامه را کمی واضح تر توضیح میدادید و پیشاپیش بابت وقت گزاری شما خیلی ممنان

    • با سلام
      ضمن تشکر از توجه، خوشحالم که مطالب سایت دیجی اسپارک برای شما موثر بوده است.
      در مورد سوال اول برای این که بتوان از کتابخانه‌ی ماژول استفاده کرد باید یک شی از کلاس ماژول بسازیم. که همانطور که بیان شده است ساخته میشود.
      در مورد سوال دوم از کلاس sensoe_event یک شی به نام event می‌سازیم. با این روش تغییرات سنسور را دریافت میکنیم.

      لطفا سوالاتتان را از همین طریق بپرسید.

  • سلام
    در ابتدای فایل تعریف توابع به عبارت lt;Adafruit_Sensor.h&gt&
    ارور می گیره در نسخه های ۱٫۸ و اشاره می کند به تعریف به صورت می بایست تعریف شود.

    • با سلام
      ضمن تشکر از توحه شما، در این مجموعه فعلا راجع به کدویژن برنامه‌ای نداریم. ولی در آینده اگر از بین کاربران چنین تخصصی وجود داشته باشد، حتما حمایت خواهیم کرد.

  • سلام

    sketch_oct25a:29: error: ‘struct sensors_event_t’ has no member named ‘compass’

    float heading = atan2 (event.compass.y, event.compass.x);

    ^

    sketch_oct25a:29: error: ‘struct sensors_event_t’ has no member named ‘compass’

    float heading = atan2 (event.compass.y, event.compass.x);

    ^
    این چه اروریه؟

  • سلام
    برای راه اندازی ماژول gy271-hmc5883l
    آیا باید مقادیر آفست را محاسبه و حذف کنیم؟؟؟
    و چگونه باید مقادیر آفست را محاسبه و حذف و کنیم؟؟؟

  • سلام
    ببخشید من با این که کتاب خونه هارو دانلود و اضافه کردم ولی با این ارور رو به رو میشم ممکنه کمکم کنید
    Arduino: 1.8.5 (Windows 7), Board: “Arduino Nano, ATmega328P”

    C:\Users\Admin\Desktop\قطب نما\sketch_dec11a\sketch_dec11a.ino: In function ‘void loop()’:

    sketch_dec11a:28: error: ‘struct sensors_event_t’ has no member named ‘compass’

    sketch_dec11a:28: error: ‘struct sensors_event_t’ has no member named ‘compass’

    Multiple libraries were found for “Adafruit_HMC5883_U.h”
    Used: C:\Users\Admin\Documents\Arduino\libraries\Adafruit_HMC5883_Unified-master
    Not used: C:\Users\Admin\Documents\Arduino\libraries\Adafruit_HMC5883_Unified
    exit status 1
    ‘struct sensors_event_t’ has no member named ‘compass’

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

    ممنون

    • با سلام
      ضمن تشکر از توجه شما، در حال حاضر پیغام چندین کتابخانه با یک نام را دریافت میکنید. Multiple libraries were found for “Adafruit_HMC5883_U.h برای رفع مشکل وارد مسیر C:\Users\Admin\Documents\Arduino\libraries شده و کتابخانه دارای عنوان HMC5883 را یکی را پاک کنید. سپس موارد را اطلاع دهید.

      • با تشکر از پاسخ شما
        موارد اصلاح شد ولی حالا باز این پیغام رو میده

        آردوینو:۱٫۶٫۸ (Windows 7), بُرد:”Arduino Nano, ATmega328″

        The sketch name had to be modified. Sketch names can only consist
        of ASCII characters and numbers (but cannot start with a number).
        They should also be less than 64 characters long.

        C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware “C:\Program Files (x86)\Arduino\hardware” -hardware “C:\Users\A.M\AppData\Local\Arduino15\packages” -tools “C:\Program Files (x86)\Arduino\tools-builder” -tools “C:\Program Files (x86)\Arduino\hardware\tools\avr” -tools “C:\Users\A.M\AppData\Local\Arduino15\packages” -built-in-libraries “C:\Program Files (x86)\Arduino\libraries” -libraries “C:\Users\A.M\Documents\Arduino\libraries” -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10608 -build-path “C:\Users\A.M\AppData\Local\Temp\build7c8a898c707d7916a321a5a012ad21d0.tmp” -warnings=none -prefs=build.warn_data_percentage=75 -verbose “C:\Users\A.M\Documents\Arduino\ghotb_nama\ghotb_nama.ino”
        C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware “C:\Program Files (x86)\Arduino\hardware” -hardware “C:\Users\A.M\AppData\Local\Arduino15\packages” -tools “C:\Program Files (x86)\Arduino\tools-builder” -tools “C:\Program Files (x86)\Arduino\hardware\tools\avr” -tools “C:\Users\A.M\AppData\Local\Arduino15\packages” -built-in-libraries “C:\Program Files (x86)\Arduino\libraries” -libraries “C:\Users\A.M\Documents\Arduino\libraries” -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10608 -build-path “C:\Users\A.M\AppData\Local\Temp\build7c8a898c707d7916a321a5a012ad21d0.tmp” -warnings=none -prefs=build.warn_data_percentage=75 -verbose “C:\Users\A.M\Documents\Arduino\ghotb_nama\ghotb_nama.ino”
        WARNING: Spurious .github folder in ‘Adafruit HMC5883 Unified’ library
        “C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\cores\arduino” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\variants\eightanaloginputs” “C:\Users\A.M\AppData\Local\Temp\build7c8a898c707d7916a321a5a012ad21d0.tmp\sketch\ghotb_nama.ino.cpp” -o “nul”
        “C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\cores\arduino” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\variants\eightanaloginputs” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries\Wire\src” “C:\Users\A.M\AppData\Local\Temp\build7c8a898c707d7916a321a5a012ad21d0.tmp\sketch\ghotb_nama.ino.cpp” -o “nul”
        “C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\cores\arduino” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\variants\eightanaloginputs” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries\Wire\src” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_Sensor-master” “C:\Users\A.M\AppData\Local\Temp\build7c8a898c707d7916a321a5a012ad21d0.tmp\sketch\ghotb_nama.ino.cpp” -o “nul”
        “C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\cores\arduino” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\variants\eightanaloginputs” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_HMC5883_Unified-master” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries\Wire\src” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_Sensor-master” “C:\Users\A.M\AppData\Local\Temp\build7c8a898c707d7916a321a5a012ad21d0.tmp\sketch\ghotb_nama.ino.cpp” -o “nul”
        “C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\cores\arduino” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\variants\eightanaloginputs” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_HMC5883_Unified-master” “-IC:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries\Wire\src” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_Sensor-master” “C:\Users\A.M\AppData\Local\Temp\build7c8a898c707d7916a321a5a012ad21d0.tmp\sketch\ghotb_nama.ino.cpp” -o “nul”
        “C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\cores\arduino” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\variants\eightanaloginputs” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries\Wire\src” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_Sensor-master” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_HMC5883_Unified-master” “-IC:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src” “C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries\Wire\src\Wire.cpp” -o “nul”
        “C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\cores\arduino” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\variants\eightanaloginputs” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_Sensor-master” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_HMC5883_Unified-master” “-IC:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries\Wire\src” “C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries\Wire\src\utility\twi.c” -o “nul”
        “C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\cores\arduino” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\variants\eightanaloginputs” “-IC:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries\Wire\src” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_Sensor-master” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_HMC5883_Unified-master” “C:\Users\A.M\Documents\Arduino\libraries\Adafruit_HMC5883_Unified-master\Adafruit_HMC5883_U.cpp” -o “nul”
        “C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\cores\arduino” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\variants\eightanaloginputs” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries\Wire\src” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_Sensor-master” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_HMC5883_Unified-master” “-IC:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src” “C:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src\LiquidCrystal.cpp” -o “nul”
        “C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\cores\arduino” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\variants\eightanaloginputs” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries\Wire\src” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_Sensor-master” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_HMC5883_Unified-master” “-IC:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src” “C:\Users\A.M\AppData\Local\Temp\build7c8a898c707d7916a321a5a012ad21d0.tmp\sketch\ghotb_nama.ino.cpp” -o “nul”
        “C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\cores\arduino” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\variants\eightanaloginputs” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries\Wire\src” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_Sensor-master” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_HMC5883_Unified-master” “-IC:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src” “C:\Users\A.M\AppData\Local\Temp\build7c8a898c707d7916a321a5a012ad21d0.tmp\sketch\ghotb_nama.ino.cpp” -o “C:\Users\A.M\AppData\Local\Temp\build7c8a898c707d7916a321a5a012ad21d0.tmp\preproc\ctags_target_for_gcc_minus_e.cpp”
        “C:\Program Files (x86)\Arduino\tools-builder\ctags\5.8-arduino10/ctags” -u –language-force=c++ -f – –c++-kinds=svpf –fields=KSTtzns –line-directives “C:\Users\A.M\AppData\Local\Temp\build7c8a898c707d7916a321a5a012ad21d0.tmp\preproc\ctags_target_for_gcc_minus_e.cpp”
        “C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\4.9.2-atmel3.5.4-arduino2/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\cores\arduino” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\variants\eightanaloginputs” “-IC:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries\Wire\src” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_Sensor-master” “-IC:\Users\A.M\Documents\Arduino\libraries\Adafruit_HMC5883_Unified-master” “-IC:\Program Files (x86)\Arduino\libraries\LiquidCrystal\src” “C:\Users\A.M\AppData\Local\Temp\build7c8a898c707d7916a321a5a012ad21d0.tmp\sketch\ghotb_nama.ino.cpp” -o “C:\Users\A.M\AppData\Local\Temp\build7c8a898c707d7916a321a5a012ad21d0.tmp\sketch\ghotb_nama.ino.cpp.o”
        C:\Users\A.M\Documents\Arduino\ghotb_nama\ghotb_nama.ino: In function ‘void loop()’:

        ghotb_nama:28: error: ‘struct sensors_event_t’ has no member named ‘compass’

        float heading = atan2 (event.compass.y, event.compass.x);

        ^

        ghotb_nama:28: error: ‘struct sensors_event_t’ has no member named ‘compass’

        float heading = atan2 (event.compass.y, event.compass.x);

        ^

        Multiple libraries were found for “Adafruit_HMC5883_U.h”
        Used: C:\Users\A.M\Documents\Arduino\libraries\Adafruit_HMC5883_Unified-master
        Not used: C:\Users\A.M\Documents\Arduino\libraries\Adafruit_HMC5883_Unified
        Using library Wire at version 1.0 in folder: C:\Users\A.M\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.18\libraries\Wire
        Using library Adafruit_Sensor-master at version 1.0.2 in folder: C:\Users\A.M\Documents\Arduino\libraries\Adafruit_Sensor-master
        Using library Adafruit_HMC5883_Unified-master at version 1.0.0 in folder: C:\Users\A.M\Documents\Arduino\libraries\Adafruit_HMC5883_Unified-master
        Using library LiquidCrystal at version 1.0.5 in folder: C:\Program Files (x86)\Arduino\libraries\LiquidCrystal
        exit status 1
        ‘struct sensors_event_t’ has no member named ‘compass’

        • با سلام
          ضمن تشکر از توجه شما و عذرخواهی بابت تاخیر در پاسخگویی، در ابتدای خطا نوشته شده است. احتمالا تغییراتی در کدها داده‌‌اید که منجر به این موضوع شده است.
          he sketch name had to be modified. Sketch names can only consist
          of ASCII characters and numbers (but cannot start with a number).
          They should also be less than 64 characters long

          • سلام ممنون از پاسخ
            ولی من هیچ تغییری ندادم همین کد هایی که هستن رو کپی میکنم ولی بازم این ارور رو میده
            به نظرتون مشکل کجاست؟

            • الان داره این ارور رو میده
              Arduino: 1.8.5 (Windows 7), Board: “Arduino Nano, ATmega328P”

              C:\Users\Admin\Downloads\FP6LRL2IUIYSWKD\HMC5833L\HMC5833L.ino: In function ‘void loop()’:

              HMC5833L:28: error: ‘struct sensors_event_t’ has no member named ‘compass’

              float heading = atan2 (event.compass.y, event.compass.x);

              ^

              HMC5833L:28: error: ‘struct sensors_event_t’ has no member named ‘compass’

              float heading = atan2 (event.compass.y, event.compass.x);

              ^

              exit status 1
              ‘struct sensors_event_t’ has no member named ‘compass’

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

  • با سلام و تشکر از سایت عالیتون
    یک مشکلی رو برای این پروژه بهش برخورد کردم که بعد از چندروز تلاش بالاخره تونستم راه اندازیش کنم.
    گفتم به اشتراک بذارم تا بقیه دوستان به این مشکل نخورن.
    ماژول GY-271 که در این پروژه استفاده شده از نوع اورجینال هست که با کد HMC5883 شناخته میشه و روی IC کد L883 حک شده ولی متاسفانه اکثر ماژول های GY-271 موجود در بازار برای یک شرکت فرعی هستند و با کد QMC5883 شناخته میشن و روی IC کد DA5883 حک شده. برای راه اندازی این ماژول باید از کتابخونه جداگونه که برای QMC5883 هست استفاده کنید چون آدرس رجیستر و … این دو نوع ماژول کاملا باهم فرق دارن!

  • سلام
    من کتابخانه هارو نصب کردم
    اما بازم ارور میده
    Arduino: 1.8.3 (Mac OS X), Board: “Arduino/Genuino Uno”

    /Users/MATRIX/Documents/Arduino/sketch_mar30b/sketch_mar30b.ino: In function ‘void loop()’:
    sketch_mar30b:27: error: ‘struct sensors_event_t’ has no member named ‘compass’
    float heading = atan2 (event.compass.y, event.compass.x);
    ^
    sketch_mar30b:27: error: ‘struct sensors_event_t’ has no member named ‘compass’
    float heading = atan2 (event.compass.y, event.compass.x);
    ^
    exit status 1
    ‘struct sensors_event_t’ has no member named ‘compass’

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

    • با سلام و تشکر از شما
      در بالاتر پاسخ به یکی دیگر از کاربران همین موضوع را اشاره کرده‌ام، بایستی یک خط از کدها را تغییر دهید. لطفا کامنت‌های بالایی را مطالعه بفرمایید. سپس نتیجه را از همین طریق اطلاع رسانی کنید.