Orodha ya maudhui:

Kiashiria cha Joto la RGB (na XinaBox): Hatua 5 (na Picha)
Kiashiria cha Joto la RGB (na XinaBox): Hatua 5 (na Picha)

Video: Kiashiria cha Joto la RGB (na XinaBox): Hatua 5 (na Picha)

Video: Kiashiria cha Joto la RGB (na XinaBox): Hatua 5 (na Picha)
Video: Создайте этот глубокий зеленый кинематографический образ в DaVinci Resolve 2024, Julai
Anonim
Kiashiria cha Joto la RGB (na XinaBox)
Kiashiria cha Joto la RGB (na XinaBox)

Hii ni rasmi nakala yangu ya kwanza ya Maagizo, kwa hivyo nitakubali kuwa ninatumia fursa hii hivi sasa kuijaribu. Jisikie jinsi jukwaa linavyofanya kazi, upande wote wa uzoefu wa mtumiaji. Lakini wakati nafanya hivyo, nilidhani ninaweza pia kutumia fursa hiyo kushiriki juu ya mradi rahisi ambao nimekuwa nikifanya kazi leo (kutumia bidhaa kutoka kwa XinaBox, ambayo kwa njia, inajulikana kama "X-in-a- Sanduku ").

Katika hatua hii rahisi inayofundishwa ya 5, nitaangazia mada zifuatazo:

  • Vipengele vinahitajika
  • Kuunganisha xChips tofauti pamoja.
  • Kuanzisha mazingira ya Arduino IDE.
  • Kuandika nambari
  • Na mwishowe, kujaribu wazo hilo

Kile ambacho sitashiriki katika hii inayoweza kufundishwa:

  • Vile ninavyopenda kupiga mbizi kuelezea ni nini kila moja ya hizo XChips zinaweza kufanya na jinsi unavyoweza kuzitumia ili kufanya kazi fulani, hilo halingekuwa lengo la hii kufundishwa. Nina mpango wa kuchapisha Maagizo mengine katika siku za usoni ambayo yatatumbukiza katika kila moja ya xChips tofauti ambazo zinapatikana kupitia katalogi ya bidhaa ya XinaBox.
  • Sitakuwa nikiingia kwenye misingi ya nambari ya Arduino kwani nadhani kuwa tayari una kiwango cha uzoefu wa kutumia Arduino IDE na vile vile uelewa wa kimsingi wa programu ya C / C ++.

Hatua ya 1: Unachohitaji…

Unachohitaji…
Unachohitaji…
Unachohitaji…
Unachohitaji…
Unachohitaji…
Unachohitaji…

Kitaalam, mafunzo ya msingi ya bidhaa kawaida huanza na "Hello World!" mfano, au hata mfano wa "Blink", ambao unaweza kuwa tayari unaujua sana kwani umefanya kazi na Arduino au Raspberry Pi wakati fulani. Lakini sitaki kuanza na hiyo kwa sababu kila mtu tayari anafanya kitu kimoja, ambayo inafanya kuwa ya kuchosha sana.

Badala yake, nilitaka kuanza na wazo la mradi wa vitendo. Kitu ambacho ni rahisi na cha kutosheleza kuwa wazo ngumu zaidi la mradi ikiwa unataka.

Hapa kuna vitu ambavyo tutahitaji (rejelea picha zilizotolewa kwa sehemu hii ya Inayoweza kufundishwa):

  1. IP02 - Kiolesura cha Programu ya Juu ya USB
  2. CC03 - Arm Cortex M0 + Core
  3. SW02 - VOC na Sensor ya Hali ya Hewa (ambayo hutumia sensorer ya BME680 na BOSCH)
  4. Viunganishi vya xBUS - kuwezesha mawasiliano ya I2C kati ya xChips tofauti (x2)
  5. kontakt xPDI - kuwezesha programu na utatuaji (x1)

Hatua ya 2: Kuunganisha Vipande

Kuunganisha Vipande
Kuunganisha Vipande
Kuunganisha Vipande
Kuunganisha Vipande
Kuunganisha Vipande
Kuunganisha Vipande

Ili kuunganisha vipande vyote pamoja, kwanza tutaanza na kipande 1 cha kontakt xBUS na kiunganishi cha xPDI.

Kufuatia picha ambazo nimetoa, angalia mwelekeo wa xChips na wapi viunganisho vitaenda.

Kati ya IP02 na CC03 xChips, ni rahisi sana kutambua sehemu za kuunganisha.

Kwa CC03, itakuwa upande wa kusini. Kwa IP02, itakuwa upande wa kaskazini wa xChip.

Mara baada ya hayo, tutaongeza kiunganishi kingine cha xBUS upande wa magharibi wa CC03 xChip.

Imefanywa?

Sasa, unganisha tu SW02 xChip upande wa magharibi wa CC03.

Kabla ya kuingiza IP02 kwenye kompyuta yetu ndogo, hakikisha kuwa chaguzi zifuatazo zimechaguliwa kwa swichi mbili:

  • B imechaguliwa (swichi ya kushoto)
  • DCE imechaguliwa (swichi ya kulia)

Mwishowe, sasa tuko tayari kuingiza IP02 kwenye kompyuta yetu ndogo na kuanza kuanzisha IDE ya Arduino.

Hatua ya 3: Kuanzisha Arduino IDE

Kuanzisha IDE ya Arduino
Kuanzisha IDE ya Arduino
Kuanzisha IDE ya Arduino
Kuanzisha IDE ya Arduino

Tena, katika hii inayoweza kufundishwa, nimefanya dhana kwamba tayari unafahamiana na mazingira ya Arduino IDE na pia jinsi ya kusimamia maktaba ndani ya mazingira ya maendeleo.

Kwa madhumuni ya mradi huu, tutahitaji maktaba kuu mawili:

  • arduino-CORE -
  • Maktaba ya SW02 -

Pakua maktaba zote mbili kwa eneo ndani ya eneo-kazi lako.

Ifuatayo, anzisha IDE yako ya Arduino.

Kutoka kwenye menyu kuu, chagua "Mchoro"> "Jumuisha Maktaba"> "Ongeza Maktaba ya ZIP…"

Rudia mchakato huo kwa faili zote za maktaba.

Ifuatayo, tutahitaji kuchagua "Bodi" husika na "Port". (Ona kwamba pia nimeangazia chaguzi zinazohitajika kwa kutumia sanduku la machungwa.

  • Bodi: "Arduino / Genuino Zero (Native USB Port)"
  • Bandari: "COMXX" (hii inapaswa kuwa kulingana na bandari ya COM inayoonyeshwa kwenye mashine yako. Mgodi unatumia COM31)

Sawa! Najua umekuwa na hamu ya kuruka kwenye usimbuaji, kwa hivyo katika hatua inayofuata, ndivyo tutakavyozingatia.

Hatua ya 4: Wakati wa Msimbo

Katika sehemu hii, nitaanza kwa kushiriki vijisehemu vya nambari kutoka kwa msimbo wa mradi uliokamilishwa. Mwishowe, nitachapisha chanzo kamili, na iwe rahisi kwako kunakili na kubandika nambari hiyo kwenye faili yako ya chanzo ya Arduino IDE.

Faili za Kichwa:

# pamoja / / Hii ndio maktaba ya Kazi kuu za XinaBox. * /

# pamoja / * Hii ni maktaba ya VOC & Hali ya Hewa xChip. * /

Kufafanua vizuizi vingine vya kudhibiti Ishara zilizoongozwa na RGB:

#fafanua nyekunduLedPin A4

#fafanua kijaniLedPin 8 #fafanua bluuLedPin 9

Ifuatayo, tunahitaji kutangaza mfano wa kazi kwa kupitisha maadili ya RGB

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

Kutangaza kitu cha SW02:

xSW02 SW02;

Njia ya kuanzisha ():

usanidi batili () {

// Anzisha waya wa Mawasiliano wa I2C. Anza (); // Anza Sensor SW02 SW02. anza (); // Kuchelewa kwa sensor kurekebisha ucheleweshaji (5000); }

Sasa kwa kitanzi kuu ():

kitanzi batili () {

kuelea tempC; }

Ifuatayo, tutahitaji kupiga kura tukitumia kitu cha SW02 ambacho tumeunda mapema katika programu ili kuanza mawasiliano yetu na kifaa cha sensorer:

// Soma na uhesabu data kutoka kwa sensorer SW02SW02.poll ();

Sasa, tunasoma kupata usomaji wa joto la sensa

tempC = SW02.getTempC ();

Mara tu tutakapokuwa na usomaji, jambo la mwisho ambalo tutafanya ni kutumia safu ya ikiwa… vinginevyo… taarifa za kudhibiti kuamua kiwango cha joto, na kisha piga kazi ya setRGBColor ()

// Unaweza kurekebisha kiwango cha joto kulingana na hali ya hewa yako. Kwangu, ninaishi Singapore, // ambayo ni ya kitropiki mwaka mzima, na kiwango cha joto kinaweza kuwa nyembamba hapa. ikiwa (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }

Kumbuka: Ikiwa una nia ya kujua ni nini maadili husika ya RGB ni ya rangi fulani, ninapendekeza utafute google kwa "maadili ya rangi ya RGB". Kuna tovuti nyingi ambazo unaweza kutumia kiteua rangi kuchagua rangi ambayo unataka

// Ikiwa unapenda, na ni hiari, unaweza pia kuongeza ucheleweshaji kati ya kupigia kura usomaji wa kihisi.

kuchelewesha (DELAY_TIME);

Unaweza kufanya mapenzi kutangaza DELAY_TIME mara kwa mara mwanzoni mwa programu, kwa njia hiyo, lazima ubadilishe thamani yake mara moja badala ya katika sehemu nyingi katika programu yako yote. Mwishowe, tunahitaji kazi kudhibiti RGB yetu ya LED:

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

AnalogWrite (redLedPin, RedValue); AnalogWrite (greenLedPin, GreenValue); AnalogWrite (bluuLedPin, Thamani ya bluu); }

Mpango wa Mwisho

# pamoja

# pamoja na #fafanua nyekunduLedPin A4 #fafanua kijaniLedPin 8 #fasili bluuLedPin 9 batili setRGBColor (int redValue, int greenValue, int blueValue); const int DELAY_TIME = 1000; xSW02 SW02; kuanzisha batili () {// Anzisha I2C Mawasiliano Wire.begin (); // Anza SW02 Sensor SW02. anza (); // Kuchelewa kwa sensor kurekebisha ucheleweshaji (5000); } kitanzi batili () {// Unda kutofautisha kuhifadhi data iliyosomwa kutoka kwa SW02 ya kuelea tempC; tempC = 0; // Soma na uhesabu data kutoka kwa sensorer SW02 SW02.poll (); // Omba SW02 kupata kipimo cha joto na uhifadhi katika // tempatue variable tempC = SW02.getTempC (); ikiwa (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); } // Kuchelewa kidogo kati ya kuchelewa kusoma kwa sensa (DELAY_TIME); } batili setRGBColor (int redValue, int greenValue, int blueValue) {analogWrite (redLedPin, redValue); AnalogWrite (greenLedPin, greenValue); AnalogWrite (bluuLedPin, Thamani ya bluu); }

Sasa kwa kuwa mpango wetu uko tayari, wacha tupange xChip! Mchakato wa Kupakia ni sawa kabisa na jinsi unavyoweza kupakia programu kwenye bodi zako za Arduino.

Unapomaliza, kwa nini usiondoe na kuileta nje kwa mtihani.

Ilipendekeza: