ਅਰਡਿਨੋ-ਲਗੂ

ARDUINO GY87 ਸੰਯੁਕਤ ਸੈਂਸਰ ਟੈਸਟ ਸਕੈਚ

ARDUINO-GY87-ਸੰਯੁਕਤ-ਸੈਂਸਰ-ਟੈਸਟ-ਸਕੈਚ-ਉਤਪਾਦ

ਜਾਣ-ਪਛਾਣ

ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਸ਼ੌਕੀਨ ਮੇਕਰ ਜਾਂ ਰੋਬੋਟਿਕਸ ਦੇ ਸ਼ੌਕੀਨ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਇਸ ਛੋਟੇ ਪਰ ਸ਼ਕਤੀਸ਼ਾਲੀ ਮੋਡੀਊਲ ਵਿੱਚ ਆਏ ਹੋ ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਸ਼ੌਕੀਨ ਨਿਰਮਾਤਾ ਜਾਂ ਰੋਬੋਟਿਕਸ ਦੇ ਸ਼ੌਕੀਨ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਇਸ ਛੋਟੇ ਪਰ ਸ਼ਕਤੀਸ਼ਾਲੀ ਮੋਡੀਊਲ BMP085 ਬੈਰੋਮੀਟਰ ਵਿੱਚ ਆਏ ਹੋ। GY-87 IMU ਮੋਡੀਊਲ ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਮੋਸ਼ਨ ਸੈਂਸਿੰਗ ਨੂੰ ਜੋੜਨ ਦਾ ਇੱਕ ਵਧੀਆ ਤਰੀਕਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਇੱਕ ਸਵੈ-ਸੰਤੁਲਨ ਰੋਬੋਟ ਜਾਂ ਇੱਕ ਕਵਾਡਕਾਪਟਰ।
ਪਰ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਤੁਸੀਂ GY-87 IMU ਮੋਡੀਊਲ ਨਾਲ ਪ੍ਰਯੋਗ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰ ਸਕੋ, ਤੁਹਾਨੂੰ ਇਹ ਜਾਣਨ ਦੀ ਲੋੜ ਹੈ ਕਿ ਇਸਨੂੰ ਆਪਣੇ Arduino ਬੋਰਡ ਨਾਲ ਕਿਵੇਂ ਇੰਟਰਫੇਸ ਕਰਨਾ ਹੈ। ਇਹ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਇਹ ਬਲੌਗ ਆਉਂਦਾ ਹੈ! ਹੇਠਾਂ ਦਿੱਤੇ ਪੈਰਿਆਂ ਵਿੱਚ, ਅਸੀਂ GY-87 IMU ਮੋਡੀਊਲ ਦੀਆਂ ਮੂਲ ਗੱਲਾਂ ਨੂੰ ਕਵਰ ਕਰਾਂਗੇ, ਇਸਨੂੰ ਕਿਵੇਂ ਸੈਟ ਅਪ ਕਰਨਾ ਹੈ, ਅਤੇ ਸੈਂਸਰ ਡੇਟਾ ਨੂੰ ਪੜ੍ਹਨ ਲਈ Arduino ਕੋਡ ਕਿਵੇਂ ਲਿਖਣਾ ਹੈ। ਅਸੀਂ ਆਮ ਸਮੱਸਿਆਵਾਂ ਦੇ ਨਿਪਟਾਰੇ ਲਈ ਕੁਝ ਸੁਝਾਅ ਅਤੇ ਸਰੋਤ ਵੀ ਪ੍ਰਦਾਨ ਕਰਾਂਗੇ।
ਇਸ ਲਈ, ਜੇਕਰ ਤੁਸੀਂ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਤਿਆਰ ਹੋ, ਤਾਂ ਆਓ ਇਸ ਵਿੱਚ ਡੁਬਕੀ ਕਰੀਏ ਅਤੇ Arduino ਨਾਲ GY-87 IMU ਮੋਡੀਊਲ ਨੂੰ ਇੰਟਰਫੇਸ ਕਰਨ ਬਾਰੇ ਸਿੱਖੀਏ!

GY-87 IMU MPU6050 ਕੀ ਹੈ?

ਇਨਰਸ਼ੀਅਲ ਮਾਪ ਯੂਨਿਟ (IMU) ਮੋਡੀਊਲ ਜਿਵੇਂ ਕਿ GY-87 ਬਹੁਤ ਸਾਰੇ ਸੈਂਸਰਾਂ ਨੂੰ ਇੱਕ ਪੈਕੇਜ ਵਿੱਚ ਜੋੜਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ MPU6050 ਐਕਸੀਲੇਰੋਮੀਟਰ/ਜਾਇਰੋਸਕੋਪ, HMC5883L ਮੈਗਨੇਟੋਮੀਟਰ, ਅਤੇ BMP085 ਬੈਰੋਮੈਟ੍ਰਿਕ ਪ੍ਰੈਸ਼ਰ ਸੈਂਸਰ। ਇਸ ਲਈ, GY-87 IMU MPU6050 ਇੱਕ ਆਲ-ਇਨ-ਵਨ 9-ਐਕਸਿਸ ਮੋਸ਼ਨ ਟਰੈਕਿੰਗ ਮੋਡੀਊਲ ਹੈ ਜੋ ਇੱਕ 3-ਧੁਰੀ ਜਾਇਰੋਸਕੋਪ, 3-ਐਕਸਿਸ ਐਕਸੀਲੇਰੋਮੀਟਰ, 3-ਐਕਸਿਸ ਮੈਗਨੇਟੋਮੀਟਰ, ਅਤੇ ਇੱਕ ਡਿਜੀਟਲ ਮੋਸ਼ਨ ਪ੍ਰੋਸੈਸਰ ਨੂੰ ਜੋੜਦਾ ਹੈ। ਇਹ ਰੋਬੋਟਿਕ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਬਹੁਤ ਜ਼ਿਆਦਾ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਕਵਾਡਕੋਪਟਰ ਅਤੇ ਹੋਰ ਮਾਨਵ ਰਹਿਤ ਏਰੀਅਲ ਵਾਹਨ (ਯੂਏਵੀ), ਕਿਉਂਕਿ ਇਹ ਸਥਿਤੀ ਅਤੇ ਗਤੀ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਮਾਪ ਅਤੇ ਟਰੈਕ ਕਰ ਸਕਦਾ ਹੈ। ਇਹ ਹੋਰ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਵੀ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਨੇਵੀਗੇਸ਼ਨ, ਗੇਮਿੰਗ, ਅਤੇ ਵਰਚੁਅਲ ਰਿਐਲਿਟੀ।

ਹਾਰਡਵੇਅਰ ਕੰਪੋਨੈਂਟਸ

ਤੁਹਾਨੂੰ Arduino ਨਾਲ GY-87 IMU MPU6050 HMC5883L BMP085 ਮੋਡੀਊਲ ਨੂੰ ਇੰਟਰਫੇਸ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ ਹਾਰਡਵੇਅਰ ਦੀ ਲੋੜ ਹੋਵੇਗੀ।

ਕੰਪੋਨੈਂਟਸ ਮੁੱਲ ਮਾਤਰਾ
ਅਰਡਿਨੋ ਯੂ.ਐਨ.ਓ 1
MPU6050 ਸੈਂਸਰ ਮੋਡੀਊਲ GY-87 1
ਰੋਟੀ ਦਾ ਬੋਰਡ 1
ਜੰਪਰ ਤਾਰਾਂ 1

Arduino ਨਾਲ GY-87 

ਹੁਣ ਜਦੋਂ ਤੁਸੀਂ GY-87 ਨੂੰ ਸਮਝ ਲਿਆ ਹੈ, ਇਹ ਅਰਡਿਨੋ ਨਾਲ ਇੰਟਰਫੇਸ ਕਰਨ ਦਾ ਸਮਾਂ ਹੈ। ਅਜਿਹਾ ਕਰਨ ਲਈ, ਪਾਲਣਾ ਕਰੋ ਹੁਣ ਜਦੋਂ ਤੁਸੀਂ GY-87 ਨੂੰ ਸਮਝ ਲਿਆ ਹੈ, ਇਹ Arduino ਨਾਲ ਇੰਟਰਫੇਸ ਕਰਨ ਦਾ ਸਮਾਂ ਹੈ। ਅਜਿਹਾ ਕਰਨ ਲਈ, ਪਾਲਣਾ ਕਰੋ

ਯੋਜਨਾਬੱਧ

ਹੇਠਾਂ ਦਿੱਤੇ ਸਰਕਟ ਚਿੱਤਰ ਦੇ ਅਨੁਸਾਰ ਕੁਨੈਕਸ਼ਨ ਬਣਾਓ

GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoARDUINO-GY87-ਸੰਯੁਕਤ-ਸੈਂਸਰ-ਟੈਸਟ-ਸਕੈਚ-ਅੰਜੀਰ 1ਵਾਇਰਿੰਗ / ਕੁਨੈਕਸ਼ਨ

Arduino MPU6050 ਸੈਂਸਰ
5V ਵੀ.ਸੀ.ਸੀ
ਜੀ.ਐਨ.ਡੀ ਜੀ.ਐਨ.ਡੀ
A4 ਐਸ.ਡੀ.ਏ
A5 ਐਸ.ਸੀ.ਏ

Arduino IDE ਇੰਸਟਾਲ ਕਰਨਾ 

ਪਹਿਲਾਂ, ਤੁਹਾਨੂੰ ਇਸਦੇ ਅਧਿਕਾਰੀ ਤੋਂ Arduino IDE ਸੌਫਟਵੇਅਰ ਨੂੰ ਸਥਾਪਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ webਸਾਈਟ Arduino. ਇੱਥੇ "Arduino IDE ਨੂੰ ਕਿਵੇਂ ਸਥਾਪਿਤ ਕਰਨਾ ਹੈ" ਬਾਰੇ ਇੱਕ ਸਧਾਰਨ ਕਦਮ-ਦਰ-ਕਦਮ ਗਾਈਡ ਹੈ।

ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰਨਾ 

ਕੋਡ ਅੱਪਲੋਡ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, /ਪ੍ਰੋਗਰਾਮ 'ਤੇ ਹੇਠ ਲਿਖੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਡਾਊਨਲੋਡ ਅਤੇ ਅਨਜ਼ਿਪ ਕਰੋ Files (x86)/Arduino/Libraries (ਡਿਫੌਲਟ) Arduino ਬੋਰਡ ਦੇ ਨਾਲ ਸੈਂਸਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ। ਇੱਥੇ "Arduino IDE ਵਿੱਚ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਕਿਵੇਂ ਜੋੜਨਾ ਹੈ" ਬਾਰੇ ਇੱਕ ਸਧਾਰਨ ਕਦਮ-ਦਰ-ਕਦਮ ਗਾਈਡ ਹੈ।

  • MPU6050
  • Adafruit_BMP085
  • HMC5883L_Simple

ਕੋਡ 

ਹੁਣ ਹੇਠਾਂ ਦਿੱਤੇ ਕੋਡ ਨੂੰ ਕਾਪੀ ਕਰੋ ਅਤੇ ਇਸਨੂੰ Arduino IDE ਸਾਫਟਵੇਅਰ 'ਤੇ ਅੱਪਲੋਡ ਕਰੋ।

#ਸ਼ਾਮਲ ਕਰੋ “I2Cdev.h” #ਸ਼ਾਮਲ ਕਰੋ “MPU6050.h” #ਸ਼ਾਮਲ #ਸ਼ਾਮਲ MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_ਸਧਾਰਨ ਕੰਪਾਸ; int085_t ax, ay, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = ਗਲਤ; 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 ਕਨੈਕਸ਼ਨ ਅਸਫਲ”; accelgyro.setI6050CBypassEnabled(true); // hmc6050L ਦੇ ਗੇਟਵੇ ਲਈ ਬਾਈਪਾਸ ਮੋਡ ਸੈਟ ਕਰੋ // hmc2l (compasslin.com) ਸ਼ੁਰੂ ਕਰੋ 5883, 'E'); Compass.SetSamplingMode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // ਗਤੀਵਿਧੀ ਪਿੰਨਮੋਡ (LED_PIN, OUTPUT) ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ Arduino LED ਨੂੰ ਕੌਂਫਿਗਰ ਕਰੋ; } void loop() {
ਸੀਰੀਅਲ.ਪ੍ਰਿੰਟ ("ਤਾਪਮਾਨ = "); Serial.print(bmp.readTemperature());
Serial.println(”*C”); ਸੀਰੀਅਲ.ਪ੍ਰਿੰਟ ("ਪ੍ਰੈਸ਼ਰ = ");
Serial.print(bmp.readPressure()); Serial.println("Pa"); // 1013.25 ਮਿਲੀਬਾਰ = 101325 ਪਾਸਕਲ ਸੀਰੀਅਲ ਪ੍ਰਿੰਟ (“ਉਚਾਈ = “); Serial.print(bmp.readAltitude()); Serial.println("ਮੀਟਰ"); ਸੀਰੀਅਲ.ਪ੍ਰਿੰਟ ("ਸੀਲ ਪੱਧਰ 'ਤੇ ਦਬਾਅ (ਗਣਨਾ) = ");
Serial.print(bmp.readSealevelPressure()); Serial.println("Pa");
ਸੀਰੀਅਲ.ਪ੍ਰਿੰਟ ("ਅਸਲ ਉਚਾਈ = "); Serial.print(bmp.readAltitude(101500));
Serial.println("ਮੀਟਰ"); // ਡਿਵਾਈਸ accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz) ਤੋਂ raw accel/gyro ਮਾਪ ਪੜ੍ਹੋ; // ਡਿਸਪਲੇ ਟੈਬ-ਵੱਖ ਕੀਤਾ accel/gyro x/y/z ਮੁੱਲ Serial.print(“a/g:\t”); ਸੀਰੀਅਲ.ਪ੍ਰਿੰਟ(ਕੁਹਾੜਾ);
Serial.print(“\t”); Serial.print(ay); Serial.print(“\t”); ਸੀਰੀਅਲ.ਪ੍ਰਿੰਟ(ਏਜ਼);
Serial.print(“\t”); Serial.print(gx); Serial.print(“\t”); ਸੀਰੀਅਲ.ਪ੍ਰਿੰਟ(gy);
Serial.print(“\t”); Serial.println(gz); ਫਲੋਟ ਸਿਰਲੇਖ =
Compass.GetHeadingDegrees(); Serial.print("ਸਿਰਲੇਖ: \t"); Serial.println(ਸਿਰਲੇਖ); // ਬਲਿੰਕ LED ਸਰਗਰਮੀ ਨੂੰ ਦਰਸਾਉਣ ਲਈ blinkState = !blinkState;
digitalWrite(LED_PIN, blinkState); ਦੇਰੀ(500); }

ਆਓ ਇਸ ਦੀ ਜਾਂਚ ਕਰੀਏ 

ਇੱਕ ਵਾਰ ਜਦੋਂ ਤੁਸੀਂ ਕੋਡ ਅੱਪਲੋਡ ਕਰ ਲੈਂਦੇ ਹੋ, ਤਾਂ ਸਰਕਟ ਦੀ ਜਾਂਚ ਕਰਨ ਦਾ ਸਮਾਂ ਆ ਗਿਆ ਹੈ! Arduino ਪ੍ਰੋਗਰਾਮ ਵਿੱਚ ਕੋਡ ਉਹਨਾਂ ਦੀਆਂ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਸੈਂਸਰਾਂ ਨਾਲ ਇੰਟਰਫੇਸ ਕਰਦਾ ਹੈ, ਜੋ ਇਸਨੂੰ ਸੈਂਸਰ ਡੇਟਾ ਨੂੰ ਪੜ੍ਹਨ ਅਤੇ ਸੈਂਸਰਾਂ ਦੀਆਂ ਵੱਖ-ਵੱਖ ਸੰਰਚਨਾਵਾਂ ਨੂੰ ਸੈੱਟ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਫਿਰ ਇਹ ਸੀਰੀਅਲ ਪੋਰਟ ਉੱਤੇ ਸੈਂਸਰ ਡੇਟਾ ਨੂੰ ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ। LED ਦੀ ਵਰਤੋਂ ਇਹ ਦਿਖਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਸਰਕਟ ਕੁਝ ਕਰ ਰਿਹਾ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਹਰ ਵਾਰ ਜਦੋਂ ਲੂਪ ਫੰਕਸ਼ਨ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ LED ਝਪਕਦਾ ਹੈ, ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਕੋਡ ਸਰਗਰਮੀ ਨਾਲ ਸੈਂਸਰ ਮੁੱਲਾਂ ਨੂੰ ਪੜ੍ਹ ਰਿਹਾ ਹੈ।

ਕਾਰਜਕਾਰੀ ਵਿਆਖਿਆ 

ਕੋਡ ਮੁੱਖ ਚੀਜ਼ ਹੈ ਜਿਸ 'ਤੇ ਸਰਕਟ ਦਾ ਕੰਮ ਅਧਾਰਤ ਹੈ। ਇਸ ਲਈ, ਆਓ ਕੋਡ ਨੂੰ ਸਮਝੀਏ:.

  • ਪਹਿਲਾਂ, ਇਸ ਵਿੱਚ ਸੈਂਸਰਾਂ ਨਾਲ ਇੰਟਰਫੇਸ ਕਰਨ ਲਈ ਕਈ ਲਾਇਬ੍ਰੇਰੀਆਂ ਸ਼ਾਮਲ ਹਨ:
  • “I2Cdev.h” ਅਤੇ “MPU6050.h” MPU6050 6-ਧੁਰੀ ਐਕਸੀਲੇਰੋਮੀਟਰ/ਜਾਇਰੋਸਕੋਪ ਸੈਂਸਰ ਲਈ ਲਾਇਬ੍ਰੇਰੀਆਂ ਹਨ
  • "Adafruit_BMP085.h" BMP085 ਬੈਰੋਮੈਟ੍ਰਿਕ ਪ੍ਰੈਸ਼ਰ ਸੈਂਸਰ ਲਈ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ।
  • “HMC5883L_Simple.h” HMC5883L ਮੈਗਨੇਟੋਮੀਟਰ ਸੈਂਸਰ ਲਈ ਇੱਕ ਲਾਇਬ੍ਰੇਰੀ ਹੈ।
  • ਫਿਰ ਇਹ ਤਿੰਨ ਸੈਂਸਰਾਂ ਲਈ ਗਲੋਬਲ ਆਬਜੈਕਟ ਬਣਾਉਂਦਾ ਹੈ: MPU6050 accelgyro, Adafruit_BMP085 bmp, ਅਤੇ HMC5883L_Simple Compass।
  • ਅੱਗੇ, ਇਹ ਸੈਂਸਰ ਮੁੱਲਾਂ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ ਕੁਝ ਵੇਰੀਏਬਲਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ MPU6050 ਦੇ ਐਕਸੀਲਰੋਮੀਟਰ ਲਈ ax, ay, ਅਤੇ az ਅਤੇ HMC5883L ਦੇ ਮੈਗਨੇਟੋਮੀਟਰ ਲਈ ਸਿਰਣਾ। ਅਤੇ ਇਹ ਇੱਕ LED_PIN ਸਥਿਰਤਾ ਅਤੇ ਇੱਕ ਬਲਿੰਕਸਟੇਟ ਵੇਰੀਏਬਲ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ।
  • ਸੈੱਟਅੱਪ() ਫੰਕਸ਼ਨ ਇੱਕ ਸੀਰੀਅਲ ਸੰਚਾਰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ ਅਤੇ I2C ਸੰਚਾਰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। ਫਿਰ ਇਹ ਤਿੰਨ ਸੈਂਸਰਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ:
  • BMP085 ਸੈਂਸਰ ਬਿਗਨ() ਵਿਧੀ ਨੂੰ ਕਾਲ ਕਰਕੇ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਜੇਕਰ ਇਹ ਗਲਤ ਰਿਟਰਨ ਕਰਦਾ ਹੈ, ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਸੈਂਸਰ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ, ਪ੍ਰੋਗਰਾਮ ਇੱਕ ਅਨੰਤ ਲੂਪ ਵਿੱਚ ਦਾਖਲ ਹੁੰਦਾ ਹੈ ਅਤੇ ਸੀਰੀਅਲ ਪੋਰਟ ਉੱਤੇ ਇੱਕ ਗਲਤੀ ਸੁਨੇਹਾ ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ।
  • MPU6050 ਸੈਂਸਰ ਨੂੰ ਸ਼ੁਰੂਆਤੀ() ਵਿਧੀ ਨੂੰ ਕਾਲ ਕਰਕੇ ਅਤੇ ਇਹ ਜਾਂਚ ਕੇ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਕਿ ਕੀ ਇਹ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰ ਰਿਹਾ ਹੈ। ਅਤੇ ਇਸਨੇ MPU2 ਲਈ ਸਮਰੱਥ I6050C ਬਾਈਪਾਸ ਸੈੱਟ ਕੀਤਾ।
  • HMC5883L ਸੈਂਸਰ ਨੂੰ ਕੁਝ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਕਾਲ ਕਰਕੇ ਸ਼ੁਰੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ SetDeclination, SetSampਸੈਂਸਰ ਲਈ ਵੱਖ-ਵੱਖ ਸੰਰਚਨਾਵਾਂ ਨੂੰ ਸੈੱਟ ਕਰਨ ਲਈ lingMode, SetScale, ਅਤੇ SetOrientation।
  • ਲੂਪ() ਫੰਕਸ਼ਨ ਵਿੱਚ, ਕੋਡ ਤਿੰਨ ਸੈਂਸਰਾਂ ਤੋਂ ਡੇਟਾ ਪੜ੍ਹਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਸੀਰੀਅਲ ਪੋਰਟ ਉੱਤੇ ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ:
  • ਇਹ ਸੈਂਸਰ ਤੋਂ ਸਮੁੰਦਰ ਦੇ ਪੱਧਰ 'ਤੇ ਤਾਪਮਾਨ, ਦਬਾਅ, ਉਚਾਈ ਅਤੇ ਦਬਾਅ ਪੜ੍ਹਦਾ ਹੈ।
  • ਇਹ MPU6050 ਸੈਂਸਰ ਤੋਂ ਕੱਚਾ ਪ੍ਰਵੇਗ ਅਤੇ ਜਾਇਰੋਸਕੋਪ ਮਾਪ ਪੜ੍ਹਦਾ ਹੈ।
  • ਇਹ HMC5883L ਸੈਂਸਰ ਤੋਂ ਸਿਰਲੇਖ ਪੜ੍ਹਦਾ ਹੈ, ਜੋ ਕਿ ਉਸ ਦਿਸ਼ਾ ਵਿੱਚ ਕੋਣ ਹੈ ਜਿਸ ਵਿੱਚ ਸੈਂਸਰ ਇਸ਼ਾਰਾ ਕਰ ਰਿਹਾ ਹੈ ਅਤੇ ਉਹ ਦਿਸ਼ਾ ਜਿਸ ਵਿੱਚ ਚੁੰਬਕੀ ਉੱਤਰ ਹੈ।
  • ਅੰਤ ਵਿੱਚ, ਇਹ ਗਤੀਵਿਧੀ ਨੂੰ ਦਰਸਾਉਣ ਲਈ LED ਨੂੰ ਝਪਕਦਾ ਹੈ ਅਤੇ ਸੈਂਸਰਾਂ ਨੂੰ ਦੁਬਾਰਾ ਪੜ੍ਹਨ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਪਲ ਉਡੀਕ ਕਰਦਾ ਹੈ।

ਦਸਤਾਵੇਜ਼ / ਸਰੋਤ

ARDUINO GY87 ਸੰਯੁਕਤ ਸੈਂਸਰ ਟੈਸਟ ਸਕੈਚ [pdf] ਯੂਜ਼ਰ ਮੈਨੂਅਲ
GY87 ਸੰਯੁਕਤ ਸੈਂਸਰ ਟੈਸਟ ਸਕੈਚ, GY87, ਸੰਯੁਕਤ ਸੈਂਸਰ ਟੈਸਟ ਸਕੈਚ, ਸੈਂਸਰ ਟੈਸਟ ਸਕੈਚ, ਟੈਸਟ ਸਕੈਚ

ਹਵਾਲੇ

ਇੱਕ ਟਿੱਪਣੀ ਛੱਡੋ

ਤੁਹਾਡਾ ਈਮੇਲ ਪਤਾ ਪ੍ਰਕਾਸ਼ਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ। ਲੋੜੀਂਦੇ ਖੇਤਰਾਂ ਨੂੰ ਚਿੰਨ੍ਹਿਤ ਕੀਤਾ ਗਿਆ ਹੈ *