کاربرد Pi در استفاده و کنترل ال‌ای‌دی
آشنایی و کار با رزبری پای - بخش سی و چهارم
یکی از قابلیت‌های Pi کاربرد آن در پروژه‌های الکترونیکی است. شاید قبلاً از Arduino به‌عنوان یک میکروکنترلر استفاده کرده باشید. Pi به دلیل پردازنده و حافظه توسعه‌یافته قابلیت‌های بیش‌تری نسبت به Arduino فراهم ساخته است.

shabake-mag.jpg

این مطلب یکی از مقالات ویژه‌نامه «رزبری پای» ماهنامه شبکه است. برای دانلود کل این ویژه‌نامه به اینجا مراجعه کنید. 

Raspberry Pi به‌علت داشتن یک PWM (سرنام  Pulse Width Modulation) پین خروجی و تعدادی پین‌های ورودی/ خروجی همه‌منظوره، می‌تواند در کنترل سخت‌افزارهای الکترونیکی مانند زنگ اخبار، چراغ‌ها و کلیدها مورد استفاده قرار گیرد. با استفاده از مراحلی که در ادامه شرح داده می‌شود، قادر خواهید بود ال‌ای‌دی‌ها را با استفاده از Pi کنترل کنید. قبل از این‌که کدنویسی را شروع کنید، به ساختار و نحوه قرار گرفتن پین‌ها روی Pi نگاهی بیاندازید. بسته به این‌که چه زمانی Pi را خریداری کرده‌اید، ممکن است از نسخه 1 یا 2 استفاده کنید. نحوه قرار گرفتن پین‌های ورودی/ خروجی همه‌منظوره در این دو نسخه کمی متفاوت است. در این‌جا با نسخه 1 کار خواهیم کرد.
 

اگر به گوشه سمت چپ بالای تابلو نگاه کنید، یک برچسب سفید رنگ به نام ‘P1’ مشاهده می‌کنید. پین 1 در این قسمت قرار دارد و بالای آن نیز پین 2 است. این الگو ادامه دارد تا به پین 26 برسید.

پین 1 ولتاژ 3.3 ولت دارد و پین اصلی برای تأمین برق ال‌ای‌دی است. پین‌های 2 و 4 ولتاژ 5 ولت و پین‌های 6، 9، 14، 20 و 25 پین‌های اتصال به زمین دارند.

سایر پین‌های روی تابلو، پین‌های ورودی/ خروجی همه‌منظوره (GPIO) هستند که در پروژه‌های پیچیده‌تر استفاده می‌شوند. 

حال بردبورد، دو سیم، یک مقاومت 270 اهم و یک ال‌ای‌دی بردارید. اگر دقت کنید، یکی از پایه‌های ال‌ای‌دی اندکی خمیدگی دارد. این پایه را در نظر داشته باشید؛ زیرا در مراحل بعدی مهم است. مطمئن شوید که Pi به برق وصل نباشد.

یک پایه سیم را به پین شماره 1 روی Pi و پایه دیگر را به بردبورد وصل کنید. مهم نیست سیم را به کدام قسمت از بردبورد وصل کنید، فقط دقت کنید جایی که وصل کردید در اطراف آن شکاف‌های کافی برای ال‌ای‌دی‌ها وجود داشته باشد.

سر ماده‌ سیم را به پین 6 و سر دیگر را به بردبورد وصل کنید. دقت کنید که باید فضای کافی برای مقاومت خود در نظر بگیرید. نکته مهمی که باید به آن توجه کنید این است که تحت هیچ شرایطی مقدار مقاومتی که انتخاب می‌کنید، کم‌تر از مقدار مقاومت ال‌ای‌دی نباشد. 

حال یک سر مقاومت را نزدیک سیم متصل شده به زمین و سر دیگر را به یک شکاف زیر سیم 3.3 ولت وصل کنید. 

ال‌ای‌دی را بردارید. پایه‌ خم‌ شده را کنار سیم 3/3 ولت و پایه دیگر را کنار مقاومت (رو‌به‌روی سیم متصل به زمین) وصل کنید.

USB را به برق، لپ‌تاپ یا کامپیوتر وصل کنید تا روشن شود. به محض وصل شدن به برق، ال‌ای‌دی باید روشن شود.

این ال‌ای‌دی را از طریق کدنویسی کنترل کنید. پیش از آغاز، به‌روز بودن همه برنامه‌ها را با استفاده از دستور sudo apt-get dist-upgrade چک کنید. برای کنترل ال‌ای‌دی باید به ریشه دسترسی داشته باشید، پس در پایانه دستور su را وارد ‌کنید. اگر نمی‌خواهید از این دستور استفاده کنید، باید به‌خاطر داشته باشید که قبل از نوشتن هر دستوری کلمه ‘sudo’ را اضافه کنید. یک کتاب‌خانه بسیار مفید به‌نام GPIO پایتون وجود دارد که کار با پین‌های GPIO را بسیار راحت می‌کند. با استفاده از دستور زیر، این کتاب‌خانه را دریافت کنید و فایل‌های آن را از حالت فشرده خارج سازید. 

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

ابتدا یک قطعه کد پایتون بنویسید و کتاب‌خانه را در آن وارد کنید و درون یک بلاک try-except قرار دهید تا مطمئن شوید همه‌چیز به‌درستی انجام می‌شود. برای اطمینان از درست بودن کد، دستور sudo python gpio.py را وارد کنید.

gpio.py نام کدی است که نوشتید. دوباره کد را در Nano باز و حالت ورودی/ خروجی به تابلو را تنظیم کنید. 

برای این‌که یک پین به‌درستی کار خود را انجام دهد، باید مشخص شود که از نوع ورودی است یا خروجی. این کار در کتاب‌خانه GPIO از طریق فراخوانی تابع GPIO.setup انجام می‌شود. شماره پین را به این تابع ارسال ‌و یکی از دو حالت GPIO.OUT یا GPIO.IN را برای آن تعریف ‌کنید. به دلیل این‌که قرار است در این پروژه از ال‌ای‌دی استفاده کنید، پین از نوع خروجی است. 

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

برای این‌که به ال‌ای‌دی یک تایمر اضافه کنید تا به‌تدریج محو شود، باید کتاب‌خانه time را به برنامه اضافه و پین 12 را تنظیم کنید که فرکانس 50 هرتز دارد.

حال با استفاده از یک بلاک try-except، میزان برق ال‌ای‌دی را اندازه‌ بگیرید و اگر به یک سطح مشخص رسید، فرایند معکوس شود. برای این‌ کار ابتدا برنامه را ذخیره کنید و ببندید و مجدد آن را باز کنید و کد زیر را بنویسید.

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

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

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

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟