آردوینو - آموزش آردوینو-Arduinoتازه هاهمه ی مطالب
راه اندازی قطب نمای الکترونیکی سه محوره GY-271 HMC5883L با آردوینو
HMC5883 محصول Honeywell يك قطب نماي 3 محوره ديجيتال است كه ميتواند شدت ميدان مغناطيسي تا 8± گاوس را با دقت 5 ميلي گاوس اندازه گيري نمايد. توسط اين ماژول ميتوان به دقت 1 تا 2 درجه در جهت يابي و ناوبري رسيد. اين ماژول از طريق رابط I2C به میکروکنترلر متصل ميشود. ولتاژ تغذيه اين ماژول 2.16 تا 3.6 ولت ميباشد. جريان مصرفي HMC5883 تنها 100 ميكرو آمپر مي باشد.
خصوصيات:
- ADC داخلي 12 بيتي
- ولتاژ کار: 2.16 تا 3.6 ولت
- برقراري ارتباط با رابط I2C
- جريان مصرفي 100 ميكرو آمپر
- اندازه گيري ميدان مغناطيسي تا 8± گاوس را با دقت 5 ميلي گاوس
- قابليت دريافت اطلاعات سنسور تا 160 بار در ثانيه
كاربردها:
- ساخت قطب نماي ديجيتال
- استفاده در تلفن همراه و لپتاپ به عنوان قطب نما
- ساخت سيستم ناوبري اتوماتيك
- استفاده در سيستم جهت يابي ربات
نحوه اتصال به برد آردوینو
- Arduino GND -> HMC5883L GND
- Arduino 3.3V -> HMC5883L VCC
- Arduino A4 (SDA) -> HMC5883L SDA
- Arduino A5 (SCL) -> HMC5883L SCL
کد راه اندازی قطب نمای الکترونیکی سه محوره GY-271 HMC5883L با آردوینو
#include <Wire.h> //I2C Arduino Library #define address 0x1E //0011110b, I2C 7bit address of HMC5883 void setup(){ //Initialize Serial and I2C communications Serial.begin(9600); Wire.begin(); //Put the HMC5883 IC into the correct operating mode Wire.beginTransmission(address); //open communication with HMC5883 Wire.send(0x02); //select mode register Wire.send(0x00); //continuous measurement mode Wire.endTransmission(); } void loop(){ int x,y,z; //triple axis data //Tell the HMC5883 where to begin reading data Wire.beginTransmission(address); Wire.send(0x03); //select register 3, X MSB register Wire.endTransmission(); //Read data from each axis, 2 registers per axis Wire.requestFrom(address, 6); if(6<=Wire.available()){ x = Wire.receive()<<8; //X msb x |= Wire.receive(); //X lsb z = Wire.receive()<<8; //Z msb z |= Wire.receive(); //Z lsb y = Wire.receive()<<8; //Y msb y |= Wire.receive(); //Y lsb } //Print out values of each axis Serial.print("x: "); Serial.print(x); Serial.print(" y: "); Serial.print(y); Serial.print(" z: "); Serial.println(z); delay(250); }
سلام
وقتتون بخیر
با تشکر از راهنمایی شما
لطفا نحوه ساخت قطب نمای دیجیتالی با میکرو رو توضیح دهید!
سلام
تشکر از سایت و مطالب
لطفا برنامه GY271-HMC5883L را با کدویژن بنویسید.
ممنون
توی برنامه میزارم
سلام
پس چی شد؟
با کدویژن.
لطفا
سلام
متد Wire.send() ارور میده
مشکل از چیه ؟؟؟
برنامه رو از جای دیگه کپی کردی حداقل خودت یه نگا بش بنداز یا تستش کن، سرتاسر ایراده. حتی wire رو اینکلود نکرده 😐
دانشمند نیمه محترم آماده پسند کد کامل پایین برای دانلود موجوده!
سلام، لطفا اگه برنامه تو محیط کدویژن هم دارید حتما برای دانلود بزارید
ممنون ….
سلام
نمونه کد برای AVR البته برای کدویژن نیست
https://github.com/QB4-dev/avr-QMC5883L-compass
کد خرابه کار نمیکنه☺️