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

Arduino/App Controlled Desk Light: 6 քայլ (նկարներով)
Arduino/App Controlled Desk Light: 6 քայլ (նկարներով)

Video: Arduino/App Controlled Desk Light: 6 քայլ (նկարներով)

Video: Arduino/App Controlled Desk Light: 6 քայլ (նկարներով)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Նոյեմբեր
Anonim
Image
Image
Arduino/App Controlled Գրասեղանի լույս
Arduino/App Controlled Գրասեղանի լույս
Arduino/App Controlled Գրասեղանի լույս
Arduino/App Controlled Գրասեղանի լույս

Այս նախագծի համար ես ուզում էի մի բան, որը թույլ կտար ինձ ավելի շատ սովորեցնել էլեկտրոնիկայի/ծրագրաշարի մասին, մի բան, որի մեջ ես իրականում դեռ չեմ մտել: Ես որոշեցի, որ լույսը դրա համար լավ հարթակ կլինի:

Դիզայնը, որով ես հանդես եկա, լուսարձակի համար էր, որն առանձնանում էր գույնի և պայծառության ճշգրտմամբ: Ապրանքի վրա, տաքից սառը սպիտակ գույնի ջերմաստիճանը և պայծառությունը վերահսկվում են «բութի» միջոցով, որի դիրքն ու կողմնորոշումը փոխում են դրանք ինքնուրույն ՝ բավականին յուրահատուկ/զվարճալի փոխազդեցություն:

Պատկեր
Պատկեր

Ես նաև ավարտեցի creatingրագրի ստեղծումը (գուցե նաև ինքս ինձ մարտահրավեր նետեմ) դրանք կարգավորելու համար, ինչպես նաև լրացուցիչ գործառույթներ ավելացնելու համար ՝ որոշ RGB LED- ներ վերահսկելու և արևածագի ազդանշան սահմանելու համար: Արևածագի ահազանգը աստիճանաբար բարձրացնում է պայծառությունը 30 րոպեի ընթացքում, ինչը կօգնի ձեզ արթնանալ:

Քանի որ սա իմ առաջին Arduino/App ծրագիրն է, ենթադրում եմ, որ անպայման կգտնվեն ծածկագիրը կատարելու ավելի լավ եղանակներ: Այն աղավաղում է, այնպես որ ես երջանիկ եմ: Եթե ունեք առաջարկներ բարելավումների վերաբերյալ և այլն, լավ կլիներ լսել:

Այս ծրագրի բոլոր ֆայլերը (arduino/հավելվածի գյուտարարի ծածկագիր, ծրագրի գրաֆիկա և այլն) և apրագրի apk: կարելի է գտնել այս հղումով:

Ես սա մուտք եմ գործել Raspberry Pi և FULL SPECTRUM LASER մրցույթների, այնպես որ, եթե կարծում եք, որ դրա արժանի քվեարկությունը զանգվածաբար կգնահատվեր !!

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

Էլեկտր. Բաղադրիչներ:

  • Arduino Micro
  • 12 գծային ռադիոմետրիկ սրահի էֆեկտի տվիչներ
  • DC Jack
  • 12 Վ էլեկտրամատակարարում
  • 2x 1W սառը սպիտակ LED (6000K)
  • 2x 1W տաք սպիտակ LED (2800K)
  • 4x Adafruit RGB նեոպիքսել
  • Sparkfun Picobuck 350 մԱ մշտական ընթացիկ վարորդ
  • HC06 Bluetooth մոդուլ
  • Նախատիպի տախտակ
  • Տերմինալային բլոկներ
  • Լարերը

Նյութեր:

  • Բորբոս պատրաստելու նյութեր (ստվարաթուղթ կամ սիլիկոն և այլն)
  • Պոլիուրեթանային ձուլման խեժ
  • Նրբատախտակ

Consախսվող նյութեր

  • Sոդող
  • Սփրեյ ներկ
  • Հղկաթուղթ
  • Խառնելով բաժակներ/խառնիչ սարքեր

Գործիքներ:

  • Sոդման երկաթ
  • Սոսինձ ատրճանակ
  • Տափակաբերան աքցան/պտուտակահան/դանակ և այլն:
  • Լազերային Դանակ

Softwareրագրային ապահովում:

  • Արդուինո
  • MIT հավելվածի գյուտարար (անվճար վեբ հիմքի վրա)
  • Photoshop կամ ինչ -որ բան ՝ հավելվածի գրաֆիկա ստեղծելու համար

Քայլ 1: Hall Effect սենսորներ

Ապրանքի վերահսկման/փոխազդեցության համար ես փնտրում էի մի փոքր այլ բան գտնելու, ոչ միայն հավաքեք կամ ինչ -որ բան:

Տարբեր տեսակի էլեկտրոնային բաղադրիչների վերաբերյալ մի փոքր հետազոտությունից հետո ես գտա գծային ռադիոմետրիկ սրահի էֆեկտի տվիչներ: Սրանք հիմնականում սենսոր են, որի ելքը ազդում է մագնիսական դաշտերի վրա: Սովորաբար սենսորների ելքը մուտքի լարման կեսն է: Այնուամենայնիվ, երբ մագնիսը մոտենա դրան, ելքը կամ կբարձրանա մուտքային լարման, կամ կնվազի մինչև 0 Վ (հագեցվածության սահմաններ) ՝ կախված նրանից, թե դա մագնիսի հյուսիսային կամ հարավային բևեռն է:

Ես հասկացա, որ կարող եմ օգտագործել դա ՝ ինձ թույլ տալով վերահսկել երկու տարբեր պարամետրեր մեկ դահլիճի սենսորի վրա. «Ծակ» գաղափարը ծնվեց: Մագնիսը թաքնված է լազերային կտրված տուփի մեջ և կարող է կառավարել կամ պայծառությունը, կամ գույնի ջերմաստիճանը `կախված նրանից, թե որ ծայրն էր դեպի սենսորները: Ես ավելի ուշ եմ մտնում Arduino ծածկագրի մեջ, բայց ըստ էության ես կարդում եմ այս տվիչները և փնտրում ՝ արդյո՞ք ելքը բարձրացել է «բարձր ձգան» -ից կամ ընկել «ցածր ձգան» -ից ցածր: Ես օգտագործում եմ սրահի էֆեկտի մի քանի սենսորներ, որոնք թույլ են տալիս քարտեզագրել յուրաքանչյուրի վրա որոշակի գույնի ջերմաստիճան և պայծառության արժեք, որոնք ակտիվանում են, երբ պտույտը սահում եք կամարի շուրջը:

Պատկեր
Պատկեր

Քայլ 2: Էլեկտրոնիկայի սարքավորում

Էլեկտրոնիկայի սարքավորում
Էլեկտրոնիկայի սարքավորում
Էլեկտրոնիկայի սարքավորում
Էլեկտրոնիկայի սարքավորում
Էլեկտրոնիկայի սարքավորում
Էլեկտրոնիկայի սարքավորում

Այս նախագծի առաջին քայլը էլեկտրոնային սարքավորումների միացումն էր: Ես ընտրեցի օգտագործել Arduino Micro- ն, քանի որ այն ունի լավ թվով կարդալու անալոգային կապում, ինչը թույլ է տալիս ինձ օգտագործել դահլիճի էֆեկտի բազմաթիվ սենսորներ `կարգավորումների ճշգրտման համար բավարար լուծում տալու համար: 12V DC սնուցման աղբյուրը բաժանված է Arduino- ի և LED վարորդի սնուցման միջև:

Կառավարման աղեղն օգտագործում է սրահի 11 տվիչ, ևս մեկը օգտագործվում է լույսը անջատելու համար: Դրանք միացված էին A0-> A5 և 4, 6, 8, 9, 10, 12. կապումներին: Նրանք կիսում են ընդհանուր 5 վ և վերգետնյա երկաթուղի/քորոց:

LED- ները, որոնք ես օգտագործել եմ, 1 Վտ են և պահանջում են մշտական ընթացիկ վարորդ: Sparkfun PicoBuck- ն օգտագործվել է, քանի որ այն ապահովում է մշտական 350 մԱ մինչև 3 ելքային ալիք: 12 Վ լարման միացված է վարորդների Vin կապում: Վարորդն ունի մուտքային կապում ՝ ելքերի PWM- ը վերահսկելու համար, դրանք միացված էին Arduino- ի 3 -րդ և 5 -րդ կապերին:

Այնուհետև Bluetooth մոդուլը միացված էր: Bluetooth Rx-> Arduino Tx, Tx-> Rx և 5v.round:

Պատկեր
Պատկեր

LED- ները տեղադրված էին առանձին տախտակի վրա: Երկու սառը սպիտակ LED- ները միացված են շարքում, ինչպես նաև տաքերը: Սրանք միանում են վարորդի 1 -ին և 2 -րդ ելքերին: RGB լուսադիոդներն են ՝ Adafruit Neopixels; դրանք շղթայվող մոդուլներ են, որոնք կարող եք անհատապես վերահսկել Arduino- ի մեկ քորոցից անհատապես գույնն ու պայծառությունը: Սրանք միանում են 11 -րդ և 5V/հողային կապումներին:

Քայլ 3: Հավելվածի գյուտարար

Հավելվածի գյուտարար
Հավելվածի գյուտարար
Հավելվածի գյուտարար
Հավելվածի գյուտարար
Հավելվածի գյուտարար
Հավելվածի գյուտարար

Հավելվածը ստեղծելու համար ես օգտագործել եմ MIT App Inventor- ը, որն անվճար է և սովորելը/օգտագործելը բավականին հեշտ է: Սկզբում ես պետք է ստեղծեի հավելվածի էկրաններ/գրաֆիկա, դա կարելի է անել Photoshop- ում և այլն: Դա ավելի հեշտացնում է App Inventor- ը, եթե ունեք էկրանները կազմող բոլոր բաղադրիչները որպես առանձին պատկերներ/ֆայլեր:

Հավելվածի գյուտարարն ունի երկու տեսակետ, ահա «Դիզայներ» ներդիրը առջևի տեսողական իրերի համար և «Արգելափակումներ» ներդիրը ծածկագրի համար:

Օգտագործելով «Դիզայներ» ներդիրը, ես կառուցեցի ծրագրի էկրանները: Մի խնդիր, որը ես գտա, այն է, որ bluetooth- ի բաղադրիչը չի աշխատում մի քանի էկրանների վրա, այնպես որ «ողջույնի» էկրանից հետո մնացած բոլորը (միացում, RGB, գույնի ջերմաստիճան, ահազանգ) բոլորը ստեղծվում են նույն էկրանին `արդյունավետորեն միացրած շերտեր: /անջատված

Հիմնական գործիքները, որոնք ես օգտագործել եմ, «դասավորության/հավասարեցման» և «կտավի» համար են: Կտավը հպման զգայուն տարածք է, որը կարող եք ցուցադրել որպես պատկեր:

Տեսողական պատկերները կարգավորելուց հետո ժամանակն է անցնել «Արգելափակումներ» ներդիրին և գրել կոդը: Կարճ նկարագրեմ, բայց, հավանաբար, ավելի հեշտ կլինի, եթե իմ ֆայլը ներմուծեք App Inventor և խաղաք ձեր շուրջը…

Այս առաջին բլոկները միացման էկրանների համար են: Հավելվածին թույլ տալու համար փորձել ինքնաբերաբար միանալ Arduinos bluetooth մոդուլին, ես ստեղծում եմ և փոփոխական եմ դնում իմ HC06 հասցեի վրա: Ես օգտագործում եմ ժմչփ ՝ ֆոնային պատկերը միացնելիս փոխելու համար: Եթե կապը հաջող է, ապա այն բեռնում է գունավոր ջերմաստիճանի էկրանը: Եթե Bluetooth- ը չի կարողանում ինքնաբերաբար միանալ, ապա պետք է սեղմել «միանալ սարքին» կոճակը: Սա կբերի ձեր հեռախոսի բոլոր bluetooth սարքերի ցանկը: «Bluetoothclient1.connect» հրամանը օգտագործում է այն սարքի հասցեն, որին դուք ընտրում եք այդ ցուցակից ՝ միանալու համար:

Պատկեր
Պատկեր
Պատկեր
Պատկեր
Պատկեր
Պատկեր

Այս բլոկները վերահսկում են այն, ինչ տեղի է ունենում, երբ դիպչում եք ընտրացանկի յուրաքանչյուր կոճակին `փոխեք RGB- ի, գույնի ջերմաստիճանի և ազդանշանի միջև: Հպվելուն պես կիրառելի տեսողական շերտերը միացված և անջատված են: Այսինքն, երբ հպում եք RGB ընտրացանկի կոճակին, այն կոճակների կտավի ֆոնային պատկերը փոխում է մուգ պատկերակի, միացնում է RGB էկրանը, իսկ մյուսն անջատում է:

Էլեկտրաէներգիայի և պայծառության վերահսկումը կիսվում է RGB և գունավոր ջերմաստիճանի էկրանների միջև: Որպեսզի Arduino- ն իմանա, թե որ LED- ները պետք է կառավարել, ես պետք է ասեմ, թե որ էկրանն է բեռնված: Ձևաչափի տեքստ? (Էկրան): ուղարկվում է ձեր հեռախոսների bluetooth միջոցով BluetoothClient1. SendText հրամանի միջոցով:

Պատկեր
Պատկեր

Այս բլոկն ուղարկում է տողը (Power): երբ հոսանքի կոճակը սեղմված է:

Պատկեր
Պատկեր

Այս բլոկները վերահսկում են գույնի ջերմաստիճանի ճշգրտումը: Երբ կտավը դիպչում եք, ձեր հպման կետի Y կոորդինատը օգտագործվում է «թույն» փոփոխականը սահմանելու համար: Y արժեքը պայմանավորված է կտավի պիքսելային չափսերով, այնպես որ իմ դեպքում 0-ից 450-ի սահմաններում: Ես օգտագործում եմ բազմապատկիչը `այն օգտագործելի PWM արժեքի (0-255) փոխարկելու համար: Այնուհետև ես ուղարկում եմ այդ արժեքով տող և նույնացուցիչը ձևում (Tempvalue):

Պատկեր
Պատկեր

Նման բլոկներ, ինչպես վերևում, բայց պայծառության վերահսկման համար: Այս անգամ օգտագործելով X կոորդինատը և տարբեր բազմապատկիչներ ՝ «Bright» փոփոխականը 10 -ից 100 -ի սահմանելու համար:

Պատկեր
Պատկեր

Այս բլոկները նախատեսված են RGB կառավարման համար: Կա «GetPixelColor» կոչվող հրաման, որը կարող է օգտագործվել ձեր մատը դիպչող պիքսելների RGB արժեք ստանալու համար: Ինչ -ինչ պատճառներով վերջում այն ավելացնում է լրացուցիչ 255 -ով, այնպես որ ես մի փոքր աշխատանք եմ կատարում արժեքը ձևաչափի մեջ դնելու համար (RGBredvalue.greenvalue.bluevalue.): Կրկին սա այնուհետև ուղարկվում է Arduino- ին, բայց RGB- ում ՝ որպես տողում նույնացուցիչ:

Պատկեր
Պատկեր

Բլոկների հաջորդ հատվածը ազդանշանային կարգավորումների համար է: Առաջին բլոկը վերահսկում է այն, ինչ տեղի է ունենում, երբ դիպչում/քաշում եք արևը վեր և վար: Կրկին, «ստացեք ընթացիկ X և Y» հրամանները օգտագործվում են ձեր մատի գտնվելու վայրի արժեքը ստանալու և ֆոնի պատկերը փոխելու համար ՝ կախված արևի բարձրությունից: Արևի դիրքը նաև ազդանշան է միացնում կամ անջատում, սա ուղարկվում է bluetooth- ով:

Պատկեր
Պատկեր
Պատկեր
Պատկեր

Երբ դիպչում կամ ավարտում եք արևի շարժումը, այն բերում է ժամանակի ընտրիչ ՝ թույլ տալով ձեզ զարթուցիչի ժամ սահմանել: Այս հաջորդ բլոկի հիմնական մասը օգտագործում է ընթացիկ ժամանակը `պարզելու համար, թե քանի միլիվայրկյան կա մինչև ահազանգի կարգավորումը: Այս արժեքը այնուհետ ուղարկվում է Arduino- ին

Պատկեր
Պատկեր
Պատկեր
Պատկեր

Հաջորդ քայլում ես լուսաբանում եմ, թե ինչպես է Arduino- ն կարդում և օգտագործում տողերը…

Քայլ 4: Arduino կոդ

Ինչ վերաբերում է codeրագրի կոդին, ես դա կարճ կներկայացնեմ….

Սկզբում ես կարգավորում եմ իմ բոլոր փոփոխականները ՝ սենսորներն ու լուսադիոդները դնելով ճիշտ կապում: Դահլիճի ազդեցության տվիչներից ելքը կկարդա analogRead գործառույթի միջոցով ՝ տալով 0 -ից 1023 -ի արժեքը: Ինչպես նախկինում նկարագրված էր, այն թողնում է կեսը, երբ մագնիսներ չկան, ուստի մոտ 500 -ը: Ես օգտագործում եմ ցածր և բարձր ձգանման փոփոխականներ կարգավորեք, երբ իմանա, որ գրկիչը սենսորի վրայով է:

Պատկեր
Պատկեր

Նորագոյն պիքսելները պահանջում են գրադարան, որն այստեղ սահմանված է:

Պատկեր
Պատկեր
Պատկեր
Պատկեր

The void setup- ը սկսում է սերիալները, Micro the Rx/Tx կապում (bluetooth) օգտագործեք Serial1: Այնուհետև կապումներն են մուտքագրված կամ ելքային, իսկ LED- ները `անջատված:

Պատկեր
Պատկեր

Հիմա դա հիմնական հանգույցն է…

Այս առաջին բաժինը ստուգում է, թե արդյոք տվյալներ են ստանում fromրագրից: Serial1.available () սերիալն է կարդում և տողում ստանում է բայթերի քանակը: Եթե դա> 0 է, ես գիտեմ մուտքային տվյալները:

Եթե հիշում եք, բոլոր տողերը, որոնք ես ուղարկում եմ Հավելվածից, ավարտվում են հարցական նշանով…: այսինքն (Bright100)?

Ես օգտագործում եմ.readStringUnt ֆունկցիան մինչև սերիական տվյալները մինչև հարցական նշանը (Bright100) կարդալը և դրան BTstring փոփոխականը դնելը: Ես ստուգում եմ, արդյոք BTstring- ը ավարտվում է a)) -ով, որպեսզի համոզվեմ, որ ամբողջական հրամաններ են ստացվում: Եթե դրանք կան, ապա BluetoothProgram օղակը կոչվում է … սա նկարագրված է ավելի ներքևում:

Պատկեր
Պատկեր

Այս հաջորդ բիթը վերահսկում է արևածագի ահազանգը: Հիմնականում, եթե ահազանգը միացված է, և ժամանակը ճիշտ է, այն կսկսի մարել LED- ները: Մարդու աչքի շնորհիվ լոգարիթմիկ կերպով ընկալվող լույսը ավելի լավ է անել ցանկացած տեսակի լուսադիոդային մարումը վերև -ներքև `ոչ թե գծային, այլ` ցուցադրական կորով: Հետևաբար, հավասարումը տանում է PWM արժեքներին…

Պատկեր
Պատկեր

Uckրագրի վերահսկման հետ կապված միջամտությունից խուսափելու համար այն անջատվում է, երբ օգտագործում եք Հավելվածը: Տուփը նորից ակտիվացնելու համար անհրաժեշտ է այն 5 վայրկյանով հեռացնել արտադրանքից: Այս կոդի բիթը նախ ստուգում է, թե արդյոք բոլոր տվիչներն արտադրում են կայուն վիճակի արժեք (ոչ մագնիս), այնուհետև սկսում ժամաչափ: 5 վայրկյան լրացնելուց հետո BTinControl փոփոխականը վերադարձվում է կեղծ:

Պատկեր
Պատկեր

Այժմ կոճակի ծածկագիրը: Նախ պետք է կարդալ տվիչները:

Եթե լույսը ներկայումս անջատված է, այն կստուգի, թե արդյոք սենսորներից որևէ մեկը գտնվում է ձգանման կետերի վերևից կամ ներքևից, այսինքն ՝ տուփը տեղադրված է աղեղի վրա: Եթե այդպես է, ապա այն կվերանա սպիտակ LED- ները մինչև ձեր վերջին կարգավորումը, անկախ նրանից, թե որտեղ եք այն տեղադրում:

Պատկեր
Պատկեր
Պատկեր
Պատկեր

Որպեսզի LED- ները միացված լինեն ձեր վերջին պարամետրին ՝ այն սենսորների հետ գործածող արժեքներին թարմացնելու փոխարեն, MovedSinceStandby փոփոխականը սահմանվում է false: Կոդի այս հաջորդ բիթը հիմնականում ստուգում է, թե արդյոք պարկը սկզբնական դիրքից տեղափոխե՞լ եք սահմանված քանակությամբ…

Պատկեր
Պատկեր
Պատկեր
Պատկեր

Եթե դուք տեղափոխում եք քարը, «MainProgram» - ը կոչվում է թարմացնելու պայծառությունը/գույնի ջերմաստիճանը: Սա նկարագրված է ավելի ներքևում:

Պատկեր
Պատկեր

Այս հիմնական հանգույցի վերջին բիթը ստուգում է, թե արդյոք պարկը նորից տեղադրվել է սպասման հանգույցի վրա, թե արդյոք սենսոր 12 -ը կարդում է ազդանշանային ազդանշանի վերևից/ներքևի արժեքը: Եթե այո, ապա LED- ն հետ է մարում..

Պատկեր
Պատկեր

Bluetooth հանգույց

Ինչպես նկարագրված է վերևում, երբ տվյալները ստացվում են bluetooth- ով, տողը կարդացվում է: Այժմ մենք պետք է ստուգենք, թե ինչ է ասում այդ տողը…

Բոլոր տողերը, բացի պայծառությունից, գույնի ջերմաստիճանից և RGB- ից, բավականին հեշտ է գործ ունենալ: Դուք ստուգում եք, արդյոք BTstring- ը հավասար է fromրագրից ուղարկված տեքստին:

Եթե հիշում եք, հավելվածի էկրանները փոխելու դեպքում այն կուղարկի bluetooth հրաման: Այստեղ մենք հարցնում ենք դրա համար և որոշ փոփոխականներ դնում ճշմարիտ կամ կեղծ, որպեսզի իմանանք, թե որ էկրանին եք:

Յուրաքանչյուր բաժնի վերջում ես BTinControl փոփոխականը դնում եմ ճշմարիտ և մաքրում եմ BTstring արժեքը:

Պատկեր
Պատկեր
Պատկեր
Պատկեր

Հավելվածում հոսանքի կոճակին հպելիս այն LED- ները կվերանան վեր կամ վար: Վերևում նշված փոփոխականները, թե որ էկրանին եք, օգտագործվում են որոշելու համար ՝ վերահսկել RGB- ն, թե՞ սպիտակ լուսադիոդները:

Պատկեր
Պատկեր
Պատկեր
Պատկեր

Պայծառության, գույնի ջերմաստիճանի և RGB- ի համար ես պետք է կարդալ տողերը մի փոքր այլ կերպ: Քանի որ տողի թվային մասը փոխվելու է, ես հարց եմ տալիս ՝ արդյոք տողը սկսվում է նույնացուցիչներից մեկի՞ց, ոչ թե ամբողջական տողով, այնպես որ պարզապես (Պայծառ այստեղ..

Այժմ ես պետք է առանձնացնեմ իրական պայծառության արժեքը տողից: Հավելվածից ուղարկված տողի ձևաչափն է (Brightvalue), ուստի ես գիտեմ, որ պայծառության արժեքը կլինի «t» - ի և «) - ի միջև: «T» - ի դիրքը կմնա հաստատուն, այն միշտ կլինի տողի 7 -րդ նիշը: Բայց քանի որ պայծառության արժեքը կարող է լինել 10 -ից 100 -ի սահմաններում ')' դիրքը կփոխվի: Ես օգտագործում եմ.indexOf հրամանը `պարզելու համար, թե որտեղ է գտնվում ')' - ն, ինչ բնույթ է այն և այնուհետև կարող եմ օգտագործել.substring հրամանը` 7 -րդ նիշի և ')' բնույթի դիրքի միջև տողը կարդալու համար: Սա ինձ թողնում է միայն պայծառության արժեքը, որը ես կարող եմ օգտագործել RGB կամ սպիտակ LED- ները կարգավորելու համար `կախված էկրանից:

Պատկեր
Պատկեր

Գույնի ջերմաստիճանի ճշգրտումը նման գործընթաց է վերևին, բայց արժեքը այս անգամ կլինի «p» - ի և «) - ի միջև…

Պատկեր
Պատկեր

RGB ճշգրտման համար մենք ունենք երեք արժեք, որոնք պետք է հանենք տողից, բայց դա կրկին նմանատիպ գործընթաց է: Հավելվածից մենք ստանում ենք տողեր ձևով (RGBvalue.value.value)

Այսպիսով, ես գիտեմ, որ կարմիր արժեքը կլինի «B» - ի և առաջին կետի միջև: Կանաչ արժեքը գտնվում է 1 -ին/2 -րդ կանգառների միջև, իսկ կապույտ արժեքը `2 -րդ կետի և ')' միջև:

Արժեքները ստանալուց հետո նորափողերը դրվում են նոր գույնի…

Պատկեր
Պատկեր

Այստեղ մենք ստուգում ենք ՝ ահազանգը միացված է կամ անջատված: Եթե ահազանգի ժամը փոխվի, այսուհետ մեզ կուղարկվի միլիվայրկյան թվի տող `մինչև ահազանգը: Կրկին այս արժեքը հանվում է տողից և որպեսզի կարողանանք ստուգել, թե արդյո՞ք ժամանակն է սկսել արևածագը, մենք պետք է փոփոխական սահմանենք ընթացիկ ժամանակին (միլիլ):

Պատկեր
Պատկեր

Պակի վերահսկում

Ինչպես նկարագրված էր նախկինում, եթե բութը (մագնիսը) մի կողմից վեր է, այն դահլիճի սենսորի ելքը կքշի ցածր ձգանից ցածր, իսկ եթե մյուսը `բարձր ձգանից վերև:

Սա թույլ է տալիս վերահսկել և՛ պայծառությունը, և՛ գույնի ջերմաստիճանը միևնույն աղեղի վրա:

Սենսորների արժեքները կարդացվում են: Եթե դրանցից որևէ մեկը փոքր է ձգան ցածր արժեքից, ապա մենք ճշգրտում ենք գույնի ջերմաստիճանը: Աղեղի տարածքի տակ կա 11 սենսոր, որոնք ելքերն իրենց հերթին կիջնեն ձգանման կետից ներքև, երբ փունջը շարժվում է դրանց վրայով: Յուրաքանչյուր սենսոր ունի PWM արժեք սառը և տաք LED- ների համար ՝ սկսած սենսոր 1 -ից 100% տաք, 0% զով և աշխատելով մինչև 11 -րդ ՝ 0% տաք, 100% զով:

Պատկեր
Պատկեր
Պատկեր
Պատկեր
Պատկեր
Պատկեր

Պայծառության վերահսկումը կատարվում է նույն կերպ.. այս անգամ ստուգելը, թե արդյոք սենսորների ելքերը բարձր ձգանից բարձր են, և յուրաքանչյուր սենսորին տալիս են պայծառության կշռման արժեք:

Այս պայծառության կշիռը այնուհետև բազմապատկվում է գույնի ջերմաստիճանի արժեքով `ընդհանուր ելքային արժեքը տալու համար: Թույլ է տալիս ցանկացած գույնի ջերմաստիճան սահմանել ցանկացած պայծառության վրա…

Պատկեր
Պատկեր
Պատկեր
Պատկեր

Քայլ 5: Բնակարանային ապահովում

Բնակարանաշինություն
Բնակարանաշինություն
Բնակարանաշինություն
Բնակարանաշինություն
Բնակարանաշինություն
Բնակարանաշինություն
  1. Ես սկսեցի ստվարաթղթից կաղապարի պատրաստում ՝ պատյան ստորին հատվածի համար: Կառավարման տարածքի խորքերը ստեղծելու համար ես ունեի նրբատախտակի լազերային կտոր, որը կտրեց աղեղի ձևը և օգտագործեցի 5p մետաղադրամ «սպասման» նավահանգստի համար: Դրանք սոսնձված էին ստվարաթղթե կաղապարի վրա ՝ ուշադրություն դարձնելով դրանք ճիշտ դիրքում դնելուն, որը կհամապատասխաներ դահլիճի էֆեկտի տվիչներին:
  2. Հաջորդը պոլիուրեթանային խեժը խառնելն էր: Իմ օգտագործած նյութերն ունեն պարզ 1: 1 հարաբերակցություն և բուժում են մոտ 20 րոպեի ընթացքում: այնպես որ պետք է բավականին արագ աշխատել:
  3. Նախնական լցնելը պետք էր լցնել կաղապարի հատակը: Այս հավաքածուից հետո ես ավելացրեցի ստվարաթղթի ներքին պատը, որը թույլ տվեց ինձ թափել կողային պատերը:
  4. Վերին հատվածը ստեղծելու համար, որտեղ LED- ները նստելու էին, ես կտրեցի և սոսնձեցի մի պլաստիկ խողովակ/բաժակ տեղում անկյան տակ: Եվ կրկին խեժը լցվեց ներս և թույլ տվեց ամրացնել:
  5. Այժմ բնակարանն ամեն ինչ կարգին էր, ինձ հարկավոր էր մի քանի անցք բացել և լավ ավազ տալ:
  6. Primer- ը կիրառվեց, այնուհետև ցողվեց ներկի վերջնական ծածկով:

Քայլ 6. Հավաքում/Եզրակացություն

Assemblyողով/Եզրակացություն
Assemblyողով/Եզրակացություն
Assemblyողով/Եզրակացություն
Assemblyողով/Եզրակացություն
Assemblyողով/Եզրակացություն
Assemblyողով/Եզրակացություն
Assemblyողով/Եզրակացություն
Assemblyողով/Եզրակացություն
  1. DC ճակատի համար անցք է կտրվել պատյանից: Դրանից հետո վարդակը սոսնձված է:
  2. LED տախտակն այնուհետև կարող է պտտվել վերին հատվածում, իսկ լարերը հոսում են ներքևի հատվածին:
  3. LED- ի և DC- ի վարդակից լարերը այնուհետև պտուտակվեցին ճիշտ տերմինալային բլոկների մեջ:
  4. Հիմնական տախտակն այնուհետև պտուտակվում է պատյանում
  5. Նրբատախտակի մի կտոր այնուհետև պտուտակվում է ՝ ծածկելով տանիքի հատակը:
  6. Վերջնական բանն այն է, որ կպցնել «դակիչը» ՝ համոզվելով, որ մագնիսի բևեռները կողմնորոշվեն ճիշտ «պայծառության» կամ «գույնի ջերմաստիճանի» վերջնական կափարիչով:

Ընդհանուր առմամբ, լույսը բավականին լավ է աշխատում: Ironրագրակազմում կան մի քանի սխալ, որոնք պետք է արդուկվեն, և RGB LED- ները կարող են ավելի պայծառ լինել: Կարող եմ նաև ավելացնել շրջապատի լույսի սենսոր ՝ գույնի ջերմաստիճանը ինքնաբերաբար փոխելու համար ՝ ցերեկը սկսելով «զով» և գիշերը «տաք»:

Շնորհավոր ընթերցանություն:

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