جستجو برای:
سبد خرید 0
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع ثبت نام دوره تابستانی آوات روبو
فرصت تکرار نشدنی ثبت نام در دوره های حضوری با 20% تخفیف!
ساعت
دقیقه
ثانیه
مشاهده دوره های آموزشی
رباتیک و هوافضا
ورود
با ایمیل با شماره موبایل
گذرواژه خود را فراموش کرده اید؟
عضویت
با ایمیل با شماره موبایل
  • 09152556924
  • sup@avatrobo.ir
رباتیک و هوافضا
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

رباتیک و هوافضا > مقالات > پروژه > آموزش آردوینو > آموزش پروژه محور آردوینو – جلسه پنجم سریال مانیتور

آموزش پروژه محور آردوینو – جلسه پنجم سریال مانیتور

فروردین 27, 1396
ارسال شده توسط Admin
آردوینو ( Arduino )، آموزش آردوینو، پروژه، جلسه های آموزشی
جلسه های آموزش پروژه محور آردوینو

به نام خدا

آموزش پروژه محور آردوینو – جلسه پنجم سریال مانیتور

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

در جلسه قبل میتوانستیم حالت ال ای دی ها را در سریال مانیتور آردوینو نمایش دهیم .

arduino_summary

 

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

سریال مانیتور :

کد های آماده شده را در برنامه آردوینو قرار میدهیم .
برای دانلود کد های برنامه و حمایت مالی از ما بر روی لینک زیر کلیک کنید .

 

[maxbutton id=”32″ url=”http://avatrobo.ir/wp-content/uploads/2015/11/serial-monitor.txt” text=”دانلود فایل” ]

 

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

ide_serial_moniotor_button

 

 

یک پنجره شبیه زیر باز خواهد شد .

 

serial_monitor_0

 

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

پیام Enter LED Number 0 to 9 or ‘x’ to clear در شکل بالا توسط برد آردوینو ارسال شده است . این اولین پیامی است که از برد آردوینو دریافت شده است و به ما نشان میدهد که ارتباط بین برد آردوینو و کامپیوتر به درستی برقرار شده است . اگر برنامه مناسبی را بر روی برد آردوینو ریخته باشیم ( مناسب برای دریافت اطلاعات از سریال مانیتور ) میتونیم در نوار بالای سریال مانیتور متن خود را بنویسیم و بر روی گزینه Send کلیک کنیم .

در این برنامه میتونیم یک عدد بین 0 تا 9 یا حرف x را در نوار بالای سریال مانیتور تایپ کنیم و Send را بزنیم . وارد کردن x تاثیری ندارد اما اگر ال ای دی روشن باشد خاموش میشود  ولی با وارد کردن عدد ، ال ای دی مربوط به آن شماره روشن میشود و حالت آن در سریال مانیتور نشان داده میشود . حال که ال ای دی ها روشن شدند با وارد کردن حرف x میبینیم که ال ای دی ها خاموش خواهد شد .

 

serial_monitor

 

کد های آردوینو :

در اول برنامه تابع setup را میبینیم که 3 خط به آن اضافه شده است .

    void setup() 
    {
      pinMode(latchPin, OUTPUT);
      pinMode(dataPin, OUTPUT);  
      pinMode(clockPin, OUTPUT);
      updateShiftRegister();
      Serial.begin(9600);
      while (! Serial); // Wait until Serial is ready - Leonardo
      Serial.println("Enter LED Number 0 to 7 or 'x' to clear");
    }

با دستور Serial.begin(9600) میزان بادریت ارتباط سریال را که از طریق پورت USB برقرار میشود را مشخص میکند . این عدد مقدار های مشخص شده ای میتواند داشته باشد . این مقدار ، سرعت انتقال داده را مشخص میکند .

خط بعدی که اول آن while است برای اطمینان از صحت ارتباط سریال قبل از ارسال پیام ها است .

آخرین خط از تابع setup هم پیامی را به سریال مانیتور ارسال میکند .

تابع loop که مدام در حال تکرار است به صورت زیر میباشد :

    void loop() 
    {
      if (Serial.available())
      {
        char ch = Serial.read();
        if (ch >= '0' && ch <= '7')
        {
          int led = ch - '0';
          bitSet(leds, led);
          updateShiftRegister();
          Serial.print("Turned on LED ");
          Serial.println(led);
        }
        if (ch == 'x')
        {
          leds = 0;
          updateShiftRegister();
          Serial.println("Cleared");
        }
      }
    }

این حلقه loop مدام در حال تکرار است و وقتی که ارتباط سریال توسط تابع Serial.available() بررسی شده و درست باشد بقیه دستور های حلقه اجرا میشود . پیام های ورودی به یک بافر میرود .

خط بعد به صورت زیر است :

    char ch = Serial.read();

توسط این دستور کاراکتر را از بافر دریافت میکنیم و از آن خارج میکنیم و آن را به متغیر ch نسبت میدهیم . این متغیر از نوع char است .

این کاراکتر همان طور که در بالا گفتیم بین 0 تا 7 یا x خواهد بود . توسط تابع if شرط 0 تا 7 بودن را چک میکنیم . هر کاراکتر با یک شماره خاص به نام کد اسکی شناخته میشود . این به معنی آن است که هنگام بررسی شرط ، کد اسکی آن ها چک میشود . اگر کارکتر وارد شده بین 0 تا 7 نبود به if بعدی میرود .

خط بعدی برنامه به صورت زیر است :

int led = ch – '0';

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

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

    bitSet(leds, led);
    updateShiftRegister();

در دو خط بعد ما به سریال مانیتور آردوینو گزارش میدهیم .

          Serial.print("Turned on LED ");
          Serial.println(led);

در خط اول تابع Serial.print را استفاده کردیم و در خط بعدی تابع Serial.println را استفاده کرده ایم . تفاوت دو تابع بالا در این است که تابع اول توانایی رفتن به خط جدید را ندارد ولی تابع خط دوم بعد از پایان ارسال داده به خط بعدی میرود . اول عبارت Turned on LED را برای سریال مانیتور میفرستیم و بعد در خط دوم شماره ال ای دی را میفرستیم و خط جدید را شروع میکنیم .

تابع if بعدی ، x بودن کارکتر وارد شده را چک میکند .

if (ch == 'x')
    {
      leds = 0;
      updateShiftRegister();
      Serial.println("Cleared");
    }

اگر کاراکتر وارد شده برابر با x بود همه ال ای دی ها را خاموش میکند و پیام Cleared را برای سریال مانیتور ارسال میکند .

 

پایان جلسه پنجم . تا جلسه بعدی خدانگهدار

 

 

 

 

 

 

برچسب ها: آردوینوآردینوآموزش آردوینوآموزش آردینوآوات روبوسریال مانیتورسریال مانیتور آردوینوکار با سریال مانیتور آردوینو
قبلی رادیو کنترل در پهپاد ها - جلسه دوازدهم
بعدی جلسه دوازدهم : راه اندازی سنسور مادون قرمز

پست های مرتبط

اردیبهشت 9, 1398

برنامه نویسی به زبان پایتون برای رزبری پای

mjavad
ادامه مطلب

اسفند 5, 1397

تشخیص رنگ با استفاده از رزبری پای

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول

mjavad
ادامه مطلب

بهمن 2, 1397

ساخت اسپیدکنترلر موتور براشلس 3 ( با سنسور )

Author Avatar
Admin
ادامه مطلب

2 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • علی اکبر سعیدی گفت:
    مرداد 22, 1398 در 09:03

    این کد در لنوناردو کار نکرد اما با اضافه کردن این خط مشکل حل شد
    Serial.begin(9600);
    while(!Serial);

    پاسخ
    • Admin گفت:
      آبان 14, 1399 در 18:06

      سلام
      من با آردوینو لئوناردو کار نکردم ولی روی مدل UNO و NANO و MICRO جواب خواهد داد

      پاسخ

دیدگاهتان را بنویسید لغو پاسخ

دسته های محصولات
آخرین دیدگاه‌ها
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در درباره ما
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
  • امیر در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
ژوئن 2026
ش ی د س چ پ ج
 12345
6789101112
13141516171819
20212223242526
27282930  
« آوریل    
فهرست 1
  • عضویت
  • ویرایش حساب کاربری
  • ورود
  • خانه
فهرست 2
  • حمایت مالی
  • تبلیغات
  • فروشنده
  • داشبورد فروشندگان
  • سفارش پروژه
  • تماس با ما
  • درباره ما
فهرست 3
  • ویرایش حساب کاربری
  • فراموشی رمز عبور
  • ثبت نام
  • ویرایش حساب کاربری
محل کد نماد...
جستجو برای:
محصولات
  • دوره کوادکوپتر سرعتی FPV دوره آموزش ساخت کوادکوپتر مسابقاتی FPV
    نمره 4.00 از 5

    4,830,000 
  • دوره هواپیما مقدماتی تا پیشرفته دوره آموزش ساخت پهپاد بال ثابت ( هواپیما ) - مقدماتی تا پیشرفته
    10,480,000 
  • دوره کوادکوپتر مقدماتی دوره آموزش مقدماتی ساخت مولتی کوپتر (کوادکوپتر، هگزاکوپتر و ...)
    2,490,000 
  • دوره کوادکوپتر فیلم بردار دوره آموزش ساخت پهپاد فیلم بردار ( مولتی کوپتر )
    8,970,000 
  • دوره هواپیمای مدل موتور کشی دوره آموزش ساخت هواپیمای موتور کشی
    2,030,000 
نوشته‌های تازه
  • برنامه نویسی به زبان پایتون برای رزبری پای
  • تشخیص رنگ با استفاده از رزبری پای
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول
  • کنترل PID با آردوینو و دو موتور براشلس

درباره آوات روبو

 

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

دسترسی سریع

  • دوره های آموزشی
  • کیت
  • کلاس های حضوری
  • پروژه

کاوش

  • درباره ما
  • تماس با ما
  • مقالات

شبکه های اجتماعی

  • اینیستاگرام
  • یوتیوب
  • تلگرام

استفاده از مطالب سایت برای مقاصد غیر تجاری و با ذکر منبع بلامانع است. تمامی حقوق برای آوات روبو محفوظ است.