آموزش جامع آردوینو به زبان ساده ـ ورودیهای آنالوگ در آردینو(قسمت دوم){جلسه هفدهم}

 

با سلام.این جلسه ادامه جلسه قبلیه(ورودی های آنالوگ در آردینو) و قصد داریم با استفاده از یک پتانسیومتر که در جلسه قبل به عنوان یک ورودی ازش استفاده کردیم نور تعداد 8عدد ال ای دی رو کم و زیاد کنیم. ابتدا جلسه 11 رو که مربوط به راه اندازی 8 عدد ال ای دی هست رو مطالعه کنید.

کار با ورودی آنالوگ

کار با ورودی آنالوگ در آردوینو

شکل زیر ترکیبی از جلسات 11 و 17 می باشد. همانطور که در شکل ملاحظه می کنید قصد داریم با استفاده از پتانسیومتر نور 8  ال ای دی رو کنترل کنیم.

 

کد آردوینو:

int potPin = 0;
int latchPin = 5;
int clockPin = 6;
int dataPin = 4;
 
int leds = 0;
 
void setup() 
{
  pinMode(latchPin, OUTPUT);
  pinMode(dataPin, OUTPUT);  
  pinMode(clockPin, OUTPUT);
}
 
void loop() 
{
  int reading  = analogRead(potPin);
  int numLEDSLit = reading / 114;  //1023 / 9
  leds = 0;
  for (int i = 0; i < numLEDSLit; i++)
  {
    bitSet(leds, i); 
  }
  updateShiftRegister();
}
 
void updateShiftRegister()
{
   digitalWrite(latchPin, LOW);
   shiftOut(dataPin, clockPin, LSBFIRST, leds);
   digitalWrite(latchPin, HIGH);
}

با توجه به اینکه بیشتر قسمت های کد فوق در جلسه 11 بیان شده است از توضیحات اضافی خودداری می کنیم.

 

 

int potPin = 0;

در ابتدای کد ما یک متغیر رو تعریف کردیم این متغیر مربوط به پایه وسط پتانسیومتر است که به ورودی آنالوگ آردوینو وصل شده است.

توجه: دقت کنید که ما برای اتصال پایه وسط پتانسیومتر به ورودی آنالوگ آردوینو هیچ حالتی را در تابع setup  برایش تعریف نکردیم.

در حلقه اصلی ما ورودی پایه وسط پتانسیومتر را به طور مداوم توسط خط زیر میخوانیم:

 

int reading  = analogRead(potPin);

وقتی که عدد مربوطه خوانده می شود عددی بین 0 تا 1023 است که قاعدتا باید بین تعداد LED هایی که روشن می شوند تقسیم شود. مثلا ممکن است هیچ LEDروشن نشود یا فقط یکی روشن شود یا فقط 2تا روشن شود یا 3تا روشن شود و به همین ترتیب ممکن هر 8تا روشن شود. خب از

0 عدد تا 8عددی که قرار است روشن شود تعداد 9 حالت وجود دارد(از 0 تا 8 میشود 9) .بنابراین باید مقدار 1023 تقسیم بر 9 شود که عدد 114 بدست می آید که به صورت زیر است:

int numLEDSLit = reading / 114;

بقیه قسمت های برنامه هم که در جلسه 11 توضیح داده شده است. اگه دیدید جایی از برنامه براتون نامفهوم است میتونید این کار رو برای یک عدد LED انجام بدید.

در پایان میتونید لینک pdf این آموزش رو از زیر دانلود کنید:

http://www.mediafire.com/download/zmevj05j5hw5svv/Arduino.Part18.pdf

در پناه ایزد یکتا باشید

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

قاسم قاسمی

 

نوشتن نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Optionally add an image (JPEG only)