ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 4 1234 آخرین
نمایش نتایج: از 1 به 10 از 32
  1. #1
    2016/04/06
    383
    528

    من یک تازه کار با برد آردوینو UNO هستم !!


    سلام دوستان من میخوام کار با آردوینو UNO رو شروع کنم از صفر صفره پروگرم کردنش تاا ...
    این تاپیک رو زدم تا مرحله به مرحله کمکم کنین و راهنمایی کنین منم چیزایی ک یاد میگیرم به طور کامل پست میکنم
    باشد ک رستگار شوم
    نرم افزار آردوینورو دانلود کردم و برد رو به کامپیوتر متصل کردم
    اون طوری ک تو توضیحات خوندم باید پورت و نام اردوینو رو تو نرم افزار انتخاب کنم تا نرم افزار بشناسه به طور کامل بردم رو

    برا تستش هم از بخش file مثل عکس زیر میریم جلو و چشمک زن آردوینو رو فعال میکنیم :

    دکمه اپلود هم برا پروگرم شدن برنامه میزنیم

    اگه همه چی درست پیش رفته باشه led روی برد آردوینو باید چشمک بزنه

    کارمون با UNO جان شروع شد ...ایشاا... ادامه میدیم
    ویرایش توسط علی چمانی : 2017/06/19 در ساعت 10:23
  2. #2
    2016/04/06
    383
    528

    پاسخ : من یک تازه کار با برد آردوینو UNO هستم !!

    در پست قبل چشمک زن روی خود برد رو فعال کردیم و به نتیجه رسیدیم امروز میخوایم یکم کدها و دستورهای اونو بررسی کنیم و ببینیم چی به چیه !!و اگه بتونیم LED های دیگه ای رو اضافه کنیم و تاخیر بدیم و ی رقص نور کوچولو ایجاد کنیم باهاشون ....



    void setup() {
    // initialize digital pin LED_BUILTIN as an output.
    pinMode(13, OUTPUT);
    }

    // the loop function runs over and over again forever
    void loop() {
    digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
    delay(1000); // wait for a second
    digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
    delay(1000); // wait for a second
    }



    کد نمونه چشمک زن رو از همون مسیر که گفته شد باز میکنیم


    دوتا تابع اساسی داریم void setup() و void loop()
    تابع SETUP
    این تابع فقط یک بار اجرا میشه توسط کامپایلر و بیشتر برای تعریف کردن پایه ها به عنوان وردوی یا خروجی و فراخوانی کتابخونه ها و ... ب کار میره
    تابع LOOP
    برخلاف چیزی ک تو تابع بالا گفتیم این تابع هی اجرا میشه و نقطه پایان نداره کلا !!ینی کامپایلر میاد خط به خط میخونه و اجرا میکنه وختی رسید به خط پایان دوباره برمیگرده از خط اول میخونه و اجرا میکنه و این فرایند مدام تکرار میشه ...
    برم سر اصل مطلب ینی چشمک زن

    دستور pinMode :

    اگه ب برد توجه بکنیم میبینیم که 14 پایه دیجیتال داره که هم میتونن ورودی باشن و هم خروجی و البته 6 پایه آنالوگ داره که فقط میتونن ورودی باشن
    در حقیقت با این دستور ما میگیم که کدوم پایه میخوایم که چی باشه
    مثلا تو این بحث پایه مورد نظرمون پایه 13 هستش که میخوایم خروجی باشه که باید از این دستور استفاده بشه ...
    برای پایه های دیجیتال از 0 تا 13 و برای پایه های آنالوگ از A0 تا A5 استفاده میشه
    OUTPUT >> تعریف به عنوان خروجی
    INPUT>> تعریف به عنوان ورودی

    دستور digitalWrite :

    جهت مقدار دهی به پایه های دیجیتال از این دستور استفاده میشه
    در واقع همون 0 یا 1 کردن پایه هستش منتهی به جای 1 از HIGH و به جای 0 از LOW استفاده میشه!!


    دستور delay :
    این دستور دستوری هست که تاخیر ایجاد میکنه تو برنامه که واحدشم میلی ثانیه هست
    1000 میلی ثانیه میشه 1 ثانیه ینی هر عددی که داخل دستور بنویسیم در واحد میلی ثانیه محاسبه شده و اجرا میشه ینی بعد از اون تاخیر کامپایلر میره به خط بعدی ...
    اگه توجه داشته باشین دستور pinMode در تابع SETUP و دو دستور بعدی در تابع LOOP نوشته شدند .
    ینی چی ؟؟
    ینی دو دستور دوم مدام در حال تکرار شدن میشن و این ینی مدام پایه مورد نظرمون 0 و 1 (HIGH,LOW) میشه
    و این همون چشمک زن هست ....
    الان یکم تنوع و دانش به خرج دادم و با 4 تا LED یه چشمک زن راه انداختم


    طبق عکس از 4 پایه 13و12و11و 10 استفاده کردم به عنوان خروجی
    (ینی تو تابع setup آوردیم )
    روال کار هم بدین شکل خواهد بود که دو پایه 13 و 11 همزمان باهم روشن و خاموش میشن و دو پایه 10 و 12 باهم تاخیرمونم هم 1 ثانیه خواهد بود
    کد های مربوط به چشمک led ها هم تو تابع loop آورده شده بدین معنی که کدها تکرار میشه و این تکرار باعث چشمک خواهد شد ...
    کد های برنامه :


    void setup() {
    // initialize digital pin LED_BUILTIN as an output.
    pinMode(13, OUTPUT);
    pinMode(12, OUTPUT);
    pinMode(11, OUTPUT);
    pinMode(10, OUTPUT);

    }

    // the loop function runs over and over again forever
    void loop() {
    digitalWrite(13, HIGH);
    digitalWrite(11, HIGH);
    digitalWrite(12, LOW);
    digitalWrite(10, LOW);
    delay(1000);

    digitalWrite(13, LOW);
    digitalWrite(11, LOW);
    digitalWrite(12, HIGH);
    digitalWrite(10, HIGH);
    delay(1000);
    }


    ویدیوی کوتاه زیر هم روال کار رو نشون میده


    ویرایش توسط علی چمانی : 2017/07/04 در ساعت 15:10
  3. #3
    2016/04/06
    383
    528

    پاسخ : من یک تازه کار با برد آردوینو UNO هستم !!

    راه اندازی شیفت رجیستر 74HC595 با آردوینو UNO




    واقعیتش من میخواستم تعداد LED های بیشتری رو استفاده کنم و ازشون رقص نور و ... درست کنم یکم تحقیق کردم دیدم کلا پایه های UNO تموم میشه و فقط و فقط از اردوینو LED کشیده میشه برا حل شدن این مشکل یکم دیگه تحقیق کردم و دوستان استفاده از ای سی شیفت رجیستر 74595 رو پیشنهاد دادن
    و گفتن که این ای سی 8 تا خروجی به ما میده و فقط سه پایه از اردوینو رو اشغال میکنه که این عالیه ...
    از همون اولش خوبه که این ای سی رو بشناسیم و ازش استفاده کنیم تا تو پروژه های عظیم به مشکل نخوریم
    بریم جلو ببینیم میتونیم راش بندازیم ...
    یه معرفی کامل در مورد این ای سی شیفت رجیستر در لینک زیردادم که میتونین استفاده کنین :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    طبق عکس ، اول مدارشو به طور کامل رو برد برد میبندیم


    کدهای برنامه :



    int latchPin = 2;
    int clockPin = 3;
    int dataPin = 4 ;
    byte leds = 0;

    void setup() {
    pinMode(latchPin, OUTPUT);
    pinMode(dataPin, OUTPUT);
    pinMode(clockPin, OUTPUT);

    }

    void loop() {
    leds = 0 ;
    updateShiftRegister();
    delay(500);
    for (int i = 0 ; i < 8; i++)
    {
    bitSet(leds, i);
    updateShiftRegister();
    delay(500);
    }
    }
    void updateShiftRegister()
    {
    digitalWrite(latchPin,LOW);
    shiftOut(dataPin,clockPin,LSBFIRST,leds);
    digitalWrite(latchPin,HIGH);

    }


    تو سه خط اول به آردوینو پایه هارو معرفی میکنیم که
    پایه 2 رو به عنوان latchpin که برای نمایش داده های ورودی هستش
    پایه 3 رو به عنوان clockpin که برای پالس اعمالی موقع ارسال داده
    پایه 4 رو به عنوان datapin که برای ارسال داده هستند.
    تو خط بعدی یه متغیر از نوع byte چون 8 تا led مد نظره تعریف میکنیم
    در تابع setup
    سه تا پایه 2 و 3 و 4 رو به عنوان خروجی میذاریم
    درتابع loop
    اول متغیرمونو صفر میکنیم بعد یه تابعی رو که تعریف کردیم فراخوانی میکنیم
    ینی تابع updateshiftregister
    این تابع بدین صورت کار میکنه که اول همه پایه هارو صفر میکنه
    سپس میرسه به تابع shiftout که این تابع 4 تا پارامتر ورودی داره
    دو پارامتر اول برای داده و پالسه
    پارامتر سوم lsbfirst برا اینه که بگیم از کدوم led روشن شدن شروع بشه
    این پارامتر مخفف ’ Least Significant Bit ’ ینی همون بیت کم ارزش هستش
    پس گفتیم شروع روشن شدن از بیت کم ارزشمون خواهد بود
    پارامتر چهارم هم متغیری هست که شیفت داده میشه
    ادامه تابع loop بدین صورت عمل میکنه که
    برنامه 500 میلی ثانیه متوقف میشه و وارد حلقه FOR میشه و از 0 تا 7 توسط متغیر i شروع به شمارش می کنه و توسط تابع BITSET مقدار رو داخل متغیر قرار میده سپس توسط تابع updateshiftregister مقدار متغیر رو به ای سی 74HC595 منتقل میکنه و 500 میلی ثانیه متوقف میشه و این روال ادامه پیدا میکنه ...
    در تکرار بعدی عدد 2 درون متغیر قرار میگیره و LED بعدی رو روشن میکنه و خاموش میکنه و سپس عدد 3 رو قرار میده و بدین صورت همه LED ها روشن و خاموش میشن ...

    فیلم کوتاهی از روال کار رو میتونین از لینک زیر مشاهده کنین :




    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


  4. #4
    2016/04/06
    383
    528

    پاسخ : من یک تازه کار با برد آردوینو UNO هستم !!

    کنترل LED با کلید
    تو پست های قبلی چشمک زن رو راه اندازی کردیم اگه توجه کرده باشین ما هیچ کنترلی رو LED ها نداشتیم برای روشن خاموش شدن و فقط تو برنامه مینوشتیم که مثلا LED مون روشن بمونه فلان ثانیه و خاموش بمونه فلان ثانیه
    مدارمونو طبق عکس بستیم:


    الان میخواین با کلید یا همون PUSHBUTTON به صورت دستی کنترل کنیم روشن خاموش شدن LED رو ....
    اونطوری که مشخصه اگه جریان عبوری از مدارمون رو به منزله جریان اب درنظر بگیریم کلید به عنوان فلکه عمل میکنه ینی بافشار دادنش فلکه باز میشه و اب جاری میشه ینی الان ما میخواین برنامه ای بنویسیم که با فشار دادن کلید LED مون روشن شه
    کدهای برنامه بدین شکل هست :

    const int LED = 13;
    const int BUTTON = 7;
    int val = 0;

    void setup() {
    pinMode(LED, OUTPUT);
    pinMode(BUTTON,INPUT);

    }

    void loop() {
    val = digitalRead(BUTTON);

    if (val == HIGH) {
    digitalWrite(LED,HIGH);
    } else {
    digitalWrite(LED, LOW);

    }
    }

    سه خط اول تعریف پایه و متغیرهای مورد استفاده در برنامه به بردمون هست
    برای تعریف یک متغیر عددی از int استفاده میکنیم .
    عبارت const در اول int بدین معنی است که مقدار متغیرمون تا اخر برنامه ثابت میمونه و مقدارش رو تغییر نمیدیم .
    در تابع SETUP نوع ورودی و خروجی پایه ها رو مشخص میکنیم که
    پایه 13 رو خروجی
    و پایه 7 رو ورودی در نظر گرفتیم
    میرسیم به تابع LOOP که هسته اصلی برنامه مونه :
    روال کلی این برنامه و در حقیقت اون چیزی که ما میخوایم این هستش
    ما میخوایم متغیرمون پایه ورودی رو چک کنه و هر وخت ورودی مون 1 شد (HIGH) ینی هر وخت کلید رو فشار دادیم خروجی مون LED رو برامون روشن کنه و در غیر این صورت LED خاموش باشه ....
    برای این کار از تابع digitalRead استفاده میکنیم (این تابع ورودی مون رو میخونه تا ببینه ایا کلید فشرده شده یا نه !!)
    از if هم برای روشن و خاموش کردن led استفاده میشه بدین صورت که میگیم اگه کلیدمون فشرده شد led رو روشن کن اگه فشرده نشد ledمون رو خاموش نگه دار ...
    با بستن این مدار و اجرای برنامه با فشاردادن کلید led مون روشن میشه و وقتی فشار نمیدیم خاموش هستش .
    ویرایش توسط علی چمانی : 2017/07/01 در ساعت 11:03
  5. #5
    2016/04/06
    383
    528

    پاسخ : من یک تازه کار با برد آردوینو UNO هستم !!

    ;کنترل نور LED با PWM
    در ابتدا یه معرفی کوچیکی داشته باشیم از PWM یا همون مدولاسیون پهنای پالس

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    میخوایم یه LEDرو با استفاده از این روش کنترل کنیم تو پستای قبل چشمک زن و همچنین کنترل LED با PUSHBUTTON رو بررسی کردیم
    در دو مبحث قبلی LED مون رو یا صفر میکردیم یا 1 ولی الان در واقع میخوایم نور LED رو کم و زیاد کنیم ینی به وسیله PWM ولتاژ بین 0 و یک تغییر میکنه ، به زبان ساده تر ولتاژ روی LED رو تغییر میدیم ...یک (HIGH)منطقی ینی 5 ولت و صفر منطقی (LOW) ینی صفر ولت
    الان ولتاژ رو بین 0 و 5 ولت تغییر میدیم ، جالبه بدونین در این حالت LED روشن و خاموش میشه ولی این روشن و خاموش شدن یه قدری سریع اتفاق میوفته که چشم انسان نمیتونه تشخیص بده و فقط کم و زیاد شدن نور رو میبینه...
    برگردیم به آردوینو همون طور که میدونید UNO دارای 13 پایه دیجیتال هست برای استفاده از PWM ما فقط میتونیم از پایه های 3و5و6و9و10و11 استفاده کنیم که روی برد هم مشخص شده (بغل این پایه ها دارای علامت هستش)
    دستور لازم برای PWM تابع analogWrite() میباشد
    دارا ی دوتا پارامتر ورودی هستش که پاراکتر اول برای مشخص کردن شماره پایه ای هست که میخوایم نور led رو باهاش کنترل کنیم و پارامتر دوم باید عددی بین 0 و 255 باشه 0 ینی اینکه پایه خروجیمون صفر منطقی یا خاموش باشه و 255 ینی پایمون 1 منطقی باشه در واقع اگه دقت کرده باشین برای اینکه نور رو کنترل کنیم مقدار این پارمتر باید بین 0 و 255 تغییر کنه
    به عنوان مثال اگه پارامتر اول 9 و پارامتر دوم 128 باشه ینی اینکه خروجی ما 50% ماکزیمم نور LED رو نمایش خواهد داد

    analogWrite(9, 128);

    مدار زیر رو میبندیم :

    کد کلی برنامه رو مینویسیم :



    const int LED = 9;
    int i = 0 ;

    void setup() {
    pinMode(LED,OUTPUT);
    }

    void loop() {
    for (i=0;i<255;i++){
    analogWrite(LED, i);
    delay(10);
    }
    for (i = 255; i>0;i--){
    analogWrite(LED,i);
    delay(10);
    }
    }


    دو خط اول برنامه تعریف پایه 9 به عنوان LED و تعریف متغیرمون هست
    در تابع SETUP پایه 9 رو به عنوان خروجی تعریف کردیم
    تابع LOOP
    دو تا حلقه FOR داریم همون طور که میدونین حلقه FOR دارای سه تا پارامتره
    پارامتر اول نام متغیر هست که اینجا متغیرمون i هستش
    پارامتر دوم شرط متغیر هست که اینجا گفتیم تا 255 خواهد بود درصورت درست بودن شرط حلقه ادامه خواهد داشت ینی در اینجا اگه به 256 رسید حلقه تموم شده و برنامه از حلقه خارج میشه
    پارامتر سوم هم نحوه اجرای حلقه خواهد بود که در اینجا i++ بوده ینی تو هر بار تکرار به مقدار متغیر اضافه میشه
    خوب تو حلقه اول با توجه به پارمتراش ما میگیم که ولتاژمون از صفر منطقی شروع بشه تا یک منطقی (255)
    و در حلقه دوم برعکس حلقه اول ینی ولتاژمون از یک منطقی (255) شروع میشه تا 0
    بدین صورت تغییر نور یا همون کنترل نورLED با PWM رو انجام دادیم ...
    فیلمی از نتیجه کار رو از لینک زیر میتونین مشاهده کنین :



    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    ویرایش توسط علی چمانی : 2017/09/19 در ساعت 09:43
  6. #6
    2016/04/06
    383
    528

    پاسخ : من یک تازه کار با برد آردوینو UNO هستم !!

    کنترل نورLED با فتوسل(LDR)
    سلام ما از بحث این led کی خلاص میشیم خدا میداند
    امروز میخوام کنترل نور led با فتوسل رو اجرایی کنم و مدارو کداشو بذارم ...
    اول از همه باید بدونیم اصلا فتوسل یا همون ldr چیه که من خودم توی تاپیک زیر اطلاعات کاملی از فتوسل و اجزای داخلی ،نحوه کارکرد و انواع کاربرد و... نوشتم :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    اگه مطالعه کرده باشین تاپیک رو این سنسور سنسوری انالوگ هستش

    این سنسور هم به صورت ورودی عمل میکنه قبلا از کلید به عنوان ورودی استفاده کردیم با این تفاوت که که از پایه های دیجیتال استفاده کردیم الان با توجه به سنسورمون باید از پایه های آنالوگ اردوینو استفاده کنیم ... برای ورودی های دیجیتال از دستور digtalRead استفاده میکردیم کاربرد ما بدین صورت هستش که میخوایم بدونیم که به فلان پایه ایا ولتاژی اعمال شده یا نه ؟؟
    تو کلید ما با فشردن کلید در واقع ولتاژ در پایه رو اعمال میکنیم ینی به صورت کاملا دستی
    ولی اینجا ما سنسوری داریم که با توجه به تکنولوژی خودش نسبت به نور محیط به پایه مورد نظرمون ولتاژ اعمال میکنه در واقع ما باید محدوده روشنایی هم مشخص کنیم ....برای ورودی های آنالوگ از دستور analogRead استفاده میکنیم !
    بر روی برد آردوینو 6 پایه وجود داره که با نام “Analog In” مشخص شده ( پایه های A0 تا A5).
    و ما اینجا از پایه A0 استفاده میکنیم...
    بریم سر اصل مطلب
    هدفمون از این پروژه اینه که وختی هوا روشنه LED مون خاموش بشه و وختی هوا تاریک شد LED مون خاموش شه دقیقا کار چراغ های خیابون
    مدار رو طبق عکس زیر میبندیم :



    برای استفاده از فتوسل نیاز داریم که محدود روشنایی محیط کار خودمون رو بدونیم تا تو برنامه ازشون استفاده کنیم برای این کار یه برنامه رو مینویسیم به شکل زیر و با استفاده از کنسول اردوینو و تست فتوسل محدوده رو مشخص میکنیم :
    کد برنامه بدین شکل هشتش:



    [LEFT]int sensorpin = A0;


    void setup() {
    pinMode(sensorpin,OUTPUT);
    Serial.begin(9600);
    }

    void loop() {
    int sensorpin = analogRead(sensorpin);
    Serial.println(sensorpin);
    delay(1000);

    }
    [/LEFT]

    کنسول اردوینو رو باز میکنیم

    عدد نمایش داده شده در حالت عالی برای من 168 هستش دستم رو روی فتوسل میگیرم عددی که نمایش میده حدود 79 هست بدین صورت ینی محدوده روشنایی فضای من حدودا 50 تا 170 هست خوب کد اصلی برنامه رو به صورت زیر مینویسیم:



    const int LED = 13;
    int sensorval = 0;


    void setup() {
    pinMode(LED,OUTPUT);

    }

    void loop() {
    sensorval = analogRead(0);
    if (sensorval < 85)
    digitalWrite(LED ,HIGH);
    if (sensorval < 170)
    digitalWrite(LED ,LOW);


    }


    خوب تو خط اول برنامه پایه led مون و متغیرمون رو تعریف کردیم
    در تابع setup
    میگیم که led مون به عنوان خروجی خواهد بود
    در تابع loop
    تو خط اول میگیم که بره و فتوسل رو بررسی کنی که تو کدوم محدود روشنایی قرار داره
    حالا دو تا شرط if تعریف میکنیم
    شرط اول این هست که اگه ورودی ldr کمتر از 85 بود ledمون روشن بشه و در شرط دوم برعکسشو گفتیم ینی اگه کمتر از 170 بود led مون باید خاموش باشه
    نتیجه رو میتونین تو لینک زیر مشاهده کنین:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


  7. #7
    2010/08/19
    کردستان
    1,925
    894

    پاسخ : من یک تازه کار با برد آردوینو UNO هستم !!

    به صورت کلی پروژه های ساده با اردوینو تا دلتون بخواد هست و این مباحث به نظرم به اندازه کافی در سطح انجمن موجوده! ایا بهتر نیست پروژه های قوی تری رو پوشش بدین و شروع به اموزش اونها کنید؟
    چرا ناراحتی پاتریک!
    + امروز ی بچه دیدم سرچهارراه گل میفروخت
    - از دیدنش ناراحت شدی؟
    + نه
    پس چی ناراحتت کرده
    + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
    ------------------------------------------------------------------------------------------------------
    تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
  8. #8
    2016/04/06
    383
    528

    پاسخ : من یک تازه کار با برد آردوینو UNO هستم !!

    نقل قول نوشته اصلی توسط سوران آراسته

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    به صورت کلی پروژه های ساده با اردوینو تا دلتون بخواد هست و این مباحث به نظرم به اندازه کافی در سطح انجمن موجوده! ایا بهتر نیست پروژه های قوی تری رو پوشش بدین و شروع به اموزش اونها کنید؟
    سلام
    صددرصد که هست ولی مهندس جان این تاپیک با عنوان تازه کار ، شروع از صفر آردوینو رو پوشش میده و انشاا... روز به روز و مرحله به مرحله پروژه ها قوی تر کار خواهد شد البته با کمک دوستانی مثل شما ...
    ویرایش توسط علی چمانی : 2017/07/05 در ساعت 11:25
  9. #9
    2016/04/06
    383
    528

    پاسخ : من یک تازه کار با برد آردوینو UNO هستم !!

    سلام
    بالاخره مبحث LED رو تموم میکنم و میرسیم به راه اندازی موتور ....
    میخوام یکم توضیحات رو کم کنم اگه مشکلی بود پیام بدین حل کنیم ...
    بنا به اطلاعاتی که من دارم ما نمیتونیم موتور رو به طور مستقیم به آردوینو وصل کنیم چرا ؟
    چون هر پایه آردوینو حداکثر 5 ولت و 40 میلی آمپر میکشه ینی چند وات ؟
    P=V.I ینی حدود 200 میلی وات !!!
    اگه حالا شما بخواید یه موتور 10 واتی رو راه اندازی کنین اگه مستقیم وصل کنین برد کلا میترکه !!
    برا حل این مشکل از واسط (ای سی یا ماژول) به عنوان درایور موتورمون باید استفاده کنیم
    من از ماژول L298 به عنوان درایورم استفاده کردم که طبق دیتاشیتش شما میتونین تا حدود 200 وات موتور راه اندازی کنین از لینک زیر هم اطلاعات کاملشو ببینین :

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    دیتاشیت این ماژول :


    با استفاده از این ماژول ما میتونیم دو موتور تا 2 آمپر رو راه اندازی کنیم ...ولتاژ ورودی این ماژول 5 تا 12 ولت هستش که روی ورودی ماژول مشخص شده نحوه اتصالش ...

    خوب مدارمون رو طبق عکس زیر میبندیم :




    به این نقطه توجه کنین که باید GND ماژول و برد آردوینومون مشترک باشه !!!
    کد های برنامه :




    int motorpin1 = 4 ;
    int motorpin2 = 5 ;

    void setup() {

    pinMode(motorpin1,OUTPUT);
    pinMode(motorpin2,OUTPUT);


    }

    void loop() {
    analogWrite(motorpin1,0);
    analogWrite(motorpin2,255);


    }


    راستشو بخواین الان من این برنامه رو نوشتم ولی تو عمل کار نمیکنه اصلا و جالبه LED روی اردوینو روشن میشه !!!؟؟؟
    یک استعداد به خرج دادم توی برنامه LED آردوینو که همون پایه 13 هستش رو تعریف کردم و خاموش کردمش و موتور به راه افتاد دوستان کسی میتونه دلیل این اتفاق رو بگه ؟؟؟
    کد برنامه ای که کار کرد :

    int motorpin1 = 4 ;
    int motorpin2 = 5 ;
    int LED = 13;
    void setup() {

    pinMode(motorpin1,OUTPUT);
    pinMode(motorpin2,OUTPUT);
    pinMode(LED,OUTPUT);

    }

    void loop() {
    analogWrite(motorpin1,0);
    analogWrite(motorpin2,255);
    digitalWrite(13,LOW);

    }

    حالا بگذریم یکم توضیح در مورد برنامه :
    در حالت کلی برای اینکه یه موتور رو راه اندازی کنیم باید بین ورودی های موتوری اختلاف ولتاژ به وجود بیاریم البته باید توجه به ولتاژ ورودی موتور بکنین چون اگه ولتاژ بیشتری بدین بهش صددرصد سوخته پس توجه داشته باشین!
    جهت ولتاژ دادن به موتور از دو پین دیجیتال استفاده میکنیم که اینجا من از پایه های 4 و 5 بهره بردم دستور لازم برای راه اندازی موتور دستور analogWrite هستش ینی ما باید به کمک این دستور اختلاف ولتاژ بین پایه های مورد نظرمون ایجاد کنیم ینی باید دو تا دستور پست سر هم داشته باشیم :

    analogWrite(motorpin1,0);
    analogWrite(motorpin2,255);
    مبحث pwm اگه یادتون باشه موتور هم از این قانون استفاده میکنه بدین صورت که ما میتونیم بین 0 و 5 ولت ولتاژ بدیم به پایه های مورد نظرمون
    دستور analogWrite دارای دو پارامتر هستش که پارامتر اول شماره پین پایه مورد و پارامتر دوم مقدار ولتاژ اعمالی به پایه رو نشون میده
    که عددی بین 0 تا 255 خواهد بود ...
    در اینجا ما به پایه اول 0 و به پایه دوم 255 (5ولت ) رو دادیم و اختلاف ولتاژ بین پایه ها ایجاد شد و موتورمون به راه افتاد ...


    فیلم نتیجه کارمون:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    ویرایش توسط علی چمانی : 2017/07/05 در ساعت 11:25
  10. #10
    2016/04/06
    383
    528

    پاسخ : من یک تازه کار با برد آردوینو UNO هستم !!

    سلام از دوستان کسی دلیل عمل نکردن کد زیر رو که تو پست قبلی گفتم عمل نکرد و موتور رو راه اندازی نکرد رو میدونه ؟
    با این برنامه LED خود اردوینو روشن میشه و من تو برنامه این LED رو خاموش میکنم موتورم شروع به کار میکنه !!!



    int motorpin1 = 4 ;
    int motorpin2 = 5 ;

    void setup() {


    pinMode(motorpin1,OUTPUT);
    pinMode(motorpin2,OUTPUT);



    }

    void loop() {
    analogWrite(motorpin1,0);

    analogWrite(motorpin2,255);




    }


صفحه 1 از 4 1234 آخرین
نمایش نتایج: از 1 به 10 از 32

موضوعات مشابه

  1. پاسخ: 7
    آخرين نوشته: 2016/06/12, 03:39
  2. پاسخ: 15
    آخرين نوشته: 2016/01/17, 13:57
  3. سلام دوستان من تازه وارد هستم میخواستم بدونم چطور سایت رایگان بسازم؟؟؟
    توسط 1212alireza در انجمن كامپيوتر ، اينترنت و علوم مرتبط
    پاسخ: 7
    آخرين نوشته: 2013/08/12, 15:58
  4. کمک کنید : دانشجوی رشته ی کامپیوتر هستم
    توسط university در انجمن مباحث علمی عمومی
    پاسخ: 1
    آخرين نوشته: 2011/10/16, 18:47
  5. دنبال درایور مودم هستم
    توسط Atmega sinX در انجمن كامپيوتر ، اينترنت و علوم مرتبط
    پاسخ: 6
    آخرين نوشته: 2010/04/28, 14:17

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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