Satura rādītājs:

RGB temperatūras indikators (ar XinaBox): 5 soļi (ar attēliem)
RGB temperatūras indikators (ar XinaBox): 5 soļi (ar attēliem)

Video: RGB temperatūras indikators (ar XinaBox): 5 soļi (ar attēliem)

Video: RGB temperatūras indikators (ar XinaBox): 5 soļi (ar attēliem)
Video: 40 полезных автотоваров с Aliexpress, которые упростят жизнь любому автовладельцу #7 2024, Jūlijs
Anonim
RGB temperatūras indikators (ar XinaBox)
RGB temperatūras indikators (ar XinaBox)

Šis ir oficiāli mans pirmais Instructables raksts, tāpēc es atzīšos, ka šobrīd izmantoju šo iespēju, lai to izmēģinātu. Uzziniet, kā darbojas platforma, visa lietotāja pieredzes puse. Bet, kamēr es to daru, es sapratu, ka varu arī izmantot iespēju pastāstīt par vienkāršu projektu, pie kura esmu strādājis šodien (izmantojot XinaBox produktus, kas, starp citu, tiek izrunāti kā "X-in-a- Kaste ").

Šajā vienkāršajā 5 soļu pamācībā es apskatīšu šādas tēmas:

  • Nepieciešamās sastāvdaļas
  • Dažādu xChips savienošana kopā.
  • Arduino IDE vides iestatīšana.
  • Koda rakstīšana
  • Un visbeidzot, pārbaudot ideju

Ko es nedalīšos šajā pamācībā:

  • Lai cik man patīk ienirt, lai izskaidrotu, ko katrs no šiem xChips var darīt un kā jūs varat ar tām manipulēt, lai veiktu noteiktas funkcijas, tas nebūtu šīs pamācības mērķis. Es plānoju tuvākajā laikā publicēt citus Instructables, kas iegremdēsies katrā no dažādiem xChips, kas ir pieejami, izmantojot XinaBox produktu katalogu.
  • Es neiedziļināšos Arduino koda pamatos, jo pieņemu, ka jums jau ir zināma pieredze ar Arduino IDE lietošanu, kā arī pamata līmeņa izpratne par C/C ++ programmēšanu.

1. darbība. Kas jums nepieciešams…

Ko tev vajag…
Ko tev vajag…
Ko tev vajag…
Ko tev vajag…
Ko tev vajag…
Ko tev vajag…

Tehniski lielākā daļa pamata produktu pamācību parasti sākas ar "Hello World!" piemērs vai pat “mirgojošs” piemērs, kas jums varētu būt jau ļoti labi pazīstams, jo kādā brīdī esat strādājis ar Arduino vai Raspberry Pi. Bet es nevēlos sākt ar to, jo visi jau dara vienu un to pašu, kas padara to mazliet garlaicīgu.

Tā vietā es gribēju sākt ar praktisku projekta ideju. Kaut kas ir pietiekami vienkāršs un mērogojams sarežģītākā projekta idejā, ja vēlaties.

Šeit ir preces, kas mums būs vajadzīgas (skatiet šajā instrukcijas sadaļā sniegtos fotoattēlus):

  1. IP02 - uzlabota USB programmēšanas saskarne
  2. CC03 - Arm Cortex M0+ Core
  3. SW02 - GOS un laika apstākļu sensors (kas izmanto BOSCH BME680 sensoru)
  4. xBUS savienotāji - lai iespējotu I2C sakarus starp dažādiem xChips (x2)
  5. xPDI savienotājs - lai iespējotu programmēšanu un atkļūdošanu (x1)

2. darbība: gabalu savienošana

Gabalu savienošana
Gabalu savienošana
Gabalu savienošana
Gabalu savienošana
Gabalu savienošana
Gabalu savienošana

Lai savienotu visus gabalus kopā, vispirms sāksim ar 1 xBUS savienotāja un xPDI savienotāja gabalu.

Sekojot manis sniegtajiem attēliem, ievērojiet xChips orientāciju un vietu, kur tiks novietoti savienotāji.

Starp IP02 un CC03 xChips ir diezgan viegli noteikt savienojuma punktus.

CC03 tā būs dienvidu puse. IP02 gadījumā tā būs xChip ziemeļu puse.

Kad tas ir izdarīts, mēs CC03 xChip rietumu pusē pievienosim vēl vienu xBUS savienotāju.

Gatavs?

Tagad vienkārši savienojiet SW02 xChip ar CC03 rietumu pusi.

Pirms IP02 ievietošanas klēpjdatorā pārliecinieties, vai abiem slēdžiem ir atlasītas šādas opcijas:

  • B ir atlasīts (kreisais slēdzis)
  • Ir atlasīts DCE (labais slēdzis)

Visbeidzot, mēs esam gatavi ievietot IP02 savā klēpjdatorā un sākt iestatīt Arduino IDE.

3. darbība: iestatiet Arduino IDE

Arduino IDE iestatīšana
Arduino IDE iestatīšana
Arduino IDE iestatīšana
Arduino IDE iestatīšana

Atkal šajā pamācībā es esmu pieņēmis, ka jūs jau esat iepazinies ar Arduino IDE vidi, kā arī par to, kā pārvaldīt bibliotēkas attīstības vidē.

Šim projektam mums būs vajadzīgas divas galvenās bibliotēkas:

  • arduino-CORE-https://github.com/xinabox/arduino-CORE
  • SW02 bibliotēka -

Lejupielādējiet abas bibliotēkas uz darbvirsmas atrašanās vietu.

Pēc tam palaidiet savu Arduino IDE.

Galvenajā izvēlnē atlasiet "Skice"> "Iekļaut bibliotēku"> "Pievienot. ZIP bibliotēku …"

Atkārtojiet to pašu procesu abiem bibliotēkas failiem.

Tālāk mums būs jāizvēlas attiecīgā "padome", kā arī "osta". (Ņemiet vērā, ka esmu arī uzsvēris nepieciešamās izvēles, izmantojot oranžu lodziņu.

  • Tāfele: "Arduino/Genuino Zero (vietējais USB ports)"
  • Ports: "COMXX" (tam jāatbilst COM portam, kas atspoguļojas jūsu datorā. Manējais izmanto COM31)

Labi! Es zinu, ka jūs ļoti vēlējāties ķerties pie kodēšanas, tāpēc nākamajā darbībā mēs koncentrēsimies uz to.

4. solis: laiks kodēt

Šajā sadaļā es sākšu, kopīgojot koda fragmentus no pabeigtā projekta koda. Un beigās es publicēšu visu avotu, ļaujot jums vienkārši nokopēt un ielīmēt kodu savā Arduino IDE avota failā.

Galvenes faili:

#include /* Šī ir galveno XinaBox pamatfunkciju bibliotēka. */

#include /* Šī ir GOS un laika sensoru xChip bibliotēka. */

Dažu konstantu noteikšana RGB vadīto signālu kontrolei:

#define redLedPin A4

#define greenLedPin 8 #define blueLedPin 9

Tālāk mums ir jāpaziņo par funkciju prototipu RGB vērtību nodošanai

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

SW02 objekta deklarēšana:

xSW02 SW02;

Iestatīšanas () metode:

void setup () {

// Sāciet I2C sakaru vadu.begin (); // Palaidiet SW02 sensoru SW02.begin (); // Delay to sensor to normalize delay (5000); }

Tagad par galveno cilpu ():

void loop () {

pludiņa tempC; }

Tālāk mums būs jāveic aptauja, izmantojot SW02 objektu, kuru mēs iepriekš izveidojām programmā, lai sāktu saziņu ar sensora mikroshēmu:

// Lasīt un aprēķināt datus no SW02 sensorSW02.poll ();

Tagad mēs lasām, lai iegūtu sensora temperatūras rādījumus

tempC = SW02.getTempC ();

Kad esam nolasījuši, pēdējā lieta, ko mēs darīsim, ir izmantot virkni if … else … kontroles paziņojumu, lai noteiktu temperatūras diapazonu, un pēc tam izsaukt funkciju setRGBColor ()

// Jūs varat pielāgot temperatūras diapazonu atbilstoši savam klimatam. Manuprāt, es dzīvoju Singapūrā, // kas ir tropisks visu gadu, un temperatūras diapazons šeit var būt diezgan šaurs. ja (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }

Piezīme. Ja vēlaties uzzināt, kādas ir attiecīgās krāsas attiecīgās RGB vērtības, iesaku meklēt Google, lai atrastu “RGB krāsu vērtības”. Ir pieejamas daudzas vietnes, kurās varat izmantot krāsu atlasītāju, lai izvēlētos vēlamo krāsu

// Ja vēlaties, un tas nav obligāti, sensora rādījumiem varat pievienot arī aizkavi starp aptaujām.

kavēšanās (DELAY_TIME);

Protams, jūs varat deklarēt DELAY_TIME konstanti programmas sākumā, tādā veidā jums ir jāmaina tās vērtība tikai vienu reizi, nevis vairākās vietās visā programmā. Visbeidzot, mums ir nepieciešama funkcija, lai kontrolētu mūsu RGB LED:

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

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

Galīgā programma

#iekļaut

#iekļaut #define redLedPin A4 #define greenLedPin 8 #define blueLedPin 9 void setRGBColor (int redValue, int greenValue, int blueValue); const int DELAY_TIME = 1000; xSW02 SW02; void setup () {// Sāciet I2C sakaru vadu.begin (); // Palaidiet SW02 sensoru SW02.begin (); // Delay to sensor to normalize delay (5000); } void loop () {// Izveidojiet mainīgo, lai uzglabātu datus, kas nolasīti no SW02 float tempC; tempC = 0; // Lasīt un aprēķināt datus no SW02 sensora SW02.poll (); // Pieprasiet SW02, lai iegūtu temperatūras mērījumu un saglabātu // temperatūras mainīgajā tempC = SW02.getTempC (); ja (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); } // Neliela aizkave starp sensoru nolasīšanas aizkavi (DELAY_TIME); } void setRGBColor (int redValue, int greenValue, int blueValue) {analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }

Tagad, kad mūsu programma ir gatava, ieprogrammēsim xChip! Augšupielādes process ir tieši tāds pats kā programmas augšupielāde jūsu Arduino dēļos.

Kad esat pabeidzis, kāpēc neatvienojiet to no elektrotīkla un neiznesiet to testa braucienam.

Ieteicams: