در این مطلب قصد داریم به آموزش و راه اندای ماژول قطب نمای gy271 HMC8358 بپردازیم . با دیجی اسپارک همراه باشید. gy271 HMC8358 یک قطب نمای سه محوره دیجیتال است که میتواند شدت میدان مغناطیسی را تا ۸+/- گائوس با دقت ۵ میلی گائوس اندازه گیری کند. توسط ماژول HMC5883 میتوان زاویه خود را نسبت به محور ها با دقت ۱ الی ۲ درجه محاسبه نمود. از ماژول HMC5883 GY271 میتوان در سیستم ناوبری اتوماتیک ، سیستم های جهت یابی ربات و … استفاده نمود.
مشخصات ماژول قطب نما
پروتکل ارتباطی I2C
دارای دقت ۱ تا ۲ درجه
ADC داخلی ۱۲ بیتی
دیتاریت ۱۶۰ هرتز
اندازه گیری ۸ تا ۸- شدت میدان مغناطیسی
ارتباطات ماژول قطب نما
VCC : تغذیه ماژول ، ۳ تا ۵ ولت DC
GND : باید به زمین مدار متصل شود
SDA -SCA : باید به پین های مرتبط پروتکل I2C برو روی آردوینو متصل شوند
RDY : مخف Data Ready – این پین پس از هر بار محاسبه مقادیر ، میتواند میکروکنتلر یا آردوینو را آگاه سازد، در این پروژه از این پین استفاده نشده است و به جایی متصل نشده است
سخت افزار مورد نیاز
ماژول قطب نما HMC5883 GY271
LCD 2*16( الزامی نیست و میتوانید برای نمایش اطلاعات از سریال مانیتور استفاده کنید)
برنامه نویسی قطب نما آردوینو
برای برنامه نویسی ماژول از کتابخانه Adafruit_HMC5883_Unified و کتابخانه ی Adafruit_Sensor کمپانی Adafruit استفاده کرده ایم .
جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.
توضیح کدهای قطب نما آردوینو
1 |
float heading = atan2 (event.compass.y, event.compass.x); |
هنگامی که محور z به سمت بالا اشاره کند ، با استفاده از عملیات بالا میتوان زاویه محور x نسبت به قطب شمال زمین را بدست آورد.
1 2 |
float declinationAngle = 0.066613399668; heading += declinationAngle; |
هم اکنون باید به توضیخ مطلبی به نام میل مغناطیسی یا وردش مغناطیسی بپردازم . میل مغناطیسی چیست ؟؟؟؟؟!
پاسخ:محور مغناطیسی زمین با محور جغرافیایی آن (محور چرخش زمین) به طور کامل موازی نیست. در نتیجه خواندن یک قطبنما تا حدودی از شمال جغرافیایی انحراف دارد. این انحراف که با مکان تغییر میکند وردش مغناطیسی یا میل مغناطیسی نامیده میشود.میل مغناطیسی، در هر نقطه از زمین، زاویه بین شمال حقیقی و شمال مغناطیسی در آن نقطه است؛ یعنی زاویهٔ بین سمتی که عقربهٔ قطبنما نشان میدهد، و سمت شمال جغرافیایی. برخی از منابع مختلف میل مغناطیسی را «وردش مغناطیسی» هم مینامند که درست است. برخی هم به اشتباه آن را انحراف مغناطیسی گفتهاند، ولی این واژه، برای انحراف ناچیز عقربهٔ قطبنما در اثر عوامل محیطی (مانند وسایل آهنی و منابع الکتریکی و غیره) است و هیچ ارتباطی با زاویه میل مغناطیسی در یک محل ندارد.
برای پیدا کردن میل مغناطیسی میبایست ابتدا وارد سایت زیر شویم. http://www.magnetic-declination.com/ در این سایت مقدار فیلد Magnetic declination برابر میل مغناطیسی میباشد.
در عکس بالا شما دو عدد °۳ و همچنین ’۴۹ را مشاهده میکنید. عدد ۴۹ بر پایه ی واحد دقیقهی قوسی(هر دقیقه قوسی معادل یک شصتم یک درجه است) میباشد و باید آن را به درجه تبدیل کنید و به عدد ۳ اضافه کنید.
۴۹÷۶۰=۰٫۸۱۶۶۶۶۶
۳+۰٫۸۱۶۶۶۶=۳٫۸۱۶۶۶۶۶۶
سپس این مقدار را باید به رادیان تبدیل کنیم:
۳٫۸۱۶۶۶°=۰٫۰۶۶۶۱۳۲۸۳۴۲۹۱۶۷ rad
1 2 3 4 5 6 7 8 9 10 |
if ( heading < 0 ) { heading += 2 * PI; } if ( heading > 2 * PI ) { heading -= 2 * PI; } |
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد.
پروژه:
برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکههای اجتماعی از جمله آپارات و اینستگرام، با هشتگهای دیجی_اسپارک دانشجوکیت digispark daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
تشکر
جالب بود
با سلام
جناب آقای بازیار از توجه شما متشکرم.
خیلی مطالبتان عالی و خوب بود ببخشید من چند سوال دارم
اول
Adafruit_HMC5883_Unified compass (55555); این دستور دقیقا متوجه نشدم که کار برد ان چی هست و چرا گذاشته شده
دوم
این دستور sensors_event_t event هم در خط ۲۶ متوجه کاربردش نمی شوم
و هنوز سوالات دیگری دارم
ممنون میشدم اگر برنامه را کمی واضح تر توضیح میدادید و پیشاپیش بابت وقت گزاری شما خیلی ممنان
با سلام
ضمن تشکر از توجه، خوشحالم که مطالب سایت دیجی اسپارک برای شما موثر بوده است.
در مورد سوال اول برای این که بتوان از کتابخانهی ماژول استفاده کرد باید یک شی از کلاس ماژول بسازیم. که همانطور که بیان شده است ساخته میشود.
در مورد سوال دوم از کلاس sensoe_event یک شی به نام event میسازیم. با این روش تغییرات سنسور را دریافت میکنیم.
لطفا سوالاتتان را از همین طریق بپرسید.
بله متوجه شدم تشکر
سلام
در ابتدای فایل تعریف توابع به عبارت lt;Adafruit_Sensor.h>&
ارور می گیره در نسخه های ۱٫۸ و اشاره می کند به تعریف به صورت می بایست تعریف شود.
با سلام
ضمن تشکر از توجه شما، تگهای html وارد کدها شده بودند، که به درخواست شما، مشکل حل شد.
سلام
وققتون بخیر
تشکر از سایت و مطالبتان
لطفا راه اندازی ماژول HMC5883L را با کدویژن توضیح دهید.
با تشکر
با سلام
ضمن تشکر از توحه شما، در این مجموعه فعلا راجع به کدویژن برنامهای نداریم. ولی در آینده اگر از بین کاربران چنین تخصصی وجود داشته باشد، حتما حمایت خواهیم کرد.
سلام
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.
سلام مجدد
همانطور که در پاسخ قبلی توضیح دادم عمل کنید و نتیجه را بیان کنید.
سلام مجدد
پیرو مشکل شما، بنده کدها را کامپایل کردم. جهت رفع ارور لطفا کدهای زیر را با سطر ۲۸ عوض کنید. سپس موارد را اطلاع دهید.
float heading = atan2 (event.magnetic.y, event.magnetic.x);
با سلام و تشکر از سایت عالیتون
یک مشکلی رو برای این پروژه بهش برخورد کردم که بعد از چندروز تلاش بالاخره تونستم راه اندازیش کنم.
گفتم به اشتراک بذارم تا بقیه دوستان به این مشکل نخورن.
ماژول 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.
با سلام و تشکر از شما
در بالاتر پاسخ به یکی دیگر از کاربران همین موضوع را اشاره کردهام، بایستی یک خط از کدها را تغییر دهید. لطفا کامنتهای بالایی را مطالعه بفرمایید. سپس نتیجه را از همین طریق اطلاع رسانی کنید.
سلام. لطفا یه برنامه برای راه اندازی این ماژول با تراشه QMC5883 هم بذارید.ممنون میشم.
کتابخونه های مختلفی از این تراشه دانلود کردم اما متاسفانه زاویه ۰ تا ۳۶۰ رو طبق قطب نمای گوشیم دقیق نمیده.راهنمایی کنید لطفا
با سلام و تشکر از پیشنهاد شما
موارد را بررسی خواهیم کرد. در صورت امکان این موضوع فراهم خواهد شد.
سلام. ایا اشیای فلزی در اطراف ماژول روی زاویه بدست اومده از ماژول تاثیر گذاره؟
اگه جواب مثبته چطور میشه مثل قطب ممای گوشی موبایل این تاثیرات رو از بین برد!؟!؟
با سلام
هر ماژولی دارای عملکرد متفاوتی است. بنده نمیتوانم به صورت قطعی راجع به این مضوع نظر بدهم. از دیگر کاربرانی که در این خصوص تجربه کافی دارند، تقاضا دارم تا در این بحث شرکت کنند.
سلام
تمام پین ها درست ارتباط دارد و همچنین کتابخانه و کد شما به همراه تغییرات را اعمال کردم ولی در زمان اجرا فقط متن زیر نمایش داده میشود
۱۲:۳۷:۴۲٫۷۰۵ -> HMC5883 compass Test
و هیچ چیز دیگری نوشته نمی شود
من پایه ۳٫۳v رو وقتی فقط وصل مکنم هیچ درجه ایی نشون نمیده ولی وقتی پایه +۵v رو وصل می کنم یک بار عدد ۳٫۸ درجه رو نشون میده و دیگه چیزی نمی نویسه
سلام
با تغذیه ۵ ولت تست کنید. اتصالات کابل ها هم می بایست محکم باشند. از این بابت اطمینان حاصل کنید پایه های SCL و SDA را هم به ترتیب زیر متصل کنید:
اتصال پایه SCL ماژول به پایه A5 اردوینو
اتصال پایه SDA ماژول به پایه A4 اردوینو
سلام
موارد ذکر شده انجام شد ولی همچنان مشکل وجود دارد