صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 10 از 15
Like Tree8 لایک

موضوع: سوال در مورد دستور digitalWrite ؟؟؟

  1. #1
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255

    سوال در مورد دستور digitalWrite ؟؟؟

    سلام من میخواستم ببینم برای دستور digitalWrite جز حالت های HIGH و LOW گزینه ای داریم که خودش اتوماتیک مقدار خروجی رو بخونه و هرچی بود برعکسش کنه . یا کلا برای اینکه با یه دستور مقدار خروجی هرچی بود عکسش کنیم از چه دستوری باید استفاده کرد ؟
    ممنون

  2. #2
    Senior Member
    تاریخ عضویت
    Nov 2015
    نوشته ها
    229
    نقل قول نوشته اصلی توسط feredy2011 نمایش پست ها
    سلام من میخواستم ببینم برای دستور digitalWrite جز حالت های HIGH و LOW گزینه ای داریم که خودش اتوماتیک مقدار خروجی رو بخونه و هرچی بود برعکسش کنه . یا کلا برای اینکه با یه دستور مقدار خروجی هرچی بود عکسش کنیم از چه دستوری باید استفاده کرد ؟
    ممنون
    متغیری از نوع عدد یا صفرویک مثلا i رو به عنوان خروجی تعریف کن
    digitalWrite(1-i);
    لایک کردن

  3. #3
    Senior Member
    تاریخ عضویت
    Jan 2016
    محل سکونت
    ایران عزیز
    نوشته ها
    200
    سلام
    برای کار شما دستورdigitalReadیعنی مثلا ورودی پایه 13رو بخون و با دستورif/elseاگر اینجوری بود پایه 12فعال بشه
    لایک کردن

  4. #4
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255
    سلام مگه میتونیم دستور digitalWrite رو با یه متغیر تعریف کنیم ؟نمیشه که ! حتما باید بگیم یا HIGH کن یا LOW . . .

  5. #5
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255
    سلام نه مهندس منظورم این نیست .
    شما فرض کن نمیدونی خروجیت بعد یه سری فعل و انفعالات 1 یا 0 . فقط میخوای اگر یه ورودی دادی به برد خروجی هرچی هست فقط مقدارش عوض بشه. اگر 0 بود بشه 1 و اگر 1 بود بشه 0

  6. #6
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,024
    سلام
    هیچ مشکلی نداره که ارگومان دوم تابع digitalWrite رو یه متغیر بزارید:

    کد:
    void setup() {
      // initialize digital pin 13 as an output.
      pinMode(13, OUTPUT);
    }
    
    
    // the loop function runs over and over again forever
    void loop() {
      int data=0;
      digitalWrite(13, data);   // turn the LED on (HIGH is the voltage level)
      delay(1000);              // wait for a second
      digitalWrite(13, data);    // turn the LED off by making the voltage LOW
      delay(1000);              // wait for a second
    }

  7. #7
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255
    مرسی یعنی برای کاری که من میخوام بکنم این کد درسته ؟
    int a = digitalRead(output);
    b= !a;
    digitalWrite (output,b);

    مهندس بی زحمت راجب اون یکی پست هم کمکم کنید. خالی کردن بافر و... ممنون

  8. #8
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,024
    نقل قول نوشته اصلی توسط feredy2011 نمایش پست ها
    مرسی یعنی برای کاری که من میخوام بکنم این کد درسته ؟
    int a = digitalRead(output);
    b= !a;
    digitalWrite (output,b);

    مهندس بی زحمت راجب اون یکی پست هم کمکم کنید. خالی کردن بافر و... ممنون
    بله میتونید همین کد رو استفاده کنید.
    کد:
    /*
      Blink
      Turns on an LED on for one second, then off for one second, repeatedly.
    
    
      Most Arduinos have an on-board LED you can control. On the Uno and
      Leonardo, it is attached to digital pin 13. If you're unsure what
      pin the on-board LED is connected to on your Arduino model, check
      the documentation at http://www.arduino.cc
    
    
      This example code is in the public domain.
    
    
      modified 8 May 2014
      by Scott Fitzgerald
    */
    
    
    
    
    // the setup function runs once when you press reset or power the board
    void setup() {
      // initialize digital pin 13 as an output.
      pinMode(13, OUTPUT);
    }
    
    
    // the loop function runs over and over again forever
    void loop() {
      int a = 0;
      digitalWrite (13, a);
      delay(1000);              // wait for a second
      int b = !a;
      digitalWrite(13, b);    // turn the LED off by making the voltage LOW
      delay(1000);              // wait for a second
    }
    لایک کردن

  9. #9
    Senior Member
    تاریخ عضویت
    Nov 2014
    نوشته ها
    255
    این کد مقدار اولیه رو 0 میده و پایه 13 رو خاموش میکنه . میخوایم پایه خروجی هرچی هست همون بمونه .
    این کد درسته ؟
    int a = digitalRead(output);
    یعنی میتونیم بگیم مقدار خروجی رو بخون ؟

  10. #10
    Senior Member
    تاریخ عضویت
    Nov 2015
    نوشته ها
    229
    نقل قول نوشته اصلی توسط feredy2011 نمایش پست ها
    سلام نه مهندس منظورم این نیست .
    شما فرض کن نمیدونی خروجیت بعد یه سری فعل و انفعالات 1 یا 0 . فقط میخوای اگر یه ورودی دادی به برد خروجی هرچی هست فقط مقدارش عوض بشه. اگر 0 بود بشه 1 و اگر 1 بود بشه 0
    digitalWrite(outputpin,1-digitalRead(inputpin));
    لایک کردن

صفحه 1 از 2 12 آخرینآخرین

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

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

SEO by vBSEO