ARDUINO GY87 ஒருங்கிணைந்த சென்சார் சோதனை ஸ்கெட்ச்
அறிமுகம்
நீங்கள் ஆர்வமுள்ள தயாரிப்பாளராகவோ அல்லது ரோபாட்டிக்ஸ் ஆர்வலராகவோ இருந்தால், இந்த சிறிய மற்றும் சக்திவாய்ந்த தொகுதியை நீங்கள் கண்டிருப்பீர்கள், நீங்கள் ஆர்வமுள்ள தயாரிப்பாளராகவோ அல்லது ரோபோட்டிக்ஸ் ஆர்வலராகவோ இருந்தால், இந்த சிறிய மற்றும் சக்திவாய்ந்த தொகுதியான BMP085 காற்றழுத்தமானியை நீங்கள் கண்டிருப்பீர்கள். GY-87 IMU மாட்யூல் என்பது சுய-சமநிலைப்படுத்தும் ரோபோ அல்லது குவாட்காப்டர் போன்ற உங்கள் திட்டங்களுக்கு இயக்க உணர்வைச் சேர்க்க சிறந்த வழியாகும்.
ஆனால் நீங்கள் GY-87 IMU தொகுதியுடன் பரிசோதனையைத் தொடங்குவதற்கு முன், அதை உங்கள் Arduino போர்டுடன் எவ்வாறு இணைப்பது என்பதை நீங்கள் அறிந்து கொள்ள வேண்டும். அங்குதான் இந்த வலைப்பதிவு வருகிறது! பின்வரும் பத்திகளில், GY-87 IMU தொகுதியின் அடிப்படைகள், அதை எவ்வாறு அமைப்பது மற்றும் சென்சார் தரவைப் படிக்க Arduino குறியீட்டை எவ்வாறு எழுதுவது ஆகியவற்றைப் பார்ப்போம். பொதுவான சிக்கல்களைச் சரிசெய்வதற்கான சில உதவிக்குறிப்புகள் மற்றும் ஆதாரங்களையும் நாங்கள் வழங்குவோம்.
எனவே, நீங்கள் தொடங்கத் தயாராக இருந்தால், GY-87 IMU தொகுதியை Arduino உடன் இணைப்பது பற்றி அறிந்து கொள்வோம்!
GY-87 IMU MPU6050 என்றால் என்ன
GY-87 போன்ற செயலற்ற அளவீட்டு அலகு (IMU) தொகுதிகள் MPU6050 முடுக்கமானி/கைரோஸ்கோப், HMC5883L காந்தமானி மற்றும் BMP085 பாரோமெட்ரிக் பிரஷர் சென்சார் போன்ற பல சென்சார்களை ஒரே தொகுப்பாக இணைக்கின்றன. எனவே, GY-87 IMU MPU6050 என்பது 9-அச்சு கைரோஸ்கோப், 3-அச்சு முடுக்கமானி, 3-அச்சு காந்தமானி மற்றும் டிஜிட்டல் மோஷன் ப்ராசசர் ஆகியவற்றை ஒருங்கிணைக்கும் ஆல்-இன்-ஒன் 3-ஆக்சிஸ் மோஷன் டிராக்கிங் மாட்யூலாகும். குவாட்காப்டர்கள் மற்றும் பிற ஆளில்லா வான்வழி வாகனங்கள் (யுஏவி) போன்ற ரோபோ திட்டங்களில் இது அதிகம் பயன்படுத்தப்படுகிறது, ஏனெனில் இது நோக்குநிலை மற்றும் இயக்கத்தை துல்லியமாக அளவிட மற்றும் கண்காணிக்க முடியும். வழிசெலுத்தல், கேமிங் மற்றும் விர்ச்சுவல் ரியாலிட்டி போன்ற பிற பயன்பாடுகளிலும் இது பயன்படுத்தப்படுகிறது.
வன்பொருள் கூறுகள்
Arduino உடன் GY-87 IMU MPU6050 HMC5883L BMP085 தொகுதிக்கு இடைமுகப்படுத்துவதற்கு பின்வரும் வன்பொருள் உங்களுக்குத் தேவைப்படும்.
கூறுகள் | மதிப்பு | Qty |
Arduino UNO | – | 1 |
MPU6050 சென்சார் தொகுதி | GY-87 | 1 |
ப்ரெட்போர்டு | – | 1 |
ஜம்பர் கம்பிகள் | – | 1 |
Arduino உடன் GY-87
இப்போது நீங்கள் GY-87 ஐப் புரிந்து கொண்டீர்கள், Arduino உடன் இடைமுகம் செய்ய வேண்டிய நேரம் இது. அதைச் செய்ய, இப்போது நீங்கள் GY-87 ஐப் புரிந்து கொண்டீர்கள், Arduino உடன் இடைமுகம் செய்ய வேண்டிய நேரம் இது. அதை செய்ய, பின்பற்றவும்
உருவரை
கீழே கொடுக்கப்பட்டுள்ள சுற்று வரைபடத்தின்படி இணைப்புகளை உருவாக்கவும்
GY-87 IMU MPU6050 HMC5883L BMP085 Arduinoவயரிங் / இணைப்புகள்
அர்டுயினோ | MPU6050 சென்சார் |
5V | வி.சி.சி |
GND | GND |
A4 | SDA |
A5 | எஸ்சிஏ |
Arduino IDE ஐ நிறுவுகிறது
முதலில், நீங்கள் அதன் அதிகாரப்பூர்வத்திலிருந்து Arduino IDE மென்பொருளை நிறுவ வேண்டும் webதளம் Arduino. "Arduino IDE ஐ எவ்வாறு நிறுவுவது" என்பதற்கான எளிய படிப்படியான வழிகாட்டி இங்கே உள்ளது.
நூலகங்களை நிறுவுதல்
நீங்கள் குறியீட்டைப் பதிவேற்றத் தொடங்கும் முன், /நிரலில் பின்வரும் நூலகங்களைப் பதிவிறக்கி அன்சிப் செய்யவும் FileArduino போர்டுடன் சென்சார் பயன்படுத்த s (x86)/Arduino/Libraries (இயல்புநிலை). "Arduino IDE இல் நூலகங்களை எவ்வாறு சேர்ப்பது" என்பதற்கான எளிய படிப்படியான வழிகாட்டி இங்கே உள்ளது.
- MPU6050
- Adafruit_BMP085
- HMC5883L_Simple
குறியீடு
இப்போது பின்வரும் குறியீட்டை நகலெடுத்து Arduino IDE மென்பொருளில் பதிவேற்றவும்.
#“I2Cdev.h” அடங்கும் #“MPU6050.h” அடங்கும் #அடங்கும் MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_Simple Compass; int085_t ax, ay, az; int5883_t gx, gy, gz; #எல்இடி_பின் 16 பூல் பிளிங்க்ஸ்டேட் = தவறானது; void setup() {Serial.begin(16); Wire.begin(); // சாதனங்களைத் துவக்கவும் Serial.println (“I13C சாதனங்களைத் துவக்குகிறது…”); // bmp9600 ஐ துவக்கினால் (!bmp.begin()) { Serial.println("சரியான BMP2 சென்சார் கண்டுபிடிக்க முடியவில்லை, சரிபார்க்கவும் (!bmp.begin()) { Serial.println("சரியான BMP085 சென்சார் கண்டுபிடிக்க முடியவில்லை, Serial.println(accelgyro.testConnection() ? “MPU085 இணைப்பு வெற்றியடைந்தது” : “MPU085 இணைப்பு தோல்வியடைந்தது” (true) 6050, 'E'); திசைகாட்டி.SetSamplingMode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
திசைகாட்டி.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // செயல்பாடு பின்மோடைச் சரிபார்க்க Arduino LED ஐ உள்ளமைக்கவும் (LED_PIN, OUTPUT); } வெற்றிட வளையம்() {
Serial.print("வெப்பநிலை = "); Serial.print(bmp.readTemperature());
Serial.println(” *C”); Serial.print("அழுத்தம் = ");
Serial.print(bmp.readPressure()); Serial.println("பா"); // 'ஸ்டாண்டர்ட்' பாரோமெட்ரிக் கருதி உயரத்தைக் கணக்கிடுங்கள் // 1013.25 மில்லிபார் அழுத்தம் = 101325 பாஸ்கல் சீரியல்.print(“உயர = “); Serial.print(bmp.readAltitude()); Serial.println("மீட்டர்கள்"); Serial.print("சீலெவலில் அழுத்தம் (கணக்கிடப்பட்டது) = ");
Serial.print(bmp.readSealevelPressure()); Serial.println("பா");
Serial.print("உண்மையான உயரம் = "); Serial.print(bmp.readAltitude(101500));
Serial.println(" மீட்டர்"); // accelgyro.getMotion6 (&ax, &ay, &az, &gx, &gy, &gz) சாதனத்திலிருந்து ra accel/gyro அளவீடுகளைப் படிக்கவும்; // காட்சி தாவலில் பிரிக்கப்பட்ட accel/gyro x/y/z மதிப்புகள் Serial.print(“a/g:\t”); Serial.print(ax);
Serial.print(“\t”); Serial.print(ay); Serial.print(“\t”); Serial.print(az);
Serial.print(“\t”); Serial.print(gx); Serial.print(“\t”); Serial.print(gy);
Serial.print(“\t”); Serial.println(gz); மிதவை தலைப்பு =
திசைகாட்டி.GetHeadingDegrees(); Serial.print("தலைப்பு: \t"); Serial.println( தலைப்பு ); //பிளிங்க் எல்இடி செயல்பாட்டைக் குறிக்கும் blinkState = !blinkState;
டிஜிட்டல் ரைட் (LED_PIN, blinkState); தாமதம்(500); }
அதை சோதனை செய்வோம்
நீங்கள் குறியீட்டைப் பதிவேற்றியதும், சர்க்யூட்டைச் சோதிக்க வேண்டிய நேரம் இது! Arduino நிரலில் உள்ள குறியீடு சென்சார்களின் நூலகங்களைப் பயன்படுத்தி இடைமுகங்களைச் செய்கிறது, இது சென்சார் தரவைப் படிக்கவும் சென்சார்களின் பல்வேறு கட்டமைப்புகளை அமைக்கவும் அனுமதிக்கிறது. பின்னர் அது சீரியல் போர்ட்டில் சென்சார் தரவை அச்சிடுகிறது. சர்க்யூட் எதையாவது செய்கிறது என்பதைக் காட்ட எல்.ஈ.டி பயன்படுத்தப்படுகிறது. இதன் பொருள் லூப் செயல்பாடு இயங்கும் ஒவ்வொரு முறையும் LED ஒளிரும், குறியீடு சென்சார் மதிப்புகளை தீவிரமாகப் படிக்கிறது என்பதைக் குறிக்கிறது.
வேலை விளக்கம்
குறியீடானது சுற்று வேலை செய்யும் முக்கிய விஷயம். எனவே, குறியீட்டைப் புரிந்துகொள்வோம் :.
- முதலில், இது சென்சார்களுடன் இடைமுகமாக பல நூலகங்களை உள்ளடக்கியது:
- "I2Cdev.h" மற்றும் "MPU6050.h" ஆகியவை MPU6050 6-அச்சு முடுக்கமானி/கைரோஸ்கோப் சென்சாருக்கான நூலகங்கள்.
- “Adafruit_BMP085.h” என்பது BMP085 பாரோமெட்ரிக் பிரஷர் சென்சாருக்கான நூலகமாகும்.
- "HMC5883L_Simple.h" என்பது HMC5883L காந்தமானி உணரிக்கான நூலகமாகும்.
- பின்னர் அது மூன்று சென்சார்களுக்கான உலகளாவிய பொருட்களை உருவாக்குகிறது: MPU6050 accelgyro, Adafruit_BMP085 bmp, மற்றும் HMC5883L_Simple Compass.
- அடுத்து, இது MPU6050 இன் முடுக்கமானி மற்றும் HMC5883L இன் மேக்னடோமீட்டருக்குச் செல்வதற்கு, ax, ay மற்றும் az போன்ற சென்சார் மதிப்புகளைச் சேமிக்க சில மாறிகளை வரையறுக்கிறது. மேலும் இது LED_PIN மாறிலி மற்றும் பிளிங்க்ஸ்டேட் மாறியை வரையறுக்கிறது.
- அமைவு() செயல்பாடு ஒரு தொடர் தொடர்பைத் தொடங்கி, I2C தொடர்பைத் தொடங்குகிறது. பின்னர் அது மூன்று சென்சார்களை துவக்குகிறது:
- BMP085 சென்சார் தொடக்க() முறையை அழைப்பதன் மூலம் துவக்கப்படுகிறது. சென்சார் கண்டுபிடிக்கப்படவில்லை என்பதைக் குறிக்கும் வகையில் இது தவறானதாகத் திரும்பினால், நிரல் ஒரு எல்லையற்ற சுழற்சியில் நுழைந்து சீரியல் போர்ட்டில் பிழைச் செய்தியை அச்சிடுகிறது.
- MPU6050 சென்சார் துவக்கம்() முறையை அழைத்து, அது சரியாக வேலை செய்கிறதா என்பதைச் சரிபார்த்து. மேலும் இது MPU2 க்கு I6050C பைபாஸ் இயக்கப்பட்டது.
- SetDeclination, SetS போன்ற சில செயல்பாடுகளை அழைப்பதன் மூலம் HMC5883L சென்சார் துவக்கப்படுகிறது.amplingMode, SetScale மற்றும் SetOrientation, சென்சாருக்கான வெவ்வேறு கட்டமைப்புகளை அமைப்பதற்காக.
- லூப்() செயல்பாட்டில், குறியீடு மூன்று சென்சார்களில் இருந்து தரவைப் படித்து, சீரியல் போர்ட்டில் அச்சிடுகிறது:
- இது சென்சாரிலிருந்து கடல் மட்டத்தில் வெப்பநிலை, அழுத்தம், உயரம் மற்றும் அழுத்தம் ஆகியவற்றைப் படிக்கிறது.
- இது MPU6050 சென்சாரிலிருந்து மூல முடுக்கம் மற்றும் கைரோஸ்கோப் அளவீடுகளைப் படிக்கிறது.
- இது HMC5883L சென்சாரிலிருந்து தலைப்பைப் படிக்கிறது, இது சென்சார் சுட்டிக்காட்டும் திசைக்கும் காந்த வடக்கு இருக்கும் திசைக்கும் இடையிலான கோணமாகும்.
- இறுதியாக, இது செயல்பாட்டைக் குறிக்க LED ஐ ஒளிரச் செய்கிறது மற்றும் சென்சார்களை மீண்டும் படிக்கும் முன் சிறிது நேரம் காத்திருக்கிறது.
ஆவணங்கள் / ஆதாரங்கள்
![]() |
ARDUINO GY87 ஒருங்கிணைந்த சென்சார் சோதனை ஸ்கெட்ச் [pdf] பயனர் கையேடு GY87 ஒருங்கிணைந்த சென்சார் டெஸ்ட் ஸ்கெட்ச், GY87, ஒருங்கிணைந்த சென்சார் டெஸ்ட் ஸ்கெட்ச், சென்சார் டெஸ்ட் ஸ்கெட்ச், டெஸ்ட் ஸ்கெட்ச் |