در پست قبلی آموزش و راه اندازی نود رد Node Red را توضیح دادم از جمله راه اندازی نرم افزار و کار با محیط Node Red. حال در این پست طریقهی تعریف پینهای GPIO در برد رزبری پای Raspberry Pi و همچنین مقداردهی آنها را مورد بررسی و آموزش قرار دهیم، در ادامه با وب سایت مرجع تخصصی آموزش الکترونیک و رباتیک، دیجی اسپارک همراه باشید.
در درجه ی اول ترتیب و شمارهی پینهای GPIO روی برد رزبری پای Raspberry Pi مهم میباشد، که میتوانید آنها را از عکس زیر مشاهده کنید، در رزبری پای (رسپبری) ۳ Raspberry Pi چهل پین داریم که ۲۱ پین آن پینهای GPIO هستند که میتوانید با آین آموزش آنها را به نوع دلخواه تعریف کرده و مقدار دهی کنید.
قبل از آن نیاز است که با مفهوم نودها Node در نرم افزا نود رد Node Red آشنا شویم، در قسمتهای قبلی هم توضیح دادیم که نرم افزار Node Red به صورت بصری به برنامه نویسی در برد رزبری پای Raspberry Pi میپردازد، به این صورت که شما نیاز دارید تعدادی نود Node را در کنار هم قرار دهید و با اتصال آنها به یکدیگر برنامه و دستورات خود را اجرا کنید، تمام اجزا و آیکونهایی که در سمت چپ (در صفحه باز شده در مرورگر) میبینید نود Node نام دارند و ما قرار است تمام برنامهها را با کنار هم چیدن و ایجاد ارتباطات درست بین آنها ایجاد کنیم.
یکی از اولین نودهایی Node که مورد بررسی قرار میدهیم نودی است که یک خروجی را به یکی از پینهای GPIO طبق تعریف ما میدهد.
با کشیدن آن پین در وسط محیط برنامه Node Red در حقیقت شما آن نود Node را وارد برنامه کردهاید، سپس با دبل کلیک روی آن صفحه مشخصات آن باز میشود، در منوی کشویی اول میتوانید پین GPIO مورد نظر خود را انتخاب کنید، هم شمارهی پین و هم شمارهی GPIO برای راحتی شما در آن ثبت شده است.
تعیین نوع پین GPIO در نرم افزار Node Red
در منوی کشویی زیر دو حالت برای انتخاب آن دارید، حالت اول digital mode و حالت دوم PWM mode که میتوانیم نوع پین را مشخص کنیم، در حالت اول شما فقط دو حالت صفر و یک را میتوانید به پین مقداردهی کنید که نماینده صفر و یک منطقی هستند در خروجی، در حالت دوم میتوانید بین اعداد صفر تا صد را برای پین مورد نظر مقدار دهی کنید. (در تصویر پین به صورت Digital تعریف شده است)
وقتی که digital output را انتخاب میکنید، میتوانید مقدار دهی اولیه به آن داشته باشید، که بعد از زدن تیک initialize pin state از منوی کشویی که ظاهر شده میتوانید آن را تعیین کنید.
inject node
حال به سراغ مقداردهی به پین تعریف شده میرویم، از منوی سمت چپ نود inject را انتخاب کنید و آنرا به محیط برنامه بکشید، حال دوباره با دبل کلیک کردن روی آن میتوانیم به صفحه تنظیمات برویم،
در جلوی باکس playload یک منوی کشویی است، آن را باز کنید و number را انتخاب کنید، سپس در مقابل آن عدد مورد نظر خود را میتوانید وارد کنید (توجه داشته باشید که اگر پین خود را دیجیتال تعریف کرده باشید فقط صفر و یک را میگیرد و اگر PWM تعریف شده باشد بین صفر تا صد را میپذیرد) حال عدد مورد نظر را وارد کنید. همچنین در قسمت تاپیک میتوانید عنوانی برای نود Node خود انتخاب کنید. (در مثال دو عدد پین با مقدارهای صفر و یک تعیین شده است)
حال با اتصال نود Node مقدار دهی به پین تعریف شده میتوانید مقدار مورد نظر خود را به پین انتقال دهید، برای اتصال میتوانید از مربعهای کوچک کنار نودها Node استفاده کنید (البته این کار را بعد از DEPLOY هم میتوانید انجام دهید) و با Drag and Drop آنها را به یکدیگر متصل کنید.
Deploy
پس از اتصال دکمه قرمزرنگ Deploy را بفشارید تا برنامه کامپایل شده و اجرا شود.
حال برای اعمال عدد مورد نظر به پین از مربع بزرگ سمت چپ نود inject میتوانید کمک بگیرید و با فشردن آن مربع عدد مورد نظر شما به پین مورد نظر منتقل میشود و شما میتوانید با تعدادی از نودهای inject مقدار آن پین را تغییر دهید و آن را کنترل کنید. (در زیر نود پین کنار مربع سبز زنگ میتوانید حالت کنونی پین را مشاهده کنید)