آموزش کنترل LED توسط نرم‌افزار کامپیوتر

شاید بارها با خودتون فکرکرده باشید که ایا امکانش است با نرم‌افزار های PC یتوانیم یک سخت‌افزار را کنترل کنیم و یا خودمان بتوانیم این نرم‌افزار ها را درست کنیم و به یک سخت افزار متصل کنیم و در نهایت از نرم‌افزار ساخته شده جهت کنترل سخت‌افزار استفاده کنیم. بله کاملا درست فکر می‌کنید این کار با سی‌شارپ کاملا شدنی است.

در این مقاله قصد داریم توسط یک نرم‌افزار که در محیط سی‌شارپ طراحی شده است را به سخت‌افزار اردوینو متصل کنیم و پس از اتصال به سخت‌افزار یک LED را توسط نرم‌افزار ساخته شده کنترل کنیم. با سیسوگ همراه باشید.

قاعدتا برای شروع به یک سری ادوات الکترونیکی و نرم‌افزارهای مرتبط با کارمان نیاز داریم که شامل موارد زیر می‌شوند.

  • آردوینو (UNO)
  • ال ای دی یک عدد
  • سیم
  • نرم افزار آردوینو
  • Visual Studio

خب لازم است که قبل از شروع کار یک تاریخچه‌ای از نرم‌افزار های که می‌خواهیم با انان کار کنیم بدانیم(حداقل بدونیم چی هستن و از کجا اومدن)

سی شارپ چیست؟ 

سی شارپ (به انگلیسی: C#)یک زبان برنامه‌نویسی کامپایلری، سطح بالا، شیءگرا، ساخت یافته، رویداد محور، تابعی، دستوری و جنریک است که توسط شرکت مایکروسافت در سال ۲۰۰۰ میلادی از خانوادهٔ زبان‌های چارچوب دات‌نت معرفی شد. زبان سی شارپ همچنین از خانواده زبان‌های برنامه‌نویسی سی (C) است.

آردوینو چیست؟

آردوینو (به انگلیسی: Arduino) یک پلتفرم سخت افزاری و نرم افزاری متن باز است. پلتفرم آردوینو شامل یک میکروکنترلری تک‌بردی متن‌باز است که قسمت سخت افزار آردوینو را تشکیل می‌دهد. علاوه بر این پلتفرم آردوینو یک نرم افزار IDE که به منظور برنامه‌نویسی برای بردهای آردوینو طراحی شده‌ است و یک بوت لودر نرم افزاری که بر روی میکروکنترلر بارگذاری می‌شود را در بر می‌گیرد. پلتفرم آردوینو به منظور تولید سریع و ساده پروژه‌های سخت افزاری تعاملی و ساخت وسایلی که با محیط تعامل داشته باشند طراحی شده‌است. البته بردهای آردوینو اهداف آموزشی را نیز دنبال می‌کنند.

آردوینو

خب بریم سراغ بخش اصلی کار

در ابتدا مداری که لازم داریم رو می‌بندیم به این صورت که:

  • پایه مثبت ال ای دی رو به یکی از پایه های دیجیتال آردوینو (در اینجا ما به 13 وصل میکنیم ) متصل میکنیم.
  • پایه منفی ال ای دی رو هم به GND متصل میکنیم.

بخش سخت افزاری کار تمام شده است و به سراغ بخش اصلی و نرم افزاری کار می‌رویم(تمرکز ما هم دقیقا همین بخش است).

نرم افزار آردوینو را باز ‌می‌کنیم و یک پروژه جدید ایجاد ‌کنیم.

کد های زیر را در نرم افزار آردوینو قرار می‌دهیم و سپس روی برد آردوینو  آپلود می‌کنیم.

اکنون نرم افزار Visual Studio را باز کنید و یک پروژه جدید در محل دلخواه و با نام دلخواه ایجاد کنید.

با برنامه ای مطابق شکل زیر مواجه خواهید شد.

محیط سی‌شارپ

با استفاده از درگ کردن (کشیدن) اندازه فورم را متناسب با کارایی نرم افزار تنظیم می‌کنیم.

فرم در سی‌شارپ

در برنامه نویسی فورم ها با سی شارپ ابتدا ظاهر فورم رو تنظیم می‌کنیم و سپس آیتم های مورد نیاز را نام گذاری و در نهایت به کد نویسی برنامه می‌پردازیم.

1. ظاهر فورم سی‌شارپ

در برنامه ما به سه دکمه (button ) نیاز داریم از قسمت ToolBox در سمت چپ بر روی button  سه بار دابل کلیک می‌کنیم تا سه دکمه برای ما ایجاد شود.

محیط سی‌شارپ

در قسمت بعدی دکمه ها را از نظر اندازه و مکان تنظیم می‌کنیم.

قرار دادن دکمه در سی‌شارپ

لیبل ها (label) برای نمایش متن ثابت استفاده می شوند از قسمت ToolBox  دو بار بر روی Label دابل کلیک می‌کنیم.

لیبل گذاری در سی‌شارپ

در ادامه مکان لیبل ها را روی فورم تنظیم می‌کنیم.

لیبل در سی‌شارپ

برای ارتباط با آردوینو ما نیازمند به آیتمی به اسم Serialport هستیم از قسمت ToolBox  ایتم را پیدا و بر روی ان دابل کلیک می‌کنیم.

درست کردن ایکون ها در سی‌شارپ

 

در قسمت آخر یک جعبه متن (textbox) از طریق جعبه ToolBox  به فورم اضافه و مکان ایکون را همانند شکل زیر روی فورم تنظیم می‌کنیم.

محیط سی‌شارپ

 

2. نام گذاری در سی‌شارپ

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

نرم‌افزار سی‌شارپ

 

در این برنامه ما فقط از دو  خصوصیت نام (name ) و متن (text) استفاده خواهیم کرد که در ادامه به توضیح هر کدوم می‌پردازیم.

  • خصوصیت نام (name ): برای نام گذاری آیتم و ارجاع دادن به شیئ در هنگام کد نویسی.
  • خصوصیت  متن (text) : برای تغییر متن حاوی آیتم بر روی فورم
  • بر روی دکمه button1 یک بار کلیک می‌کنیم و خصوصیت متن را به  “ON” تغییر می‌دهیم.
  • بر روی دکمه button2 یک بار کلیک می‌کنیم و خصوصیت متن را به  “OFF” تغییر می‌دهیم.
  • بر روی دکمه button3 یک بار کلیک می‌کنیم و خصوصیت متن را به  “RUN” تغییر می‌دهیم.
  • بر روی label2 یک بار کلیک می‌کنیم و خصوصیت متن را به  “Port : ” تغییر می‌دهیم.
  • بر روی label1 یک بار کلیک می‌کنیم و خصوصیت متن را به  “…” تغییر می‌دهیم. و خصوصیت نام را به lblresult تبدیل می‌کنیم.
  • بر روی جعبه متن یک بار کلیک میکنیم و خصوصیت نام اون رو به “txtport” تغییر میدهیم.

3. کد نویسی در سی‌شارپ

بر روی دکمه ON دابل کلیک می‌کنیم تا به محیط برنامه نویسی مربوط به دکمه موردنظر برویم و کد زیر را در ان بخش قرار میدهیم.

بر روی دکمه OFF  دابل کلیک کنید و کد زیر را در ان بخش قرار می‌هیم.

بر روی دکمه RUN دابل کلیک می‌کنیم و کد زیر را در قسمت مربوطه قرار می‌دهیم.

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

دکمه start رو از روی نوار ابزاری بالای نرم افزار کلیک می‌کنیم.

محیط سی‌شارپ

 

حال برنامه اجرا میشود (بستگی به سیستم شما ممکن است این امر کمی زمانبر باشد ) و در بخش port ما باید پورتی که آردوینو به ان متصل است را وارد کنیم (مثلا com3) و بر روی دکمه Run کلیک کنیم. متن لیبل زیر دکمه run به “com3 is running ” تبدیل میشود که این به معنای درست کار کردن برنامه و ارتباط صحیح با آردوینو می‌باشد و در غیر این صورت به ما خطا نشان می‌دهد که با زدن دکمه continue  به برنامه باز می‌گردیم و ان را اصلاح می‌کنیم.

با زدن دکمه on ال ای دی روشن  و با زدن دکمه off  ال ای دی خاموش می شود.

نرم‌افزار را می‌توانید از این قسمت دانلود کنید.

PP-1.7z

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

 

 

حمایت از محمد رضا اسکینی

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

محمد رضا اسکینی

محمد رضا اسکینی هستم برنامه نویس و عاشق الکترونیک

دیدگاه ها

8 دیدگاه

  • poorya
    ۱۲ خرداد ۱۴۰۰

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

  • محمد حسین سعیدیان
    ۱۷ فروردین ۱۴۰۰

    سلام ممنون از اموزشتون لطفا ترو خدا بگیر این رو چجور تو سی شارپ تحت کنسول بسازیم

    • Zeus ‌
      zeus
      ۵ خرداد ۱۴۰۰

      سلام دوست عزیز
      ساده است اول یه پروژه کنسول میسازی همین کد ها رو می تونی استفاده کنی فقط باید پارامتر ها رو پاس بدی به برنامه که آموزشش توی اینترنت زیاد هست
      اینم آموزش خود ماکروساقت
      Create a simple C# console app

  • matin
    ۲۱ آذر ۱۳۹۹

    سلام
    برای کنترل چند تا led باید کد ما به چه شکلی باشه؟
    یا اون کد های اصلی چی هستند؟
    لطفا به من کمک کنید.

  • A M I N
    ۲۶ مرداد ۱۳۹۹

    واقعا ممنون از سایت خوبتون.
    خیلی کاربردی بود.

  • حمید ترک قشقایی
    حمید ترک قشقایی
    ۲۳ فروردین ۱۳۹۹

    سلام خدمت دوست عزیز آقای اسکینی:
    با تشکر از مطلب آموزش کنترل LED توسط نرم‌افزار کامپیوتر شما واقعا عالی بود.
    اگر امکان داره من دنبال برنامه ای مثل مثال بالا هستم که بتوانم مثلا دو یا سه تا دما رو روی اردینو بخونم و انها رو به پورت سریال بفرستم و مثلا در دو یا سه تکست باکس در سی شارپ ببینم . ممنون میشوم مرا یاری کنید . با تشکر قشقایی

  • reza
    ۳۱ تیر ۱۳۹۸

    سلام
    تشکر بابت مطلب آموزنده.

    • محمد رضا اسکینی
      محمد رضا اسکینی
      ۱ مرداد ۱۳۹۸

      با سلام خدمت شما دوست عزیز
      از توجه و لطف شما متشکر

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 11 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک