Kazalo:

Indikator temperature RGB (s XinaBox): 5 korakov (s slikami)
Indikator temperature RGB (s XinaBox): 5 korakov (s slikami)

Video: Indikator temperature RGB (s XinaBox): 5 korakov (s slikami)

Video: Indikator temperature RGB (s XinaBox): 5 korakov (s slikami)
Video: Сняла Киркорова что пьёт за кулисами на концерте!!!#концерт#киркоров#напитки 2024, Julij
Anonim
Indikator temperature RGB (z XinaBox)
Indikator temperature RGB (z XinaBox)

To je uradno moj prvi članek o Instructables, zato bom priznal, da prav zdaj izkoriščam to priložnost, da jo preizkusim. Začutite, kako deluje platforma, celotna stran uporabniške izkušnje. Medtem ko to počnem, sem ugotovil, da lahko tudi izkoristim priložnost, da povem o preprostem projektu, na katerem sem delal danes (z uporabo izdelkov iz XinaBox-a, ki se mimogrede izgovarja kot »X-in-a- Škatla ).

V tem preprostem navodilu v 5 korakih bom obravnaval naslednje teme:

  • Potrebne komponente
  • Povežite različne xChips skupaj.
  • Nastavitev okolja Arduino IDE.
  • Pisanje kode
  • In končno, preizkusite idejo

V tem navodilu ne bom delil:

  • Ne glede na to, kako rad se razlagam, kaj lahko vsak od teh xChips naredi in kako z njimi lahko manipulirate za izvajanje določenih funkcionalnosti, to ne bi bil cilj tega navodila. V bližnji prihodnosti nameravam objaviti druge Instructables, ki se bodo poglobili v vsakega od različnih xChips, ki so na voljo v katalogu izdelkov XinaBox.
  • Ne bom se spuščal v osnove kode Arduino, saj predvidevam, da že imate določene stopnje izkušenj z uporabo Arduino IDE in tudi osnovno razumevanje programiranja C/C ++.

Korak: Kaj potrebujete …

Kaj rabiš…
Kaj rabiš…
Kaj rabiš…
Kaj rabiš…
Kaj rabiš…
Kaj rabiš…

Tehnično se večina osnovnih vadnic o izdelkih običajno začne z "Hello World!" na primer ali celo primer "Blink", ki ste ga morda že dobro poznali, saj ste nekoč sodelovali z Arduinom ali Raspberry Pi. Ne želim pa začeti s tem, ker vsi že počnejo isto, zaradi česar je res nekoliko dolgočasno.

Namesto tega sem hotel začeti s praktično idejo projekta. Nekaj, kar je dovolj preprosto in prilagodljivo, če želite.

Tu so elementi, ki jih bomo potrebovali (glejte fotografije, ki so na voljo v tem razdelku navodil):

  1. IP02 - Napredni vmesnik za programiranje USB
  2. CC03 - Arm Cortex M0+ jedro
  3. SW02 - HOS in vremenski senzor (ki uporablja senzor BME680 podjetja BOSCH)
  4. konektorji xBUS - za omogočanje komunikacije I2C med različnimi x čipi (x2)
  5. priključek xPDI - za omogočanje programiranja in odpravljanja napak (x1)

2. korak: Povezovanje kosov

Povezovanje kosov
Povezovanje kosov
Povezovanje kosov
Povezovanje kosov
Povezovanje kosov
Povezovanje kosov

Če želite povezati vse dele skupaj, bomo najprej začeli z 1 kosom priključka xBUS in priključkom xPDI.

Po slikah, ki sem jih posredoval, opazite usmerjenost xChips in kam bodo šli priključki.

Med IP02 in CC03 xChips je precej enostavno prepoznati priključne točke.

Za CC03 bo to južna stran. Za IP02 bo to severna stran xChipa.

Ko bo to storjeno, bomo na zahodno stran CC03 xChip dodali še en konektor xBUS.

Končano?

Zdaj samo priključite SW02 xChip na zahodno stran CC03.

Preden v prenosni računalnik vstavimo IP02, se prepričajte, da sta za dve stikali izbrani naslednji možnosti:

  • Izbran je B (levo stikalo)
  • Izbran je DCE (desno stikalo)

Končno smo pripravljeni vstaviti IP02 v prenosni računalnik in začeti z nastavitvijo Arduino IDE.

3. korak: Nastavitev Arduino IDE

Nastavitev Arduino IDE
Nastavitev Arduino IDE
Nastavitev Arduino IDE
Nastavitev Arduino IDE

Ponovno sem v tem navodilu predpostavil, da ste že seznanjeni z okoljem Arduino IDE in kako upravljati knjižnice v razvojnem okolju.

Za namen tega projekta bomo potrebovali dve glavni knjižnici:

  • arduino-CORE-https://github.com/xinabox/arduino-CORE
  • Knjižnica SW02 -

Prenesite obe knjižnici na mesto na namizju.

Nato zaženite Arduino IDE.

V glavnem meniju izberite "Sketch"> "Include Library"> "Add. ZIP Library …"

Ponovite isti postopek za obe datoteki knjižnice.

Nato bomo morali izbrati ustrezno "Board" in "Port". (Upoštevajte, da sem z oranžno škatlo poudaril tudi potrebne izbire.

  • Plošča: "Arduino/Genuino Zero (domača vrata USB)"
  • Vrata: "COMXX" (to bi moralo biti glede na vrata COM, ki se odražajo na vaši napravi. Moj uporablja COM31)

Vredu! Vem, da ste si želeli skočiti v kodiranje, zato se bomo v naslednjem koraku osredotočili na to.

4. korak: Čas za kodiranje

V tem razdelku bom začel z deljenjem delčkov kode iz dokončane kode projekta. Na koncu bom objavil celoten vir, ki vam bo olajšal preprosto kopiranje in lepljenje kode v izvorno datoteko Arduino IDE.

Naslovne datoteke:

#include /* To je knjižnica za glavne funkcije XinaBox Core. */

#include /* To je knjižnica za VOC in senzor vremena xChip. */

Določanje nekaterih konstant za krmiljenje RGB LED signalov:

#define redLedPin A4

#define greenLedPin 8 #define blueLedPin 9

Nato moramo razglasiti prototip funkcije za posredovanje vrednosti RGB

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

Razglasitev predmeta SW02:

xSW02 SW02;

Metoda setup ():

void setup () {

// Zaženite komunikacijsko žico I2C.begin (); // Zaženite senzor SW02 SW02.begin (); // Zakasnitev senzorja za normalizacijo zamude (5000); }

Zdaj za glavno zanko ():

void loop () {

plavajoča tempC; }

Nato bomo morali anketirati z objektom SW02, ki smo ga ustvarili prej v programu, da začnemo komunikacijo s senzorskim čipom:

// branje in izračun podatkov iz senzorja SW02SW02.poll ();

Zdaj beremo, da dobimo odčitek temperature senzorja

tempC = SW02.getTempC ();

Ko odčitamo, bomo nazadnje uporabili vrsto kontrolnih stavkov if … else … za določitev temperaturnega območja in nato poklicali funkcijo setRGBColor ()

// Temperaturno območje lahko prilagodite glede na vaše podnebje. Zame živim v Singapurju, // ki je tropsko vse leto, temperaturni razpon pa je tu lahko precej ozek. if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }

Opomba: Če vas zanima, kakšne so ustrezne vrednosti RGB za določeno barvo, vam priporočam, da poiščete google za "vrednosti barv RGB". Na voljo je veliko spletnih mest, kjer lahko z izbirnikom barv izberete želeno barvo

// Če želite in ni obvezno, lahko dodate tudi zamik med anketiranjem za odčitke senzorja.

zamuda (DELAY_TIME);

Seveda lahko na začetku programa razglasite konstanto DELAY_TIME, tako da morate vrednost spremeniti le enkrat, ne pa na več mestih v celotnem programu. Nazadnje potrebujemo funkcijo za nadzor naše RGB LED:

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

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

Končni program

#vključi

#include #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 () {// Zaženite komunikacijsko žico I2C.begin (); // Zaženite senzor SW02 SW02.begin (); // Zakasnitev senzorja za normalizacijo zakasnitve (5000); } void loop () {// Ustvarite spremenljivko za shranjevanje podatkov, prebranih iz SW02 float tempC; tempC = 0; // branje in izračun podatkov iz senzorja SW02 SW02.poll (); // Zahtevajte SW02 za merjenje temperature in shranjevanje v // temperatue spremenljivki tempC = SW02.getTempC (); if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); } // Majhna zamuda med zamikom branja senzorja (DELAY_TIME); } void setRGBColor (int redValue, int greenValue, int blueValue) {analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }

Zdaj, ko je naš program pripravljen, programirajmo xChip! Postopek nalaganja je popolnoma enak načinu nalaganja programa na plošče Arduino.

Ko končate, zakaj ga ne bi odklopili in ga odnesli na testno vožnjo.

Priporočena: