Агуулгын хүснэгт:

RGB температурын үзүүлэлт (XinaBox -той хамт): 5 алхам (зурагтай)
RGB температурын үзүүлэлт (XinaBox -той хамт): 5 алхам (зурагтай)

Видео: RGB температурын үзүүлэлт (XinaBox -той хамт): 5 алхам (зурагтай)

Видео: RGB температурын үзүүлэлт (XinaBox -той хамт): 5 алхам (зурагтай)
Видео: Изучите блок ТВ-части 2024, Арваннэгдүгээр
Anonim
RGB температурын үзүүлэлт (XinaBox -той хамт)
RGB температурын үзүүлэлт (XinaBox -той хамт)

Энэ бол албан ёсоор миний анхны зааварчилгааны нийтлэл тул би энэ боломжийг яг одоо ашиглаж байгаа гэдгээ хүлээн зөвшөөрч байна. Платформ хэрхэн ажилладаг, хэрэглэгчийн туршлагын бүх талыг олж мэдээрэй. Гэхдээ үүнийг хийж байхдаа би өнөөдөр ажиллаж байсан энгийн төслийнхөө талаар хуваалцах боломжийг ашиглаж болно гэж бодож байна (XinaBox-ийн бүтээгдэхүүнийг ашиглан "X-in-a-" гэж дууддаг). Хайрцаг").

Энэхүү энгийн 5 алхамтай зааварчилгаанд би дараах сэдвүүдийг хөндөх болно.

  • Шаардлагатай бүрэлдэхүүн хэсгүүд
  • Төрөл бүрийн xChips -ийг хооронд нь холбох.
  • Arduino IDE орчныг тохируулах.
  • Кодыг бичиж байна
  • Эцэст нь санаагаа туршиж үзээрэй

Энэхүү зааварчилгааны хүрээнд би юу хуваалцахгүй вэ:

  • Эдгээр xChips тус бүр юу хийж чадах, мөн тодорхой функцуудыг гүйцэтгэхийн тулд тэдгээрийг хэрхэн яаж зохицуулах талаар тайлбарлахын тулд би шумбах дуртай байсан ч энэ нь зааварчилгааны зорилго биш юм. Би ойрын ирээдүйд XinaBox -ийн бүтээгдэхүүний каталогоос авах боломжтой өөр өөр xChips -ийг судлах бусад зааврыг нийтлэхээр төлөвлөж байна.
  • Та Arduino IDE -ийг ашиглах талаар бага зэрэг туршлагатай, C/C ++ програмчлалын талаар анхан шатны мэдлэгтэй болсон гэж бодож байгаа тул би Arduino кодын үндсийг судлахгүй.

Алхам 1: Танд хэрэгтэй зүйл…

Чамд юу хэрэгтэй вэ…
Чамд юу хэрэгтэй вэ…
Чамд юу хэрэгтэй вэ…
Чамд юу хэрэгтэй вэ…
Чамд юу хэрэгтэй вэ…
Чамд юу хэрэгтэй вэ…

Техникийн хувьд ихэнх бүтээгдэхүүний үндсэн хичээлүүд ихэвчлэн "Hello World!" Гэж эхэлдэг. жишээ нь, эсвэл бүр "анивчих" жишээ, та хэзээ нэгэн цагт Arduino эсвэл Raspberry Pi -тэй ажиллаж байсан болохоор танил болсон байж магадгүй юм. Гэхдээ би үүнээс эхлэхийг хүсэхгүй байна, учир нь бүгд ижил зүйлийг хийж байгаа нь үнэхээр уйтгартай болгодог.

Үүний оронд би практик төслийн санаагаар эхлэхийг хүссэн юм. Хэрэв та хүсвэл илүү энгийн бөгөөд илүү төвөгтэй төслийн санааг өргөжүүлэх боломжтой.

Энд бидэнд хэрэгтэй байгаа зүйлүүд байна (Зааварчилгааны энэ хэсэгт өгсөн зургуудыг үзнэ үү):

  1. IP02 - USB програмчлалын дэвшилтэт интерфэйс
  2. CC03 - Arm Cortex M0+ Core
  3. SW02 - VOC ба Цаг агаарын мэдрэгч (BOSCH -ийн BME680 мэдрэгчийг ашигладаг)
  4. xBUS холбогч - өөр xChips (x2) хооронд I2C холболтыг идэвхжүүлэх.
  5. xPDI холбогч - програмчлах, дибаг хийхийг идэвхжүүлэх (x1)

Алхам 2: хэсгүүдийг холбох

Хэсэг хэсгүүдийг холбох
Хэсэг хэсгүүдийг холбох
Хэсэг хэсгүүдийг холбох
Хэсэг хэсгүүдийг холбох
Хэсэг хэсгүүдийг холбох
Хэсэг хэсгүүдийг холбох

Бүх хэсгүүдийг хооронд нь холбохын тулд бид эхлээд xBUS холбогч болон xPDI холбогчоос 1 хэсгийг эхлүүлэх болно.

Миний өгсөн зургуудын дараа xChips -ийн чиглэл, холбогч хаашаа явахыг анхаарч үзээрэй.

IP02 ба CC03 xChips -ийн хооронд холбох цэгүүдийг тодорхойлоход маш хялбар байдаг.

CC03 -ийн хувьд энэ нь урд тал байх болно. IP02 -ийн хувьд энэ нь xChip -ийн хойд тал байх болно.

Үүнийг хийсний дараа бид CC03 xChip -ийн баруун талд өөр xBUS холбогч нэмж оруулах болно.

Дууссан уу?

Одоо 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 -ээ ажиллуулна уу.

Үндсэн цэснээс "Ноорог"> "Номын санг оруулах"> ". ZIP номын сан нэмэх …" -ийг сонгоно уу.

Номын сангийн хоёр файлын хувьд ижил үйлдлийг давтана.

Дараа нь бид холбогдох "Удирдах зөвлөл" болон "Порт" -ыг сонгох хэрэгтэй болно. (Би улбар шар өнгийн хайрцгийг ашиглан шаардлагатай сонголтуудыг тодруулсан болохыг анхаарна уу.

  • Удирдах зөвлөл: "Arduino/Genuino Zero (уугуул USB порт)"
  • Порт: "COMXX" (энэ нь таны машин дээр тусгагдсан COM портын дагуу байх ёстой. Минийх COM31 ашиглаж байна)

Зүгээр дээ! Та кодчилол руу орохыг маш их хүсч байсан гэдгийг би мэдэж байна, тиймээс дараагийн алхам дээр бид үүнд анхаарлаа хандуулах болно.

Алхам 4: Кодлох цаг

Энэ хэсэгт би дууссан төслийн кодоос кодын хэсгүүдийг хуваалцахаас эхлэх болно. Эцэст нь би бүрэн эх сурвалжийг нийтлэх болно, ингэснээр кодыг Arduino IDE эх файлдаа хуулж, буулгахад хялбар болно.

Толгой файлууд:

#include /* Энэ бол XinaBox -ийн үндсэн функцүүдийн номын сан юм. */

#include /* Энэ бол VOC & Weather Sensor xChip -ийн номын сан юм. */

RGB Led дохиог хянах зарим тогтмолуудыг тодорхойлох:

#redLedPin A4 -ийг тодорхойлох

#ногоонLedPin 8 тодорхойлох #blueLedPin 9

Дараа нь бид RGB утгыг дамжуулах функцын прототипийг зарлах хэрэгтэй

void setRGBColor (int redValue, int greenValue, int blueValue);

SW02 объектыг зарлаж байна:

xSW02 SW02;

Setup () арга:

хүчингүй тохиргоо () {

// I2C Communication Wire -ийг эхлүүлэх.begin (); // SW02 мэдрэгчийг эхлүүлэх SW02.begin (); // Саатлыг хэвийн болгохын тулд мэдрэгчийн саатал (5000); }

Одоо үндсэн давталтын хувьд ():

void loop () {

хөвөх температурC; }

Дараа нь бид мэдрэгчийн чиптэй холбоо тогтоохын тулд програмын өмнө үүсгэсэн SW02 объектыг ашиглан санал асуулга явуулах шаардлагатай болно

// SW02 sensorSW02.poll () -ээс өгөгдлийг уншиж, тооцоолох;

Одоо бид мэдрэгчийн температурын заалтыг авахын тулд уншиж байна

tempC = SW02.getTempC ();

Уншсаны дараа бидний хийх хамгийн сүүлийн зүйл бол температурын хязгаарыг тодорхойлохын тулд хэрэв… өөр… хяналтын мэдэгдлийг ашиглаж, дараа нь setRGBColor () функцийг дуудах явдал юм

// Та уур амьсгалынхаа дагуу температурын хязгаарыг тохируулж болно. Миний хувьд Сингапурт амьдардаг, // жилийн турш халуун байдаг бөгөөд энд температурын хүрээ нэлээд нарийсч болно. if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }

Тэмдэглэл: Хэрэв та тодорхой өнгөт хамааралтай RGB утгууд юу болохыг мэдэхийг хүсч байвал google -ээс "RGB өнгөний утга" гэсэн хайлт хийхийг зөвлөж байна. Өнгө сонгогч ашиглан хүссэн өнгө сонгох боломжтой олон сайтууд байдаг

// Хэрэв та хүсэж байгаа бөгөөд энэ нь заавал биш бол та мөн мэдрэгчийн уншилтын хоорондох санал асуулгын хоцролтыг нэмж болно.

саатал (DELAY_TIME);

Мэдээжийн хэрэг та програмын эхэнд DELAY_TIME тогтмолыг зарлаж болох бөгөөд ингэснээр та програмынхаа туршид олон газарт биш харин зөвхөн нэг удаа өөрчлөх хэрэгтэй болно. Эцэст нь RGB LED -ээ хянах функц бидэнд хэрэгтэй байна

хүчингүй setRGBColor (int redValue, int greenValue, int blueValue) {

analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }

Эцсийн хөтөлбөр

#оруулах

#include #define redLedPin A4 #define greenLedPin 8 #deleine blueLedPin 9 void setRGBColor (int redValue, int greenValue, int blueValue); const int DELAY_TIME = 1000; xSW02 SW02; void setup () {// I2C Communication Wire -ийг эхлүүлэх.begin (); // SW02 мэдрэгчийг эхлүүлэх SW02.begin (); // Саатлыг хэвийн болгохын тулд мэдрэгчийн саатал (5000); } void loop () {// SW02 float tempC -ээс уншсан өгөгдлийг хадгалах хувьсагч үүсгэх; tempC = 0; // SW02 мэдрэгч SW02.poll () -ээс өгөгдлийг уншиж, тооцоолох; // Температурын хэмжигдэхүүнийг авахын тулд SW02 -аас хүсэлтээ // temperatue хувьсах tempC = SW02.getTempC () -д хадгалах; 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 програмчилцгаая! Байршуулах процесс нь Arduino самбар дээрээ програмыг хэрхэн яаж байршуулахтай яг ижил юм.

Дууссаныхаа дараа үүнийг салгаад туршилтын горимд гаргаж ирэхэд яагаад болохгүй гэж.

Зөвлөмж болгож буй: