Turinys:

RGB temperatūros indikatorius (su „XinaBox“): 5 žingsniai (su nuotraukomis)
RGB temperatūros indikatorius (su „XinaBox“): 5 žingsniai (su nuotraukomis)

Video: RGB temperatūros indikatorius (su „XinaBox“): 5 žingsniai (su nuotraukomis)

Video: RGB temperatūros indikatorius (su „XinaBox“): 5 žingsniai (su nuotraukomis)
Video: RGB lemputės panaudojimas 2024, Lapkritis
Anonim
RGB temperatūros indikatorius (su „XinaBox“)
RGB temperatūros indikatorius (su „XinaBox“)

Tai oficialiai mano pirmasis „Instructables“straipsnis, todėl prisipažinsiu, kad šiuo metu naudojuosi šia galimybe, kad tai išbandyčiau. Pajuskite, kaip veikia platforma, visa naudotojo patirties pusė. Bet kol tai darau, pagalvojau, kad taip pat galiu pasinaudoti galimybe pasidalyti apie paprastą projektą, prie kurio dirbau šiandien (naudojant „XinaBox“produktus, kurie, beje, tariami kaip „X-in-a- Dėžė ).

Šioje paprastoje 5 žingsnių instrukcijoje aptarsiu šias temas:

  • Reikalingi komponentai
  • Sujungti skirtingus „xChips“.
  • „Arduino IDE“aplinkos nustatymas.
  • Kodo rašymas
  • Ir galiausiai išbandykite idėją

Ką aš nepasidalysiu šioje pamokoje:

  • Kad ir kaip man patinka pasinerti į tai, ką kiekvienas iš šių „xChip“gali padaryti ir kaip galite manipuliuoti jais, kad atliktumėte tam tikras funkcijas, tai nebūtų šio pamokomo dalyko tikslas. Artimiausiu metu planuoju paskelbti kitus „Instructables“, kurie bus įtraukti į kiekvieną iš skirtingų „XChip“, kuriuos galima rasti per „XinaBox“produktų katalogą.
  • Aš nesigilinsiu į „Arduino“kodo pagrindus, nes manau, kad jau turite tam tikros patirties naudojant „Arduino IDE“, taip pat turite pagrindinį supratimą apie C/C ++ programavimą.

1 žingsnis: ko jums reikia…

Ko tau reikia…
Ko tau reikia…
Ko tau reikia…
Ko tau reikia…
Ko tau reikia…
Ko tau reikia…

Techniškai dauguma pagrindinių produktų vadovėlių paprastai prasideda žodžiu „Labas pasaulis!“. pavyzdys ar net „Blink“pavyzdys, su kuriuo galbūt jau esate gerai susipažinęs, nes tam tikru momentu dirbote su „Arduino“ar „Raspberry Pi“. Bet aš nenoriu pradėti nuo to, nes visi jau daro tą patį, todėl tai tikrai šiek tiek nuobodu.

Vietoj to norėjau pradėti nuo praktinės projekto idėjos. Tai, kas yra pakankamai paprasta ir pritaikoma sudėtingesnei projekto idėjai, jei norite.

Štai daiktai, kurių mums prireiks (žiūrėkite nuotraukas, pateiktas šiame „Instructable“skyriuje):

  1. IP02 - Išplėstinė USB programavimo sąsaja
  2. CC03 - „Arm Cortex M0+ Core“
  3. SW02 - LOJ ir oro jutiklis (kuris naudoja BOSCH BME680 jutiklį)
  4. xBUS jungtys - įgalinti I2C ryšį tarp skirtingų xChip (x2)
  5. xPDI jungtis - programavimui ir derinimui įgalinti (x1)

2 žingsnis: dalių sujungimas

Kūrinių sujungimas
Kūrinių sujungimas
Kūrinių sujungimas
Kūrinių sujungimas
Kūrinių sujungimas
Kūrinių sujungimas

Norėdami sujungti visas dalis, pirmiausia pradėsime nuo 1 xBUS jungties ir xPDI jungties.

Po pateiktų vaizdų atkreipkite dėmesį į „xChips“orientaciją ir kur bus jungtys.

Tarp IP02 ir CC03 xChips gana lengva nustatyti jungiamuosius taškus.

CC03 atveju tai bus pietinė pusė. IP02 atveju tai bus šiaurinė „xChip“pusė.

Kai tai bus padaryta, prie vakarinės CC03 xChip pusės pridėsime dar vieną xBUS jungtį.

Padaryta?

Dabar tiesiog prijunkite SW02 xChip prie vakarinės CC03 pusės.

Prieš įterpdami IP02 į nešiojamąjį kompiuterį, įsitikinkite, kad pasirinktos šios dviejų jungiklių parinktys:

  • Pasirinktas B (kairysis jungiklis)
  • Pasirinktas DCE (dešinysis jungiklis)

Galiausiai, mes esame pasirengę įterpti IP02 į savo nešiojamąjį kompiuterį ir pradėti diegti „Arduino IDE“.

3 veiksmas: nustatykite „Arduino IDE“

„Arduino IDE“nustatymas
„Arduino IDE“nustatymas
„Arduino IDE“nustatymas
„Arduino IDE“nustatymas

Vėlgi, šioje pamokoje padariau prielaidą, kad jūs jau esate susipažinęs su „Arduino IDE“aplinka ir kaip valdyti bibliotekas kūrimo aplinkoje.

Šiam projektui mums reikės dviejų pagrindinių bibliotekų:

  • arduino-CORE-https://github.com/xinabox/arduino-CORE
  • SW02 biblioteka -

Atsisiųskite abi bibliotekas į vietą darbalaukyje.

Tada paleiskite „Arduino IDE“.

Pagrindiniame meniu pasirinkite „Eskizas“> „Įtraukti biblioteką“> „Pridėti. ZIP biblioteką…“

Pakartokite tą patį procesą abiem bibliotekos failams.

Toliau turėsime pasirinkti atitinkamą „valdybą“ir „uostą“. (Atkreipkite dėmesį, kad aš taip pat paryškinau būtinus pasirinkimus naudodamas oranžinę dėžutę.

  • Lenta: "Arduino/Genuino Zero (vietinis USB prievadas)"
  • Prievadas: „COMXX“(tai turėtų atitikti COM prievadą, kuris atsispindi jūsų kompiuteryje. Mano naudojamas COM31)

Gerai! Žinau, kad jūs labai norėjote pereiti prie kodavimo, todėl kitame žingsnyje mes sutelksime dėmesį į tai.

4 žingsnis: laikas koduoti

Šiame skyriuje pradėsiu dalindamasis kodo fragmentais iš baigto projekto kodo. Pabaigoje aš paskelbsiu visą šaltinį, kad galėtumėte lengvai nukopijuoti ir įklijuoti kodą į savo „Arduino IDE“šaltinio failą.

Antraštės failai:

#include /* Tai yra pagrindinių „XinaBox“funkcijų biblioteka. */

#include /* Tai yra LOJ ir oro jutiklio xChip biblioteka. */

RGB Led signalų valdymo konstantų apibrėžimas:

#define redLedPin A4

#define greenLedPin 8 #define blueLedPin 9

Toliau turime paskelbti funkcijos prototipą, skirtą perduoti RGB reikšmes

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

SW02 objekto deklaravimas:

xSW02 SW02;

Sąrankos () metodas:

void setup () {

// Paleiskite I2C ryšio laidą.begin (); // Paleisti SW02 jutiklį SW02.begin (); // Delay for sensor to normalize delay (5000); }

Dabar apie pagrindinę kilpą ():

void loop () {

plūdės tempC; }

Toliau turėsime atlikti apklausą naudodami SW02 objektą, kurį sukūrėme anksčiau programoje, kad pradėtume ryšį su jutiklio mikroschema:

// Skaityti ir apskaičiuoti duomenis iš SW02 sensorSW02.poll ();

Dabar mes skaitome, kad gautume jutiklio temperatūros rodmenis

tempC = SW02.getTempC ();

Kai turėsime rodmenis, paskutinis dalykas, kurį ketiname padaryti, yra naudoti eilutę if … else … kontrolinių teiginių, kad būtų galima nustatyti temperatūros diapazoną, ir tada iškviesti funkciją setRGBColor ()

// Temperatūros diapazoną galite reguliuoti pagal savo klimatą. Aš gyvenu Singapūre, // kuris yra atogrąžų ištisus metus, o temperatūros diapazonas čia gali būti gana siauras. if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }

Pastaba: Jei norite sužinoti, kokios yra atitinkamos RGB vertės konkrečiai spalvai, rekomenduoju atlikti „Google“paiešką „RGB spalvų vertės“. Yra daugybė svetainių, kuriose galite pasirinkti norimą spalvą naudodami spalvų parinkiklį

// Jei norite ir tai neprivaloma, taip pat galite pridėti delsą tarp jutiklio rodmenų apklausos.

vėlavimas (DELAY_TIME);

Žinoma, programos pradžioje galite deklaruoti DELAY_TIME konstantą, taigi jūs turite pakeisti jos vertę tik vieną kartą, o ne keliose programos vietose. Galiausiai mums reikia funkcijos, skirtos valdyti mūsų RGB šviesos diodą:

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

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

Galutinė programa

#įtraukti

#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 () {// Paleiskite I2C ryšio laidą.begin (); // Paleisti SW02 jutiklį SW02.begin (); // Delay for sensor to normalize delay (5000); } void loop () {// Sukurkite kintamąjį, kad išsaugotumėte duomenis, nuskaitytus iš SW02 float tempC; tempC = 0; // Skaityti ir apskaičiuoti duomenis iš SW02 jutiklio SW02.poll (); // Pateikite SW02 užklausą gauti temperatūros matavimą ir išsaugokite // temperatūros kintamajame tempC = SW02.getTempC (); if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); } // Mažas vėlavimas tarp jutiklio nuskaitymo uždelsimo (DELAY_TIME); } void setRGBColor (int redValue, int greenValue, int blueValue) {analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite („blueLedPin“, „blueValue“); }

Dabar, kai mūsų programa yra paruošta, užprogramuokime „xChip“! Įkėlimo procesas yra tas pats, kaip įkelti programą į „Arduino“plokštes.

Kai baigsite, kodėl gi ne atjunkite jį nuo elektros tinklo ir išveskite jį bandomajam paleidimui.

Rekomenduojamas: