فهرست مطالب:

شاخص دما RGB (با XinaBox): 5 مرحله (همراه با تصاویر)
شاخص دما RGB (با XinaBox): 5 مرحله (همراه با تصاویر)

تصویری: شاخص دما RGB (با XinaBox): 5 مرحله (همراه با تصاویر)

تصویری: شاخص دما RGB (با XinaBox): 5 مرحله (همراه با تصاویر)
تصویری: RGB Fusion / آموزش تغییر رنگ و افکت های قطعات سیستم با نرم افزار 2024, نوامبر
Anonim
نشانگر دما RGB (با XinaBox)
نشانگر دما RGB (با XinaBox)

این رسماً اولین مقاله Instructables من است ، بنابراین می خواهم اعتراف کنم که در حال حاضر از این فرصت برای امتحان کردن آن استفاده می کنم. از نحوه عملکرد این پلتفرم ، و کل تجربه کاربر ، احساس کنید. اما در حالی که این کار را انجام می دهم ، متوجه شدم که می توانم از این فرصت برای به اشتراک گذاشتن یک پروژه ساده که امروز روی آن کار می کردم (با استفاده از محصولات XinaBox ، که به هر حال ، به عنوان "X-in-a-" تلفظ می شود ، استفاده کنم. جعبه ").

در این دستورالعمل ساده 5 مرحله ای ، مباحث زیر را پوشش خواهم داد:

  • اجزای مورد نیاز
  • اتصال xChips مختلف به یکدیگر.
  • راه اندازی محیط Arduino IDE
  • نوشتن کد
  • و در نهایت ، آزمایش ایده

آنچه در این دستورالعمل به اشتراک نمی گذارم:

  • من به همان اندازه که دوست دارم توضیح دهم که هریک از آن xChip ها چه کارهایی می توانند انجام دهند و چگونه می توانید آنها را برای انجام برخی از عملکردها دستکاری کنید ، این هدف این دستورالعمل نخواهد بود. من قصد دارم در آینده ای نزدیک دستورالعمل های دیگری را منتشر کنم که در هریک از xChip های مختلف موجود از طریق کاتالوگ محصولات XinaBox قرار می گیرد.
  • من اصول اولیه کد Arduino را وارد نمی کنم ، زیرا تصور می کنم که شما قبلاً تجربه ای در استفاده از Arduino IDE و همچنین درک سطح اولیه برنامه نویسی C/C ++ دارید.

مرحله 1: آنچه شما نیاز دارید…

آنچه شما نیاز دارید…
آنچه شما نیاز دارید…
آنچه شما نیاز دارید…
آنچه شما نیاز دارید…
آنچه شما نیاز دارید…
آنچه شما نیاز دارید…

از نظر فنی ، اکثر آموزش های اولیه محصول معمولاً با "سلام جهان!" به عنوان مثال ، یا حتی یک مثال "پلک زدن" ، که ممکن است قبلاً با آن آشنایی کامل داشته باشید زیرا در مقطعی با Arduino یا Raspberry Pi کار کرده اید. اما من نمی خواهم با این کار شروع کنم زیرا همه در حال انجام یک کار هستند ، که باعث می شود واقعاً کمی خسته کننده باشد.

در عوض ، من می خواستم با یک ایده عملی پروژه شروع کنم. چیزی که هم به اندازه کافی ساده باشد و هم در صورت تمایل به یک پروژه پیچیده تر مقیاس پذیر تبدیل شود.

در اینجا مواردی است که ما نیاز داریم (به عکس های ارائه شده در این بخش از دستورالعمل مراجعه کنید):

  1. IP02 - رابط برنامه نویسی USB پیشرفته
  2. CC03 - Arm Cortex M0+ Core
  3. SW02 - VOC و سنسور آب و هوا (که از سنسور BME680 توسط BOSCH استفاده می کند)
  4. اتصالات xBUS - برای فعال کردن ارتباطات I2C بین xChips مختلف (x2)
  5. اتصال xPDI - برای فعال کردن برنامه نویسی و اشکال زدایی (x1)

مرحله 2: اتصال قطعات

اتصال قطعات
اتصال قطعات
اتصال قطعات
اتصال قطعات
اتصال قطعات
اتصال قطعات

برای اتصال همه قطعات به یکدیگر ، ابتدا با 1 قطعه اتصال xBUS و اتصال xPDI شروع می کنیم.

به دنبال تصاویری که ارائه کرده ام ، به جهت گیری xChips و محل اتصال کانکتورها توجه کنید.

بین IP02 و CC03 xChips ، تشخیص نقاط اتصال بسیار آسان است.

برای CC03 ، ضلع جنوبی خواهد بود. برای IP02 ، قسمت شمالی xChip خواهد بود.

پس از انجام این کار ، یک کانکتور xBUS دیگر به ضلع غربی CC03 xChip اضافه می کنیم.

انجام شده؟

اکنون ، فقط SW02 xChip را به سمت غربی CC03 وصل کنید.

قبل از وارد کردن IP02 به لپ تاپ ، مطمئن شوید که گزینه های زیر برای دو سوئیچ انتخاب شده است:

  • B انتخاب شده است (سوئیچ سمت چپ)
  • DCE انتخاب شده است (سوئیچ سمت راست)

در نهایت ، ما اکنون آماده ایم که IP02 را در لپ تاپ خود وارد کرده و راه اندازی Arduino IDE را آغاز کنیم.

مرحله 3: راه اندازی Arduino IDE

راه اندازی Arduino IDE
راه اندازی Arduino IDE
راه اندازی Arduino IDE
راه اندازی Arduino IDE

دوباره ، در این دستورالعمل ، من این فرض را داشتم که شما قبلاً با محیط Arduino IDE و همچنین نحوه مدیریت کتابخانه ها در محیط توسعه آشنا هستید.

به منظور انجام این پروژه ، ما به دو کتابخانه اصلی نیاز داریم:

  • arduino-CORE-https://github.com/xinabox/arduino-CORE
  • کتابخانه SW02 -

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

سپس ، Arduino IDE خود را راه اندازی کنید.

از منوی اصلی ، "Sketch"> "Include Library"> "Add. ZIP Library …" را انتخاب کنید.

همین روند را برای هر دو فایل کتابخانه تکرار کنید.

در مرحله بعد ، ما باید "Board" و همچنین "Port" مربوطه را انتخاب کنیم. (توجه داشته باشید که من نیز انتخاب های لازم را با استفاده از یک جعبه نارنجی برجسته کرده ام.

  • برد: "Arduino/Genuino Zero (پورت USB بومی)"
  • پورت: "COMXX" (این باید مطابق پورت COM باشد که روی دستگاه شما منعکس می شود. مال من از COM31 استفاده می کند)

بسیار خوب! من می دانم که شما مشتاق بوده اید که وارد برنامه نویسی شوید ، بنابراین در مرحله بعد ، این چیزی است که ما روی آن تمرکز خواهیم کرد.

مرحله 4: زمان کدگذاری

در این بخش ، من با به اشتراک گذاشتن قطعات کد از کد پروژه تکمیل شده شروع می کنم. و در پایان ، من منبع کامل را منتشر می کنم و به راحتی می توانید کد را در فایل منبع Arduino IDE خود کپی و جایگذاری کنید.

فایل های سرصفحه:

#include /* این کتابخانه برای عملکردهای اصلی XinaBox است. */

#include /* این کتابخانه برای VOC & Weather Sensor xChip است. */

تعریف برخی از ثابت ها برای کنترل سیگنال های رهبری RGB:

#تعریف قرمزLedPin A4

#تعریف سبزLedPin 8 #آبی را تعریف کنیدLedPin 9

در مرحله بعد ، ما باید یک نمونه اولیه تابع را برای عبور مقادیر RGB اعلام کنیم

void setRGBColor (int redValue ، int greenValue ، int blueValue) ؛

اعلان شی SW02:

xSW02 SW02 ؛

روش setup ():

void setup () {

// راه اندازی I2C Communication Wire.begin ()؛ // SW02 Sensor SW02.begin () را راه اندازی کنید؛ // تأخیر برای عادی سازی تاخیر سنسور (5000) ؛ }

حالا برای حلقه اصلی ():

حلقه خالی () {

float tempC؛ }

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

// خواندن و محاسبه داده ها از SW02 sensorSW02.poll ()؛

اکنون ، ما در حال خواندن هستیم تا دمای سنسور را بخوانیم

tempC = SW02.getTempC ()؛

وقتی قرائت را انجام دادیم ، آخرین کاری که می خواهیم انجام دهیم این است که از مجموعه ای از دستورات if… else… کنترل برای تعیین محدوده دما استفاده کنیم و سپس تابع setRGBColor () را فراخوانی کنیم

// می توانید محدوده دما را با توجه به آب و هوای خود تنظیم کنید. برای من ، من در سنگاپور زندگی می کنم ،

// که در تمام طول سال گرمسیری است و محدوده دما می تواند در اینجا بسیار محدود باشد. if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255 ، 0 ، 0) ؛ }

توجه: اگر علاقه دارید بدانید مقادیر RGB مربوط به یک رنگ خاص چیست ، توصیه می کنم "مقادیر رنگ RGB" را در Google جستجو کنید. سایتهای زیادی وجود دارد که می توانید از انتخاب کننده رنگ برای انتخاب رنگ مورد نظر خود استفاده کنید

// اگر دوست دارید و اختیاری است ، می توانید بین نظرسنجی برای خواندن سنسور تأخیر ایجاد کنید.

تأخیر (DELAY_TIME) ؛

مطمئناً می توانید ثابت DELAY_TIME را در ابتدای برنامه اعلام کنید ، به این ترتیب ، فقط باید مقدار آن را یکبار به جای چندین مکان در طول برنامه خود تغییر دهید. در نهایت ، ما برای کنترل LED RGB خود به تابع نیاز داریم:

void setRGBColor (int redValue ، int greenValue ، int blueValue) {

analogWrite (redLedPin ، redValue) ؛ analogWrite (greenLedPin ، greenValue) ؛ analogWrite (blueLedPin ، blueValue) ؛ }

برنامه نهایی

#عبارتند از

#شامل #تعریف قرمز LedPin A4 #تعریف سبز LedPin 8 #تعریف آبی LedPin 9 void setRGBColor (int redValue ، int greenValue ، int blueValue) ؛ const int DELAY_TIME = 1000 ؛ xSW02 SW02 ؛ void setup () {// راه اندازی I2C Communication Wire.begin ()؛ // SW02 Sensor SW02.begin () را راه اندازی کنید؛ // تأخیر برای عادی سازی تاخیر سنسور (5000) ؛ } void loop () {// ایجاد یک متغیر برای ذخیره داده های خوانده شده از SW02 float tempC ؛ tempC = 0؛ // خواندن و محاسبه داده ها از سنسور SW02 SW02.poll ()؛ // برای دریافت اندازه گیری دما و ذخیره در متغیر // temperatue tempC = SW02.getTempC () ، SW02 را درخواست کنید. if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255 ، 0 ، 0) ؛ } // تأخیر کوچک بین تأخیر خواندن سنسور (DELAY_TIME) ؛ } void setRGBColor (int redValue ، int greenValue ، int blueValue) {analogWrite (redLedPin ، redValue) ؛ analogWrite (greenLedPin ، greenValue) ؛ analogWrite (blueLedPin ، blueValue) ؛ }

حالا که برنامه ما آماده است ، بیایید xChip را برنامه ریزی کنیم! فرایند بارگذاری دقیقاً مشابه نحوه بارگذاری برنامه بر روی بردهای آردوینو است.

پس از اتمام کار ، چرا آن را جدا نکنید و آن را برای آزمایش بیاورید.

توصیه شده: