کنترل پایه های ورودی (دیجیتال و آنالوگ)

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 25, 2020

پین ها در بورد Arduino می تواند به عنوان ورودی یا خروجی پیکربندی شود. ما عملکرد پین در این حالت را توضیح خواهیم داد. مهم است که توجه داشته باشید که اکثر پین های آنالوگ آردوینو می توانند پیکربندی شوند و یا دقیقا مشابه پین های دیجیتال مورد استفاده قرار گیرند.

پین پیکربندی شده به عنوان INPUT

پین های Arduino به طور پیش فرض به عنوان ورودی پیکربندی شده اند، بنابراین هنگامی که از آنها به عنوان ورودی ها استفاده می کنید، نیازی به صراحت به عنوان ورودی با pinMode () نیستند. گفته می شود که پنوماتیک در این حالت پیمایش شده است و در حالت امپدانس بالا قرار دارد. پین های ورودی تقاضای بسیار کمی برای مدار می کنند که آنها نمونه برداری هستند، معادل یک مقاومت سری 100 مگاو در مقابل پین. به این معنی است که برای جابجایی پین ورودی از یک حالت به حالت دیگر، جریان بسیار کمی وجود دارد. که باعث می شود که پین ها برای انجام وظایف مانند اجرای یک سنسور لمسی خازنی یا خواندن LED به عنوان یک فتودیو مفید باشد.  

تابع pinMode ()

تابع pinMode () برای پیکربندی یک پین خاص برای رفتار به عنوان ورودی یا یک خروجی استفاده می شود. این امکان وجود دارد که رزولوشن داخلی را با INPUT_PULLUP حالت فعال کنیم. علاوه بر این، حالت INPUT به طور جداگانه پلاگین های داخلی را غیر فعال می کند.

pinMode() Function Syntax

Void setup () {
pinMode(pin,mode) ;
   pinMode(3,INPUT) ; // set pin to input without using built in pull up resistor
pinMode(5,INPUT_PULLUP) ; // set pin to input using built in pull up resistor
}

pin: شماره پایه ای که می خواهید به مود مورد نظر ببرید mode −تغییر وضعیت پین مورد نظر به OUTPUT یا INPUT یا INPUT_PULLUP

تابع analogRead ()

آردوینو قادر به تشخیص اینکه آیا یک ولتاژ اعمال شده به یکی از پین های آن وجود دارد و آن را از طریق عملکرد digitalRead () گزارش می دهد. بین سنسور روشن / خاموش (که حضور یک شیء را تشخیص می دهد) و یک سنسور آنالوگ که مقدار آن به طور مداوم تغییر می کند تفاوت وجود دارد. برای خواندن این نوع سنسورها، ما نیاز به نوع دیگری از پین داریم. در قسمت پایین سمت راست بورد Arduino، شش پین را که حاوی "Analog In" است را نشان می دهد. این پین های ویژه نه تنها می گویند که آیا ولتاژ اعمال شده به آنها وجود دارد، بلکه ارزش آن را نیز نشان می دهند. با استفاده از تابع analogRead () می توان ولتاژ اعمال شده به یکی از پین ها را خواند.

analogRead() function Syntax

analogRead(pin);

پین - شماره پین ورودی آنالوگ

مثال:

int analogPin = 3;//potentiometer wiper (middle terminal) 
   // connected to analog pin 3 
int val = 0; // variable to store the value read

void setup() {
   Serial.begin(9600); // setup serial
} 

void loop() {
   val = analogRead(analogPin); // read the input pin
   Serial.println(val); // debug value
}

اما تا الان با خواندن ورودی های آنالوگ آشنا شدید و حال مثالی برای خواندن ورودی های دیجیتال که توسط یک کلید انجام خواهد گرفت را می بینید. به مثال زیر توجه کنید.

مثال:

const int buttonPin = 3;     // the number of the pushbutton pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  // initialize the pushbutton pin as an input:
  Serial.begin(9600);
  pinMode(buttonPin, INPUT);
}

void loop() {
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  if (buttonState == HIGH) {
    Serial.println("button pushed");
  } 
}

 

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
5دیدگاه
  • سپهر
    1 month, 1 week ago

    سلام ..دیگه کاملا بی انصافیه ..اگر از این حجم آموزش مفید آردوینو حداقل یه تشکر نشه !! ...لذا برحسب وظیفه برای همه شما عزیزان ونیز جناب مهندس بیگدلی
    از خدای مهربان بهترین آرزوها را خواستارم ..خیلی خیلی ممنون و سپاسگزارم..

  • Alireza Sefareshi
    2 years, 3 months ago

    اصلا کلا بگین چیا بخریم

    • علی بیگدلی
      2 years, 3 months ago

      خذمتتون عرض کردم ممکنه موارد در دسترس متفاوت ولی عملکرد یکی باشن

  • Alireza Sefareshi
    2 years, 3 months ago

    سلام این جلسه یک پتاسیومتر بخریم و یک کلید ؟؟؟؟؟
    اسم اون کلید چی هست ؟؟؟؟؟؟؟؟

    • علی بیگدلی
      2 years, 3 months ago

      اسم خاصی آون کلید نداره
      توی آموزش موارد استفاده شده هستند کافیه دقت کنید البته در این مورد ممکنه قطعات در شک های متفاوت باشن