Բովանդակություն:

RGB ջերմաստիճանի ցուցիչ (XinaBox- ով) ՝ 5 քայլ (նկարներով)
RGB ջերմաստիճանի ցուցիչ (XinaBox- ով) ՝ 5 քայլ (նկարներով)

Video: RGB ջերմաստիճանի ցուցիչ (XinaBox- ով) ՝ 5 քայլ (նկարներով)

Video: RGB ջերմաստիճանի ցուցիչ (XinaBox- ով) ՝ 5 քայլ (նկարներով)
Video: RGB LED Hypnotic Light от Junk Box - переработка вещей 2024, Հուլիսի
Anonim
RGB ջերմաստիճանի ցուցիչ (XinaBox- ով)
RGB ջերմաստիճանի ցուցիչ (XinaBox- ով)

Սա պաշտոնապես իմ Instructables– ի առաջին հոդվածն է, ուստի ես պատրաստվում եմ խոստովանել, որ ես հենց հիմա օգտագործում եմ այս հնարավորությունը ՝ այն փորձելու համար: Getգացեք, թե ինչպես է աշխատում հարթակը և դրա ամբողջ օգտագործողի փորձը: Բայց մինչ ես դա անում եմ, ես հասկացա, որ կարող եմ նաև օգտագործել հնարավորությունը կիսվելու մի պարզ նախագծի մասին, որի վրա ես այսօր աշխատում էի (օգտագործելով XinaBox- ի արտադրանքը, որն, ի դեպ, արտասանվում է որպես «X-in-a- Տուփ »):

Այս 5-քայլանոց պարզ ուսանելի դասում ես կընդգրկեմ հետևյալ թեմաները.

  • Անհրաժեշտ բաղադրիչներ
  • Տարբեր xChips- ի միացում:
  • Arduino IDE միջավայրի կարգավորում:
  • Գրել կոդը
  • Եվ, վերջապես, փորձարկելով գաղափարը

Այն, ինչ ես չեմ կիսվի այս ուսանելիի մեջ.

  • Որքան էլ ես սիրում եմ սուզվել ՝ բացատրելու, թե ինչ կարող է անել այդ xChips- ից յուրաքանչյուրը և ինչպես կարող եք դրանք շահարկել որոշակի գործառույթներ կատարելու համար, դա չի լինի այս ուսանելի նպատակը: Ես նախատեսում եմ առաջիկայում հրապարակել այլ հրահանգներ, որոնք կխորացնեն XinaBox- ի արտադրանքի կատալոգի միջոցով հասանելի յուրաքանչյուր տարբեր xChip- երը:
  • Ես չեմ մտնելու Arduino կոդի հիմունքների մեջ, քանի որ ենթադրում եմ, որ դուք արդեն ունեք որոշակի մակարդակի փորձ Arduino IDE- ի օգտագործման, ինչպես նաև C/C ++ ծրագրավորման հիմնական մակարդակի իմացություն:

Քայլ 1: Այն, ինչ ձեզ հարկավոր է…

Այն, ինչ ձեզ պետք է…
Այն, ինչ ձեզ պետք է…
Այն, ինչ ձեզ պետք է…
Այն, ինչ ձեզ պետք է…
Այն, ինչ ձեզ պետք է…
Այն, ինչ ձեզ պետք է…

Տեխնիկապես, արտադրանքի հիմնական դասընթացները սովորաբար սկսվում են «Բարև աշխարհ» բառով: օրինակ, կամ նույնիսկ «Թարթել» օրինակ, որին կարող եք արդեն ծանոթ լինել, քանի որ ինչ -որ պահի աշխատել եք Arduino- ի կամ Raspberry Pi- ի հետ: Բայց ես չեմ ուզում սկսել դրանից, քանի որ բոլորն արդեն նույն բանն են անում, ինչն իրոք մի փոքր ձանձրացնում է:

Փոխարենը, ես ուզում էի սկսել գործնական նախագծի գաղափարով: Մի բան, որը և՛ բավականին պարզ է, և՛ մասշտաբելի, եթե ցանկանում եք, ավելի բարդ նախագծի գաղափար:

Ահա այն իրերը, որոնք մեզ պետք կգան (տե՛ս Instructable- ի այս բաժնի համար տրամադրված լուսանկարները).

  1. IP02 - Ընդլայնված USB ծրագրավորման միջերես
  2. CC03 - Arm Cortex M0+ Core
  3. SW02 - VOC և Եղանակի տվիչ (որն օգտագործում է BME680 սենսորը BOSCH- ի կողմից)
  4. xBUS միակցիչներ - միացնել I2C հաղորդակցությունը տարբեր xChips- երի միջև (x2)
  5. xPDI միակցիչ - ծրագրավորումը և կարգաբերումը միացնելու համար (x1)

Քայլ 2: Կտորների միացում

Կտորների միացում
Կտորների միացում
Կտորների միացում
Կտորների միացում
Կտորների միացում
Կտորների միացում

Բոլոր կտորները միմյանց միացնելու համար մենք նախ կսկսենք xBUS միակցիչից և xPDI միակցիչից 1 կտորով:

Հետևելով իմ տրամադրած պատկերներին ՝ նկատեք xChips- ի կողմնորոշումը և ուր են գնալու միակցիչները:

IP02- ի և CC03 xChips- ի միջև բավականին հեշտ է որոշել միացման կետերը:

CC03- ի համար դա կլինի հարավային կողմը: IP02- ի համար դա կլինի xChip- ի հյուսիսային կողմը:

Երբ դա արվի, մենք կավելացնենք ևս մեկ xBUS միակցիչ CC03 xChip- ի արևմտյան կողմին:

Կատարած?

Այժմ, պարզապես միացրեք 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 աղբյուրի ֆայլում:

Վերնագրի ֆայլեր

#ներառել /* Սա XinaBox հիմնական գործառույթների գրադարանն է: */

#include /* Սա VOC & Weather Sensor xChip- ի գրադարանն է: */

RGB ազդանշանների վերահսկման որոշ հաստատունների սահմանում

#սահմանեք կարմիր LedPin A4- ը

#սահմանեք կանաչLedPin 8 #սահմանեք կապույտLedPin 9

Հաջորդը, մենք պետք է հայտարարենք RGB արժեքների փոխանցման գործառույթի նախատիպ:

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

SW02 օբյեկտի հայտարարում

xSW02 SW02;

Setup () մեթոդը

void setup () {

// Սկսեք I2C Communication Wire.begin (); // Սկսեք SW02 սենսոր SW02.begin (); // Հետաձգման նորմալացման համար սենսորի հետաձգում (5000); }

Այժմ հիմնական հանգույցի համար ():

դատարկ շրջան () {

float tempC; }

Հաջորդը, մենք պետք է հարցում անցկացնենք SW02 օբյեկտի միջոցով, որը մենք ավելի վաղ ստեղծել էինք ծրագրում ՝ սենսորային չիպի հետ մեր հաղորդակցությունը սկսելու համար

// Կարդացեք և հաշվարկեք տվյալները SW02 տվիչից SW02.poll ();

Այժմ մենք կարդում ենք ՝ սենսորի ջերմաստիճանի ցուցանիշը ստանալու համար:

tempC = SW02.getTempC ();

Երբ մենք կարդում ենք, վերջին բանը, որ մենք պատրաստվում ենք անել, այն է, որ օգտագործենք մի շարք, եթե… else… հսկողության հայտարարություններ `ջերմաստիճանի տիրույթը որոշելու համար, այնուհետև զանգահարենք setRGBColor () գործառույթը:

// Դուք կարող եք կարգավորել ջերմաստիճանի տիրույթը `ըստ ձեր կլիմայի: Ինձ համար ես ապրում եմ Սինգապուրում, // որը արևադարձային է ամբողջ տարին, և այստեղ ջերմաստիճանի սահմանը կարող է բավականին նեղ լինել: եթե (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }

Նշում. Եթե ձեզ հետաքրքրում է իմանալ, թե որոնք են RGB- ի համապատասխան արժեքները որոշակի գույնի համար, խորհուրդ եմ տալիս Google- ում որոնել «RGB գույնի արժեքները»: Կան բազմաթիվ կայքեր, որտեղ դուք կարող եք օգտագործել գույնի ընտրիչ ՝ ձեր ուզած գույնը ընտրելու համար:

// Եթե ցանկանում եք, և դա ընտրովի չէ, կարող եք նաև ավելացնել սենսորի ընթերցումների համար քվեարկության միջև ընկած ժամանակահատվածը:

ուշացում (DELAY_TIME);

Ofրագրի սկզբում, իհարկե, կարող եք DELAY_TIME- ի հաստատուն հայտարարել, այդպիսով դուք միայն պետք է փոփոխեք դրա արժեքը մեկ անգամ, այլ ոչ թե ձեր ծրագրի մի քանի վայրերում: Վերջապես, մեզ անհրաժեշտ է մեր RGB LED- ը վերահսկելու գործառույթը

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

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

Վերջնական ծրագիր

#ներառում

#ներառել #սահմանել կարմիրLedPin A4 #սահմանել կանաչLedPin 8 #սահմանել կապույտLedPin 9 անվավեր հավաքածու RGBColor (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 (); եթե (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 տախտակներում:

Երբ ավարտեք աշխատանքը, ինչու՞ չանջատեք վարդակից և դուրս բերեք այն փորձնական աշխատանքի:

Խորհուրդ ենք տալիս: