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





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









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









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





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

صفحه 1 از 6 123456 آخرین
نمایش نتایج: از 1 به 10 از 53
  1. #1
    2011/10/27
    138
    16

    آموزش Arduino + برنامه چهاردهم (HC- 05)

    با سلام خدمت همه دوستان
    به خاطر اینکه خیلی از بچه ها (البته شما مردان بزرگی هستید ) با بردهای Arduino آشنایی ندارند و با طرز کار و برنامه نویسی اون مشکل دارند سعی کردم تا از مباحث مقدماتی شروع به آموزش کنم و با ساده ترین مثال برنامه نویسی که بچه های کامپیوتر بهش میگن Hello World اما برقی ها فکر کنم به ساده ترین برنامشون LED ON /OFF بگن شروع میکنیم تا اگه دوستان راغب به ادامه بودند تا سطوح بالا پیش بریم . پس خواهشی که از دوستان و مهندسین و اساتید عزیز دارم اینه که مباحثی رو که توی آموزش هنوز عنوان نشده رو نپرسن (جلوتر از آموزش سوالی نپرسن ) چون قراره قدم به قدم پیش بریم تا دچار سردرگمی دیگران نشه و سعی کنند سوالات متفرقه توی پست های دیگه عنوان بشن . و مطلب بعدی اینکه سعی می کنم دستورات رو با نوشتن برنامه توضیح بدم و دوستان هم با توجه به دستورات گفته شده برنامه هایی که نوشتن رو برای سایرین قرار بدن :read:

    اضافه شده در تاریخ :
    چون قراره که برنامه ها رو توی پروتئوس هم شبیه سازی کنیم بهتره دوستان کتابخانه Arduino رو از لینک زیر دانلود و نصب کنند .

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

    عضویت

    چشم ها را باید شست ، جور دیگر باید دید . . .
  2. #2
    2011/10/27
    138
    16

    پاسخ : آموزش قدم به قدم ARDUINO

    بردی که من استفاده می کنم Uno هست . البته ماهیت کار برای همه بردها به یک شکل است قبل از هر چیز باید برنام آردینو رو دانلود کنیم . از لینک زیر میتونید آخرین ورژن برنامه رو دانلود کنید . درایور رو هم باید نصب کنید .

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

    عضویت


    بعد از نصب و اجرای برنامه شکل زیر را داریم . برنامه ای با محیط ساده و کاربر پسند

    دو تا تنظیم اصلی رو شما باید انجام بدید :
    1 - برد آردینویی که استفاده می کنید رو از منوی Tools>Board انتخاب کنید .
    2 - پورتی که آردینو به آن وصل هست رو از منوی Tools>Port انتخاب کنید .
    قسمتی اصلی که ما با آن سر و کار داریم کادر سفید رنگ وسط صفحه هست(Sketch )، این کادر از دو تابع تشکیل شده که همیشه باید در برنامه ها باشند . این دو تابع به قرار زیرند :
    () void setup : تابعی که فقط یک بار اجرا میشه و وظیفه پیکربندی پین های ورودی و خروجی رو به عهده داره . کلا کار پیکربندی برد رو انجام میده .
    () void loop : فرامین و دستورات مورد نظر توی این تابع قرار میگیرن و تا موقعی که برد به تغذیه متصل هست اجرا میشه ( حلقه بی نهایت ) .
    قسمت کادر سیاه رنگ پائین برنامه هم گزارش وقایع رو بر عهده داره ( پلود شدن برنامه بر روی برد ، نمنایش خطای رخ داده )
    چشم ها را باید شست ، جور دیگر باید دید . . .
  3. #3
    2011/10/27
    138
    16

    پاسخ : آموزش قدم به قدم ARDUINO

    برنامه اول LED چشمک زن :
    [code=c]void setup() {
    // put your setup code here, to run once:
    pinMode(13,OUTPUT);
    }

    void loop() {
    // put your main code here, to run repeatedly:
    digitalWrite(13,HIGH);
    delay(250);
    digitalWrite(13,LOW);
    delay(250);
    }[/code]
    توضیحات :
    نکته : برنامه به حروف بزرگ و کوچک حساس می باشد . حتما در آخر تمامی دستورات از سمیکولن ";" استفاده شود .
    اولین دستور که با اون آشنا میشیم
    [code=c]pinMode(pin,INPUT/OUTPUT);[/code]
    این دستور برای پیکربندی پین به عنوان ورودی و خروجی بکار می رود . pin ، شماره پین مورد نظر می باشد .
    دومین دستور که با اون آشنا میشیم
    [code=c]digitalWrite(pin,HIGH/LOW);[/code]
    از این دستور برای نوشتن بر روی پین استفاده می شود . پین مورد نظر حتما باید به عنوان خروجی تعریف شود . عبارت HIGH و LOW معدل دستور set و reset می باشد .(HIGH = 5 v , LOW = 0 v)
    و اما آخرین دستور که همه با اون آشنا هستیم ، دستور ایجاد تاخیر
    [code=c]delay(X);[/code]
    می باشد. این تاخیر بر حسب میلی ثانیه می باشد .

    چشم ها را باید شست ، جور دیگر باید دید . . .
  4. #4
    2011/10/27
    138
    16

    پاسخ : آموزش قدم به قدم ARDUINO

    شبیه سازی برنامه LEDچشمک زن در محیط پروتئوس . برای این کار قبل از هر چیز تنظیم زیر را مطابق تصویر انجام دهید



    حالا برنامه رو پلود می کنیم . بعد از تمام شده پلود در داخل کادر سیاه رنگ پائین برنامه دنبال ادرسی مطابق شکل بگردید



    این آدرس مسیر فایل هگز برنامه رو برای ما نشون میده آدرس رو کپی کنید تا در قسمت Program file در قسمت پروتئوس وارد کنید . بعد از این کار کار تمام است . برنامه رو اجرا کنید و از صحت اون مطمئن شوید .
    شبیه سازی در پروتئوس

    چشم ها را باید شست ، جور دیگر باید دید . . .
  5. #5
    2011/10/27
    138
    16

    پاسخ : آموزش قدم به قدم ARDUINO

    قصد داریم در این برنامه با یک push Button یک LED رو خاموش و روشن کنیم به صورت لحظه ای ابتذا مدار زیر را ببندید .



    برنامه رو به صورت زیر بنویسید :
    [code=c]const int pinButton=2;
    const int pinLed=3;
    void setup() {
    pinMode(pinButton,INPUT);
    digitalWrite(pinButton,HIGH);
    pinMode(pinLed,OUTPUT);
    }

    void loop() {
    if (digitalRead(pinButton)==LOW){
    digitalWrite(pinLed,HIGH);
    }
    else{
    digitalWrite(pinLed,LOW);
    }
    }[/code]

    توضیحات :
    در خط اول و دوم دو متغیر ثابت (constant) تعرف کردیم . کار با متغیرها و انواع اون رو که خدا رو شکر به خاطر دارید ؟!
    یادآوری :


    متغیرها به دو صورت سراسری (Global) و محلی (Local) در برنامه تعرف می شوند .
    Global Variable : این نوع متغیر در ابتدای برنامه و قبل از تابع void setup قرار میگیرد . از این متغیر در تمامی مراحل برنامه نویسی می توان استفاده کرد . (خیلی توی برنامه نویسی به داد آدم میرسه) .
    Local Variable : این نوع متغیر در داخل توابع و در طول برنامه نویسی تعریف می شود و فقط در محدوده تعریف شده خودش کاربرد دارد .
    پس ما دو تا متغیر تعریف کردیم به صورت سراسری تا توی برنامه هرجا خواستیم ازشون استفاده کنیم . با pinMode که آشنا شدیم ، در اینجا قصد داریم تا پین مربوط به Push Button رو به عنوان ورودی تعریف کنیم پس در خط چهارم پین 2 به عنوان ورودی تعریف شده است . در خط پنجم ما با دستور [code=c]digitalWrite(pinButton,HIGH);[/code]
    مقاومت Pullup داخلی را برای پین ورودی فعال می کنیم . ( با Pull up که آشنایی دارید ؟ ) در خط بعد هم پین 3 به عنوان خروجی معرفی می شود .
    دستور بعدی که باهاش کار میکنیم دستور آشنای IF هست شکل دستوریش به این صورت است
    [code=c]if (Conditions){
    Statements;
    }
    else if{
    Statements;
    }
    else{
    Statements ;
    }
    [/code]
    دستوری که در بلوک IF از اون استفاده کردیم [code=c]digitalRead(pin)[/code]
    عمل خواند از پین رو برای ما انجام میده
    پس با استفاده از این بلوک گفتیم که اگر پین شماره 2 برابر صفر (LOW) شد LED روشن بشه درغیر اینصورت خاموش شود .
    سوال :
    به نظرتون چطوری میشه LED به صورت دائمی روشن یا خاموش بشه ؟؟؟
    چشم ها را باید شست ، جور دیگر باید دید . . .
  6. #6
    2011/10/27
    138
    16

    پاسخ : آموزش ARDUINO

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



    توی این برنامه قصد داریم تا با PWM آشنا بشیم و نور یک LED رو با دو Push Btton به صورت دیمر کنترل کنیم . پس بیاید دست به کار بشیم . این برنامه رو بنویسید و روی برد آردوینو پلود کنید . بعد در عمل تغییرات رو مشاهده کنید .
    [code=c]const int pinDown=2;
    const int pinUp=4;
    const int pinLed=3;
    void setup() {
    pinMode(pinDown,INPUT);
    pinMode(pinUp,INPUT);
    digitalWrite(pinDown,HIGH);
    digitalWrite(pinUp,HIGH);
    pinMode(pinLed,OUTPUT);
    }
    int ledBrightness=255;
    void loop() {
    if (digitalRead(pinDown)==LOW ){
    ledBrightness--;
    if (ledBrightness<0){
    ledBrightness=0;
    }
    }
    else if (digitalRead(pinUp)==LOW){
    ledBrightness++;
    if (ledBrightness>255){
    ledBrightness=255;
    }
    }
    analogWrite(pinLed,ledBrightness);
    delay(20);
    }[/code]
    توضیحات :
    اول اینکه برای استفاده از پین آردوینو به عنوان PWM شما فقط قادرید از پین هایی که در کنار اون علامت "~" قرارداره استفاده کنید ( پایه های 3,5,6,9,10,11) به این پایه ها مقادیر 0 تا 255 رو میتوان داد . برای این کار شما باید از دستور[code=c]analogWrite(pin,Value);[/code] استفاده کنید . در برنامه از IF های تودرتو استفاده کردیم . پس پین ها رو پیکر بندی کردیم بعد متغیری برای تعیین مقدار اولیه PWM قرار دادیم . و توسط IF های تودرتو مقدار PWM رو بین 0 و 255 نگه داشتیم . البته برنامه واضح و گویا هست . من زیاد حرف نمیزنم .
    سوال :
    چطور میتوان افکت Fade (کم نور و پر نور شدن) به صورت خودکار و بدون نیاز به Push Btton انجام داد ؟
    چشم ها را باید شست ، جور دیگر باید دید . . .
  7. #7
    2011/10/27
    138
    16

    پاسخ : آموزش ARDUINO

    برنامه قبلی رو که کار کردید دیگه !!!؟ حالا همون برنامه قبل رو می خوایم به یک روش دیگه بنویسیم و با یک دستور جدید آشنا بشیم . مدار برنامه همون مدار قبل هست . خب برنامه رو به صورت زیر تغییر میدیم :
    [code=c]const int pinDown=2;
    const int pinUp=4;
    const int pinLed=3;
    void setup() {
    pinMode(pinDown,INPUT);
    pinMode(pinUp,INPUT);
    digitalWrite(pinDown,HIGH);
    digitalWrite(pinUp,HIGH);
    pinMode(pinLed,OUTPUT);
    }
    int ledBrightness=255;
    void loop() {
    if (digitalRead(pinDown)==LOW ){
    ledBrightness--;
    }
    else if (digitalRead(pinUp)==LOW){
    ledBrightness++;
    }
    ledBrightness=constrain(ledBrightness,0,255);
    analogWrite(pinLed,ledBrightness);
    delay(20);
    }[/code]
    توضیحات :
    در برنامه قبل ار IF های تودرتو استفاده کردیم ، هم از زیبایی برنامه کم کرده بود هم پیچیده تر شده بود و خوانا نبود ولی توی این برنامه ما با استفاده از دستور زیر دو تا از IF ها رو حذف کردیم
    [code=c]Var=constrain(Var,min,max);[/code]
    کار این دستور اینه که مقدار متغییر مورد نظر ما رو بین دو مقدار min و max قرار بده . همونطور که توی برنامه می بینید متغییر ledBrightness ما که همون مقدار PWM برنامه است باید بین 0 و 255 تغییر کند ، حالا اگر مقدار متغییر بیشتر از 255 شود دستور constrain مقدار متغییر را برابر 255 (max) قرار میدهد و اگر از مقدار 0 کمتر شود مقدار متغییر را برابر 0 (min) قرار میدهد به همین راحتی
    چشم ها را باید شست ، جور دیگر باید دید . . .
  8. #8
    2011/10/27
    138
    16

    پاسخ : آموزش ARDUINO

    برنامه چهارم :
    حالا ما فرض می کنیم شما برنامه های قبلی رو کار کردید و تقریبا با اصول کار آشنا شدید ( :applause برنامه های قبلی کلا از طریق پین ها دیجیتال انجام شد اما آردوینو پین های آنالوگ هم داره امروز قراره با پین آنالوگ آشنا بشیم . بریم سراغ برنامه اول مدار زیر رو ببندید . توی این مدار من به جای LED موتور گذاشتم تا وقتی توی پروتئوس مدار رو بستید بتونید جواب بگیرید



    تصویر خروجی موج در پروتئوس



    این برنامه رو هم بنویسید و پلود کنید
    [code=c]const int pinPot=A0;
    const int pinLed=9;
    void setup() {
    pinMode(pinPot,INPUT);
    pinMode(pinLed,OUTPUT);

    }

    void loop() {
    int ledBrightness;
    int potValue;
    potValue=analogRead(pinPot);
    ledBrightness=potValue/4;
    analogWrite(pinLed,ledBrightness);
    }[/code]
    توضیحات :
    با تعریف متغییر که آشنا شدیم طرز کار pinMode رو هم فهمیدیم ، یاد گرفتیم که با analogRead میتونیم مقدار آنالوگ رو از پین بخونیم با analogWrite میتونیم روی پین بنویسیم (PWM) . توی این برنامه ما به جای استفاده از پین دیجیتال به عنوان ورودی پین A0 رو به عنوان پین ورودی تعرف کردیم و توسط یک عدد پتانسیو متر (در عمل سعی کنید از ولوم استفاده کنید ) عمل کنترل سرعت یا نور رو انجام میدیم در ضمن 6 عدد پین A0-A5 به عنوان پین های آنالوگ کاربرد دارند .
    نکته : پین های آنالوگ 10 بیتی هستند پس مقادیر 0 تا 1023 را بر میگردانند پس نپرسید اون تقسیم بر 4 از کجا اومده ( :eek
    نکته : پین های آنالوگ به صورت پیش فرض ورودی هستند (INPUT) پس نیازی نیست که در برنامه تعریف بشن

    چشم ها را باید شست ، جور دیگر باید دید . . .
  9. #9
    2011/10/27
    138
    16

    پاسخ : آموزش ARDUINO

    برنامه پنجم :
    قصد داریم با یک تغییر در برنامه قیل سرعت چشمک زدن یک LED رو کنترل کنیم . مدار همون مدار قبلی هستش . برنامه رو به صورت زیر تغییر بدید
    [code=c]const int pinPot=A0;
    const int pinLed=9;
    void setup() {
    pinMode(pinLed,OUTPUT);

    }

    void loop() {
    int potValue;
    potValue=analogRead(pinPot);
    digitalWrite(pinLed,HIGH);
    delay(potValue);
    digitalWrite(pinLed,LOW);
    delay(potValue);
    }[/code]
    توضیحات :
    برنامه کاملا گویا هست و نیازی به توضیح و تفسیر نداره مقدار خوانده شده از پین آنالوگ به عنوان متغییر delay مورد استفاده قرار میگیره
    چشم ها را باید شست ، جور دیگر باید دید . . .
  10. #10
    2011/10/27
    138
    16

    پاسخ : آموزش ARDUINO

    برنامه ششم :
    تا حالا دیگه باید Base برنامه نویسی با آردوینو رو یاد گرفته باشید . دربرنامه قبل روش کار با ورودی آنالوگ رو یاد گرفتید . تو این برنامه قراره با ارتباط سریال آشنا بشیم پس اول این برنامه رو توی محیط Arduino بنویسید
    [code=c]void setup() {
    Serial.begin(9600);
    }
    int Time=0;
    void loop() {
    Time ++;
    delay(1000);
    Serial.print("Time= "
    Serial.println(Time);
    }[/code]
    توضیحات :
    اولین دستور جدید رو توی خط دوم داریم که به فرم زیر است
    [code=c] Serial.begin(Baud Rate);[/code]
    با این دستور ارتباط سریال با Baud Rate که براش تعرف می کنید برقرار میشه . دستور بعدی
    [code=c]Serial.print("String "
    Serial.println(Value);[/code]
    همتون دیگه با این دستور آشنا هستید . اطلاعات رو به پورت سریال ارسال میکنه و شما میتونید از طریق Terminal های کامپیوتر برنامه رو ببینید . (Serial.println به خط بعد میره )
    در ضمن خود برنامه Arduino هم گزینه ای به نام Serial Monitor داره که میتونید از طریق اجرای اون داده های ارسالی رو ببینید .
    نکته : اگر از برنامه های دیگه برای نمایش استفاده می کنید . پورت Com رو باید همونی پورتی که برد از طریق تون به کامپیوتر وصل هست رو انتخاب کنید . در شبیه ساز پروتئوس هم که روال کار معلوم هست .
    چشم ها را باید شست ، جور دیگر باید دید . . .
صفحه 1 از 6 123456 آخرین
نمایش نتایج: از 1 به 10 از 53

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

  1. پاسخ: 23
    آخرين نوشته: 2019/03/10, 12:34
  2. آموزش ارتباط Labview & Arduino
    توسط hassantorabi در انجمن خانواده Arduino
    پاسخ: 15
    آخرين نوشته: 2017/11/26, 20:29
  3. آموزش برنامه نويسي
    توسط abolfazl.69 در انجمن C , C++ , C#
    پاسخ: 1
    آخرين نوشته: 2011/08/10, 08:24
  4. arduino دست ساز
    توسط worm_19 در انجمن مدار هاي ديجيتال
    پاسخ: 0
    آخرين نوشته: 2011/07/28, 00:21

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

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

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

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

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