نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ
محمدرضا اسلامی

آموزش و پروژه gpio رزبری پای به زبان c

273

به نام خدای علی(ع) آفرین : تو این مطلب به ایجاد پروژه رزبری پای به زبان های C و ++C رو میگیم، و بعد gpio رزبری پای رو به زبان C آموزش میدیم و دو تا پروژه رزبری پای هم بعدش قرار دادیم. ( آموزش و پروژه gpio رزبری پای به زبان c )

ساخت پروژه رزبری پای به زبان C و  ++C

برای ساخت یک پروژه C، ترمینال رو باز کنید و یه فایل با نام دلخواه و پسوند c. بسازید.
راستی(ترمینال یه فضایی مثل cmd در ویندوز هست.)
ترمینال رزبری پای

در فایل باز شده، با سینتکس زبان c بنویسید(مثلا)

بعذش فایل رو ذخیره کنید Ctrl+x و سپس y و بعدش اینتر.
حالا باید برنامه رو کامپایل کنید. تو ترمینال تایپ کنید و بعدش اینتر بزنید:

حالا اجراش کنید

برای ساخت یک پروژه ++C هم مشابه همین روند رو داریم

متن پروژه

توجه : خط دوم، فضای نام std رو باز میکنه تا بتونیم از تابع cout استفاده کنیم.می تونیم این خط رو پاک کنیم ولی قبل از دستور cout یه std:: بیاریم. به این ترتیب هر وقت که بخوایم از cout یا  cin استفاده کنیم، باید یه std:: قبلش بیاریم. ولی با استفاده از خط دوم، دیگه نیازی نیست قبل هر کدوم یه std:: بذاریم.
توجه : endl در خط پنجم کد،کار اینتر رو میکنه و به خط بعدی میره. می تونید برای دریافت کارکردش یه بار پاکش کنید و نتیجه رو مقایسه کنید.(این”>>” روهم باید پاک کنید.)
یه نکته دیگه اینکه در ++C میشه از تمام توابع C استفاده کرد. ولی برعکسش نمیشه.
پس از ذخیره فایل، کامپایلش می کنیم:

در انتها اجراش می کنیم

 

آموزش GPIO رسپری به زبان C

4تا کتابخونه شناخته شده به زبان C برای کنترل GPIO رسپری نوشته شده.
Native ، BCM2835 ، WiringPi ، pigpio از بین این چهارتا Native از همه بهینه تره ولی پیداش نکردم.از بینشون، WiringPi مثل نقل و نبات تو وب ریخته که ازش استفاده می کنیم.
برای نصب کتابخونه wiringpi از یکی از دو روش گفته شده در لینک زیر استفاده کنید
نصب کتابخونه wiring pi
گفتیم که از کتابخونه wiringPi استفاده خواهیم کرد. این کتابخونه برای نامگذاری پایه ها 4 تا مد داره.

ما بدون دلیل از اولی استفاده می کنیم.خب حالا برای فهمیدن نام پایه ها ترمینال رو باز کنید و تایپ کنید :

این ورژن و مشخصات رسپری رو میده.

این یکی کد، جدولی شامل نحوه نامگذاری پایه ها رو میده. ما برای نامگذاری پایه ها در برنامه، طبق نامگذاری زیر ستون Name عمل می کنیم.
آموزش و پروژه gpio رزبری پای به زبان c
آموزش ها رو در قالب مثال میارم :
در مثال اول، می خوایم ال ای دی متصل به GPIO16 رو با زبان C و با استفاده از کتابخانه wiringPi روشن و خاموش کنیم.
پروژه رزبری پای
یه فایل با نام دلخواه با پسوند c. و می سازیم(برای این کار، کد زیر رو در ترمینال رزبری پای کد زیر ور تایپ میکنیم وبعدش اینتر می زنیم.)

در فایل باز شده، قطعه کد زیر رو بنویسید(به بزرگ و کوچک بودن حروف دقت کنید.)

توجه : خط سوم تا پنجم، یه تابعی هست برای ایجاد تاخیر تقریبا یک ثانیه ای(در رزبری پای 3  که با سعی و خطا به دست آوردم.). این نحوه تاخیر در میکرو کنترلر ها کاربرد داره ولی در سیستم عامل ها، این تاخیر غیر استاندارد(تاخیر گاوی!!) هست. برای ایجاد تاخیر دقیق در سیستم عامل ها از زمان سیستم کمک می گیریم. که بعدا به خدمتش می رسیم. فعلا اینو قبول کنید تا بعد.
خط 10: مد پایه های GPIO رو مشخص می کنه.
خط 11: پایه با نام 27 (که در مد  BCM پایتون همون GPIO16 هست) رو به عنوان خروجی تنظیم میکنه.
خط 12: هم یه پیامی چاپ می کنه که پایه تنظیم شد.
حالا فایل رو ذخیره کنید(Ctrl+x بعدش y و سپس اینتر)
موقع کامپایل کردن کد رسیده(تو ترمینال کد زیر روتایپ کنید)

حالا اجراش کنید با

با Ctrl+z هم میتونید از برنامه بیاید بیرون.
 

پروژه رزبری پای روشن و خاموش کردن سه تا ال ای دی

پروژه رزبری پای
دوباره روند تکراری : یه فایل با نام دلخواه با پسوند c. و می سازیم ( برای این کار،کد زیر رو در ترمینال رسپین کد زیر ور تایپ میکنیم و بعدش اینتر می زنیم. )

در فایل باز شده، قطعه کد زیر رو بنویسید( به بزرگ و کوچک بودن حروف دقت کنید. )

خب حالا فایل رو ذخیره کنید(Ctrl+x بعدش y بعدش اینتر)
و سپس کد رو کامپایل کنید :

و در انتها هم اجرای برنامه

اونایی که دوست دارن در یک محیط برنامه نویسی کد بزنن و همونجا قابلیت ران کردن کدشون رو داشته باشن، میتونن از codeblocks استفاده کنن. برای نصب codeblocks روی رزبری پای، رزبری رو به اینترنت وصل کنید.(با کابل شبکه یا وای فای) برای اتصال رزبری پای به اینترنت، به لینک زیر مراجعه کنید :
نصب و راه اندازی VNC کنترل Raspberry Pi با کامپیوتر
سپس در ترمینال کد زیر رو تایپ کنید:

هنگام نصب codeblocks اگر سوالی پرسید، y رو بزنید و بعدش اینتر. سپس رزبری پای رو ریست کنید.
پس از بالا اومدن سیستم، مسیر زیر رو دنبال کنید
سیستم عامل رسبین
در codeblocks مسیر زیر رو دنبال کنید
نصب codeblocks روی رزبری پای
سپس مراحل زیر
نصب codeblocks رزبری پای
و بعدش ok؛ بعدش دنبال کردن مسیر زیر و اعمال تغییرات
سیستم عامل رسبین
بعدش مراحل زیر
آموزش رزبری پای
حالا تنظیمات codeblocks تموم شد.برای ساخت پروژه به زبان c  مسیر زیر رو برید.
تنظیمات codeblocks
بعدش
آموزش رزبری پای
و ادامه اش هم واضحه پروژه رو می سازید و کامپایل می کنید.
پروژه رزبری پای
 
جهت هر چه مستحکم تر شدن مقام ولایت فقیه و تعجیل درظهور بابای خوبمون مهدی(عج) صلوات

تعداد مطالب : 30 تا
دانش آموخته (فارغ التحصیل سابق) کارشناسی الکترونیک هستم. سه سال اول دانشگاه رو به نحو احسن هدر دادم رفت!! تا پایان ترم هفتم داشتم فکر می کردم که چی کار کنم و چی کار نکنم؟ ترم هشتم اساتید خوبی داشتم و تصمیم گرفتم،یه تکونی به خودم بدم. الان هم در حال یاد گیری علایقم هستم...
بقیه جلسات :
این مطلب هیچ طبقه بندی یی ندارد!
ارسال دیدگاه
12
نظرات این مطلب بسته شده است.
  1. علی

    مهمان

    علی

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

    مشاهده پاسخ ها (1)
    • محمدرضا اسلامی

      نویسنده این مطلب

      محمدرضا اسلامی

      سلام.
      تعداد و نوع کتابخونه های موجود برای زبون c خیلی خیلی زیادن.
      برای چه کارکردی نیاز به کتابخونه دارید؟

  2. علی

    مهمان

    علی

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

  3. امیرحسین

    مهمان

    امیرحسین

    سلام
    خسته نباشید
    موقع اجرا کد وقتی کنسول میاد بالا میزنه permision denied .مشکل از کجاس؟
    تمام مراحل ذکر شده رو هم من انجام دادم
    با تشکر

    مشاهده پاسخ ها (1)
    • محمدرضا اسلامی

      نویسنده این مطلب

      محمدرضا اسلامی

      سلام
      یه sudo به اول دستورتون اضافه کنید.
      اگر نشد،از ترمینال عکس بذارید.

  4. ali

    مهمان

    ali

    salam
    man har kari kardam nashod
    in error ro mide
    gcc: error: –o: No such file or directory
    gcc: error: gpio_c1: No such file or directory
    gcc: error: –l: No such file or directory
    gcc: error: wiringPi: No such file or directory

    مشاهده پاسخ ها (1)
    • محمدرضا اسلامی

      نویسنده این مطلب

      محمدرضا اسلامی

      سلام کتابخونه wiringpiرو نصب کردید؟
      تو متن یه لینک گذاشتم.
      ۲.اگر نصب کردید،یه عکس از ترمینالتون بذارید

  5. محمدرضا

    مهمان

    محمدرضا

    سلام و خسته نباشید.
    من یه رزبری ۳ دارم که روش زده uk. هر بار که رزبین میریزم روش با کوچکترین ناملایمتی کرش میکنه.
    اگه ناکهان از برق بکشمش و یا یه چیزی روش نصب کنم که یکم سنگین باشه کرش میکنه و دیگه یالا نمیاد. من باید دوباره برنامه بریزم روش.
    لطفا راهنمایی بفرمایید.ممنونم

    مشاهده پاسخ ها (1)
    • محمدرضا اسلامی

      نویسنده این مطلب

      محمدرضا اسلامی

      سلام احتمالا مشکل شما،از موارد زیر ناشی میشه:
      ۱.جریان منبع تغذیه کمه(یه ۲ امپری بذارید)
      ۲.مموریتون کلاس ۱۰ نیست ویا سرعتش کمه(از یه مموری دیگه استفاده کنید

  6. حسین

    مهمان

    حسین

    سلام من gpio رو با پایتون کامل انجام دادم
    ولی اینجا برا مثال اول کد اجرا میشه LED ON و LED OFF نوشته میشه ولی خود ال ای دی خاموش و روشن نمیشه فک کنم مشکل از اینجا باشه :
    http://s9.picofile.com/file/8276720192/photo_2016_11_29_13_47_07.jpg
    من آخرین ورژن رزبین رو نصب کردم ولی ورژن gpio نوشته 2 واسه شما 2.32 هس اگه مشکلش همینجاس ، چطوری میتونم آپ گریدش کنم؟

    مشاهده پاسخ ها (2)
    • محمدرضا اسلامی

      نویسنده این مطلب

      محمدرضا اسلامی

      سلام
      آموزش نصب کتابخونه wiringpi رو در متن قرار دادم.
      فراموش کرده بودم!!!!!!!!!!۱ sorry

      • حسین

        مهمان

        حسین

        ایول درست شد ….
        منتظر آموزش های بیشتر با رزبری هستم <3