اطلاعیه

Collapse
No announcement yet.

کنترل سروو باMPU6050از راه دور

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کنترل سروو باMPU6050از راه دور

    سلام.بنده قصد دارم با دو تاNRF24L01ودو عددARDUINO nanoیه موتور سروو رو باmpu کنترل کنم.طبیعتا یه فرستنده داریم و یک گیرنده همونطور که معلومه تو فرستنده ازmpu6050,nrf,nanoباید استفاده کنیم من برنامش رو به صورت زیر نوشتم
    کد:
    #include<Wire.h>
    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>
    const int MPU=0x68; // I2C address of the MPU-6050
    const uint64_t pipe = 0xE8E8F0F0E1LL;
    int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ;
    #define CE_PIN 9
    #define CSN_PIN 10
    #define JOYSTICK_X A0
    #define JOYSTICK_Y A1
    RF24 radio(CE_PIN, CSN_PIN);
    int joystick[2];
    void setup(){
    Serial.begin(9600);
    radio.begin();
    radio.openWritingPipe(pipe);
    Wire.begin();
    Wire.beginTransmission(MPU);
    Wire.write(0x6B); // PWR_MGMT_1 register
    Wire.write(0); // set to zero (wakes up the MPU-6050)
    Wire.endTransmission(true);
    Serial.begin(9600);
    }
    void loop(){
    Wire.beginTransmission(MPU);
    Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H)
    Wire.endTransmission(false);
    Wire.requestFrom(MPU,14,true); // request a total of 14 registers
    AcX=Wire.read()<<8|Wire.read(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)
    AcY=Wire.read()<<8|Wire.read(); // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)
    
    Serial.print("AcX = "); Serial.print(AcX);
    Serial.print(" | AcY = "); Serial.print(AcY);
    joystick[0] =AcX;
    joystick[1] =AcY;
    
    radio.write( joystick, sizeof(joystick) );
    
    delay(333);
    }
    دوستان یه نظری در مورد کلیتش بدن.در مورد بستن مدار هم برای زاویه سنج SDAبهA4وSCLبهA5برای NRFهمCE__D9وCSN__D10,SCK__D13,MOSI__D11,MISO__D12و صل کردم
    فقط یه قسمتیش به نظرم خیلی میلنگه اونم اینه که طبق برنامه هایی که دیدم برای اتصالNRFبه نانو باید CE__D9,CSN__D10ولی وقتی تو برنامه این کار رو میکردم خطا میگرفت به خاطر همین به جای D9,D10از9و10استفاده کردم!
لطفا صبر کنید...
X