آموزش قسمت دوم رسبری پای(بخشgpio و وقفه ها به زبان سی و پایتون)

به نام خدا و با سلام خدمت دوستان

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

در مرحله اول کد های زیر را به ترتیب وارد کنید و اینتر بزنید تا عملیات نصب انجام بشه…

توجه : در حین نصب اگر سوالی پرسید y را بزنید و سپس اینتر کنید.

Step 1: Install Python development tools

پس از نصب ابزار بالا،پکیج توسعه رسبری را نصب کنید(کد زیر را تایپ کنید و اینتر کنید)

Step 2: Install GPIO library

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

 

 

توجه: پایه مثبت LED را با یک مقاومت ۱۰۰ تا ۳۳۰ اهم به  GPIO16 متصل کنید و پایه منفی LED را به GND متصل کنید :

روی عکس کلیک کنید تا به صورت با کیفیت نمایش داده شود.

کد هایی که زبان پایتون برای چشمک زدن led متصل به GPIO16 شده نوشته شده است.

 

توضیحات کلی بخش gpio به زبان پایتون:

کد زیر، پایه ۱۶ رو به عنوان خروجی تنظیم میکنه:


کد های زیر پایه ۱۶ را یک میکنند(هر سه کد عملکرد یکسانی دارند)


کدهای زیر پایه ۱۶ رو به صفر می کنند(هر سه کد عملکرد یکسانی دارند)


کد زیر پایه ۱۶ را به صورت ورودی تعریف می کند و همچنین پول آپ یا پول داون را مشخص می کند:

و با استفاده از کد زیر میتوانید مقدار (صفر یا یک بودن یا فشرده شدن کلید) پایه ۱۶ را بخوانید:


برنامه زیر هم  کلید رو که با پایه های gpio18 متصل هست رو با if میخونه و متناسب با اون led رو که به پایه gpio16 متصل هست رو روشن و خاموش میکنه  :


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

داخل کد گفتم که کلید ها و led باید به کدوم پایه ها متصل بشن  فقط برا led ها مقاومت استفاده کنید حتما( ۱۰۰ تا ۳۰۰ اهم خوبه)


 

راه اندازی توضیحات کلی بخش gpio به زبان C و ++C:

برای اینکه در رسبری پای به زبان سی کد بنویسید ابتدا باید کتابخونه اون رو نصب کنید که کتابخونه های متفاوتی وجود دارن که ما اینجا از کتابخونه ی wiringpi استفاده می کنیم

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

در مرحله اول رسبری پای رو آپدیت و آپگریت کنید به اخرین ورژن که با دو خط کد زیر را به ترتیب تایپ کنید و اینتر کنید (اگر سوالی پرسید y رو بزنید و اینتر کنید).

سپس باید git  رو نصب کنید که برای نصبش کد های زیر رو به ترتیب تایپ کنید و اینتر بزنید :

پس از اینکه نصب شد کد های زیر را به ترتیب تایپ و اینتر کنید :

برای اینکه تست کنید که کتابخونه با موفقیت نصب شده کد های زیر را به ترتیب تایپ و اینتر کنید

کد اول ورژن و یه سری توضیحات رو میگه

کد دوم هم تمامی پایه های gpio رو لیست میکنه که به صورت زیر هستش :

به شماره پایه ها و این دو ستون دقت کنید

لینک منبع

پس از نصب ما می توانیم پروژه ای به عنوان مثال چشمک ایجاد و کامپایل کنیم که برای نام گذاری پایه ها از مد زیر استفاده می کنیم :

کد زیر را در ترمینال تایپ میکنیم و اینتر میزنیم تا یک فایل جدید باز شود

در فایل باز شده کد زیر را مینویسم :

یه راه جالب بهتون بگم که برا تایپ کردم کد ها اذیت نشید اینکه تلگرام در نسخه ویندوز رو لبتابتون نصب کنید و در رسبری تلگرام تحت وب رو با مرور گر برای شماره موبایلتون ایجاد کنید و یه کانال مثلا به اسم rasp ftp درست کنید و حالا این کد هارو در ویندوز و لبتاب تو کانال بفرستید و از اون طرف تو تلگرام تحت وب رسبری پای کد هارو در کانال کپی کنید و در ترمینال پیست و اجرا کنید

حال پس از این که کد زیر را کپی کردیم و در فایل باز شده پیست کردیم(با روش تلگرامی که در بالا گفتم می توانید،ابتدا  ctrl+x را میزنیم و سپس y  را زده و در نهایت اینتر میزنیم سپس باید کد را کامپایل و بعد اجرا کنیم :

برای کامپایل کد،کد زیر را در ترمینال تایپ کنید و اینتر کنید :

و برای اجرای کد،کد زیر را در ترمینال تایپ کنید و اینتر بزنید :

مشاهده می کنید که led مثل شده به gpio16 شروع به چشمک زدن خواهد کرد…

موفق و سربلند باشید…

 

 

mehdi sehati

در این سایت پروژه و آموزش های انواع ماژول ها و میکروکنترلر ها و نحوه ارتباط سخت افزار با نرم افزار (برنامه نویسی اندروید برای گوشی و برنامه نویسی سی شارپ برای کامپیوتر) و برنامه نویسی پایتون و رسبری پای و ماژول های وای فای قرار میگیرد همچنین دوستان برای توضیحات بیشتر و سفارش پروژه میتوانند به آی دی تلگرام بنده مراجعه کنند

مطالب مرتبط

Subscribe
Notify of
guest

0 نظرات
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x