تبلیغات

مترجم سایت

Elctrical-Control-Engineering - این مثال روش ورودی آنالوگ را روی پین صفر خواندن، تبدیل کردن مقدار از analogRead() به ولتاژ و چاپ کردن خروجی آن روی Serial Monitor را به شما نشان می دهد.
 
Elctrical-Control-Engineering
درباره وبلاگ


The department’s research activities encompass several broad areas, reflecting the multi-disciplinary nature of the control and mechatronics field. These include:


• Smart sensors and actuators
• Process tomography
• Intelligent machines
• Advanced and intelligent control algorithms
• Process control and its advancements
• Real-time control system
• Robot design and intelligent robot controllers
• Modeling and control of mechatronic systems
• Industrial automations
• Nanotechnology-based mechatronics and robotics

مدیر وبلاگ :
نویسندگان
آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :

Analog Read Voltage

این مثال روش ورودی آنالوگ را روی پین صفر خواندن، تبدیل کردن مقدار از analogRead() به ولتاژ و چاپ کردن خروجی آن روی Serial Monitor را به شما نشان می دهد.

سخت افزار مورد نیاز

  • برد آردوینو
  • یک مقاومت متغیر مثل پتانسیومتر

مدار

این تصویر با استفاده از نرم افزار Fritzing ایجاد شده است. برای مثال های بیشتر مدار به صفحه پروژه های Fritzing مراجعه کنید.

3 عدد سیم را از پتانسیومتر به برد آردوینو وصل کنید. اولین سیم، از یکی از پین های خارجی پتانسیومتر به زمین، دومی از 5 ولت به یکی از پین های خارجی دیگر پتانسیومتر و سومی از ورودی صفر آنالوگ به پین وسطی پتانسیومتر می رود.

شما با چرخاندن محور پتانسیومتر، مقدار مقاومت روی یک طرف wiper را که به پین مرکزی پتانسیومتر وصل شده است، تغییر می دهید. این عمل، ولتاژ پین مرکزی را تغییر می دهد. زمانی که مقاومت بین مرکز و کناره ای که به 5 ولت متصل است به صفر نزدیک می شود (و مقاومت سمت دیگر به 10 کیلو اهم نزدیک می شود) ولتاژ در پین مرکزی به 5 ولت نزدیک می شود. زمانی که مقاومت معکوس می شود، ولتاژدر پین مرکزی به سمت صفر ولت یا زمین می رود. این ولتاژی که شما به عنوان ورودی می خوانید، آنالوگ است.

آردوینو یک مدار داخلی به نام analog-to-digital converter دارد که ولتاژ متغیر را می خواند و آن را به عددی بین 0 تا 1023 تبدیل می کند. زمانی که محور در یک جهت می چرخد، ولتاژ صفر به سمت پین می رود و مقدار ورودی، صفر می شود. زمانی که محور به سمت مخالف می چرخد، ولتاژ پنج به سمت پین می رود و مقدار ورودی 1023 می شود. در این بین analogRead() یک عدد بین صفر تا 1023 را بر می گرداند که با مقدار ولتاژ اعمال شده روی پین متناسب است.

شماتیک

کد

در کد زیر، تنها کاری که شما باید در تابع setup انجام دهید، شروع ارتباط سریال، با سرعت 9600 بیت داده بر هر ثانیه، بین برد آردوینو و کامپیوتر می باشد. این عمل توسط دستور زیر انجام می شود:

Serial.begin(9600);

بعد در تابع Loop() برنامه، لازم است متغیری را برای ذخیره مقدار مقاومتی که از پتانسیومتر می آید (و عددی بین صفر تا 1023 می باشد و محدوده ای مناسب برای نوع int خواهد بود)، تعریف کنید.

int sensorValue = analogRead(A0);

برای تغییر مقدار از محدوده 0-1023 به عددی در محدوده ای که متناظر با ولتاژ خوانده شده از پین است، لازم است متغیر دیگری تعریف کنید. یک متغیر float، و یک محاسبه ریاضی کوچک. برای درجه بندی کردن اعداد بین 0.0 و 5.0 ، 5.0 را بر 1023.0 تقسیم می کنیم و آن را در sensorValue ضرب می کنیم. این کار را با دستور زیر انجام می دهیم:

float voltage = sensorValue * (5.0 / 1024.0);

در انتها، لازم است که این اطلاعات را روی Serial Monitor چاپ کنید. شما می توانید این کار را با دستور Serial.println() در آخرین خط کدتان انجام دهید:

Serial.println(voltage)

اکنون، وقتی شما Serial Monitor را ( با مستقیم کلیک کردن روی دکمه ای که سمت راست دکمه آپلود در بالای برنامه است)، در محیط برنامه نویسی آردوینو باز می کنید، باید رشته ای ثابت از اعداد در محدوده ی 0.0 تا 5.0 ببینید. هرچه پتانسیومتر را بچرخانید، مطابق ولتاژی که به پین A0 اعمال می شود، مقدار عوض خواهد شد.

/*
  ReadAnalogVoltage
  Reads an analog input on pin 0, converts it to voltage, and prints the result to the serial monitor.
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
 
 This example code is in the public domain.
 */


// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  float voltage = sensorValue * (5.0 / 1023.0);
  // print out the value you read:
  Serial.println(voltage);
}




نوع مطلب :
برچسب ها :
لینک های مرتبط :

       نظرات
چهارشنبه 26 شهریور 1393
دوشنبه 16 مرداد 1396 01:41 ب.ظ
For the reason that the admin of this web site is working, no doubt very
shortly it will be famous, due to its feature contents.
دوشنبه 31 شهریور 1393 07:32 ب.ظ
سلام وب خوب و به روزی داری. امیدوارم همیشه اینجور باشه. می تونی مطالبت رو تو انجمن ما به اشتراک بذاری تا بقیه هم استفاده کنن.
من بهت سر زدم اگه شما هم دوست داشتی به سایت ما سر بزن.
ممنون

www.SasanSMS.ir
کامل ترین آرشیو اس ام اس

www.SasanSMS.ir/Forum
متفاوت‌ترین انجمن سرگرمی و تفریحی فارسی‌زبانان
چهارشنبه 26 شهریور 1393 03:04 ب.ظ
سلامممممم ایول
ادم یه همچین وبایی رو میبینه از وب خودش ناامید میشه
bacheh che megiieeee?
چهارشنبه 26 شهریور 1393 02:54 ب.ظ
با سلام
آیا می دانید با ثبت لینک و تبادل لینک در سایت های معتبر می توانید رنک و بازدید سایت یا وبلاگ خود را در گوگل افزایش دهید و وبلاگ نویسی با بازدید بالا را تجربه کنید و از همه مهم تر از کار خود لذت ببرید ؟ سایت www.best-links.ir یکی از سایت های بسیار معتبر تبادل لینک است که شما همین الان می توانید با یک کلیک با این سایت تبادل لینک رایگان کنید
www.best-links.ir
چهارشنبه 26 شهریور 1393 02:51 ب.ظ
با سلام
آیا می دانید با ثبت لینک و تبادل لینک در سایت های معتبر می توانید رنک و بازدید سایت یا وبلاگ خود را در گوگل افزایش دهید و وبلاگ نویسی با بازدید بالا را تجربه کنید و از همه مهم تر از کار خود لذت ببرید ؟ سایت www.best-links.ir یکی از سایت های بسیار معتبر تبادل لینک است که شما همین الان می توانید با یک کلیک با این سایت تبادل لینک رایگان کنید
www.best-links.ir
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر