نمایش نتایج: از 1 به 2 از 2

موضوع: کواد کوپتر اردوینو نانو

  1. #1
    Senior Member
    تاریخ عضویت
    Jan 2016
    محل سکونت
    ایران عزیز
    نوشته ها
    200

    کواد کوپتر اردوینو نانو

    سلام من میخوام با اردوینو نانو و موتور میکرو یک کواد کوپتر کوچک درست کنم که فقط پرواز کنه برای بار اول
    ماژول رو تو اردوینو تعریف نکردم یعنی فقط بایاسش کردم و ورودی ماژول فرستنده مستقیم به خروجی pwmاردوینو متصل شده
    این کد رو نوشتم طوری هست که تعادل با ماژول شتاب سنج حفظ بشه
    دوم زمانی که یک کلید رو که به اردوینو وصله بزنم تو خروجی pwmاردوینو انالوگ رایت 200رو بندازه و توی گیرنده هم همون200دریافت بشه و تمام موتور ها میچرخند و کواد از زمین بلند میشه
    زمانی که کلید دیگه ای بخوره دوتا موتور بیشتر بچرخن و کواد به یک طرف بره
    همینطور تمام جهت هارو تعریف کردم ایا کدم درسته؟
    کار میکنه این پروژه بنده؟

    int data = A0;
    #include <Adafruit_ADXL345_U.h>
    #include <Adafruit_Sensor.h>
    #include <Wire.h>

    #define motor 3
    #define motor2 5
    #define motor3 6
    #define motor4 9

    float x, y, z;

    Adafruit_ADXL345_Unified accel (54321);

    void setup() {
    // put your setup code here, to run once:
    Serial.begin(9600);
    pinMode(data, INPUT);

    accel.setRange(ADXL345_RANGE_16_G);
    accel.setDataRate(ADXL345_DATARATE_25_HZ);
    }

    void loop() {
    int value = analogRead(data);

    while ( value = 200) {
    analogWrite(motor, 200);
    analogWrite(motor2, 200);
    analogWrite(motor3, 200);
    analogWrite(motor4, 200);
    }
    while (value = 100) {
    analogWrite(motor, 100);
    analogWrite(motor2, 100);
    analogWrite(motor3, 100);
    analogWrite(motor4, 100);

    }
    while(value = 300) {
    analogWrite(motor, 220);
    analogWrite(motor2, 220);

    }
    while (value = 400) {

    analogWrite(motor3, 220);
    analogWrite(motor4, 220);

    }
    while (value = 500) {
    analogWrite(motor, 220);
    analogWrite(motor3, 220);

    }
    while (value = 600) {
    analogWrite(motor2, 220);
    analogWrite(motor3, 220);

    }
    sensors_event_t event;
    accel.getEvent(&event);


    x = event.acceleration.x;
    y = event.acceleration.y;
    z = event.acceleration.z;

    Serial.print("X: "); Serial.print(event.acceleration.x); Serial.print(" ");
    Serial.print("Y: "); Serial.print(event.acceleration.y); Serial.print(" ");
    Serial.print("Z: "); Serial.print(event.acceleration.z); Serial.print(" ");

    if (z > -11 && z <-9) {
    analogWrite(motor, 200);
    analogWrite(motor2, 200);
    analogWrite(motor3, 200);
    analogWrite(motor4, 200);

    }
    else {
    analogWrite(motor, 0);
    analogWrite(motor2, 0);
    analogWrite(motor3, 0);
    analogWrite(motor4, 0);
    }
    if (x > 0) {
    analogWrite(motor, 50);
    delay(100);
    analogWrite(motor2, 50);
    delay(100);
    }
    else if (x < 0) {
    analogWrite(motor3, 50);
    delay(100);
    analogWrite(motor4, 50);
    delay(100);
    }
    if (y < 0) {
    analogWrite(motor2, 50);
    delay(50);
    analogWrite(motor4, 50);
    delay(50);

    }
    else if (y > 0) {
    analogWrite(motor, 50);
    delay(100);
    analogWrite(motor3, 50);
    delay(100);
    }
    }

  2. #2
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    3,920
    دوست عزیز تست زدی؟

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO