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

Rainbow Dice: 6 քայլ (նկարներով)
Rainbow Dice: 6 քայլ (նկարներով)

Video: Rainbow Dice: 6 քայլ (նկարներով)

Video: Rainbow Dice: 6 քայլ (նկարներով)
Video: Как ПОДСТРИЧЬСЯ самой ? ЛЕГКО ! Видео урок №6 2024, Նոյեմբեր
Anonim
Rainbow Dice
Rainbow Dice

Սա դարձնում է զառախաղերի տուփ, որտեղ տեղադրված է 5 գունավոր smd LED- ներ `5 գույնով: Այն աշխատող ծրագրակազմը թույլ է տալիս տարբեր խաղային ռեժիմներ ՝ ներգրավված բազմաթիվ զառախաղերով:

Մեկ հիմնական անջատիչ թույլ է տալիս խաղի ընտրություն և զառեր գլորել: Յուրաքանչյուր անջատիչի կողքին տեղադրված առանձին անջատիչները թույլ են տալիս ընտրել կամ վերահսկել ըստ խաղի տեսակի:

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

Էլեկտրոնիկան հիմնված է ESP8266 մոդուլի (ESP-12F) շուրջ, որն աշխատում է վեբ սերվերով, որը թույլ է տալիս հեշտ որոնվածի թարմացում և խաղերի մոնիտորինգի / ընդլայնման հնարավորություն:

Տուփը սնուցվում է մարտկոցով `վերալիցքավորվող մարտկոցով, և քանի որ ընթացիկ սպառումը բավականին համեստ է, այն կաշխատի շատ ժամեր մեկ լիցքավորմամբ:

Քայլ 1: Մասեր և գործիքներ

Մասեր և գործիքներ
Մասեր և գործիքներ
Մասեր և գործիքներ
Մասեր և գործիքներ
Մասեր և գործիքներ
Մասեր և գործիքներ

Բաղադրիչներ

Հետեւյալ բաղադրիչներն անհրաժեշտ են. Նրանք բոլորը հասանելի են eBay- ում

  1. ESP-12F ESP8266 wifi մշակման մոդուլ: (1,50 £)
  2. 18650 մարտկոց և պահոց (3.00 £)
  3. SMD LED- ներ x7 կարմիր, կապույտ, կանաչ, դեղին, սպիտակ (յուրաքանչյուր գույնի 20 հատ £ 0.99 £)
  4. Սեղմեք կոճակը 6 մմ անջատիչներ x6 (£ 0.12)
  5. Սահեցրեք միացման/անջատման մինի 8x4 մմ (£ 0.10)
  6. LIPO USB մարտկոցի լիցքավորման մոդուլ (20 0.20)
  7. n ալիք MOSFETS - AO3400 x6 (£ 0.20)
  8. 3.3 Վ Lowածր ելքի կարգավորիչ - XC6203E (£ 0.20)
  9. 220uF էլեկտրոլիտիկ (£ 0.15)
  10. 220R դիմադրություն x5 (£ 0.05)
  11. 4K7 դիմադրություն x 6 (0.06)
  12. Նախատիպի տախտակ մեկուսացված կրկնակի կողային անցքեր (50 0.50)
  13. Fկուն մետաղալար
  14. Էմալապատ պղնձե մետաղալար 32
  15. Վերնագրի կապում 40 պին շերտ x3 (£ 0.30)

Բացի այդ, անհրաժեշտ է պարիսպ: Ես նախագծեցի 3D տպագիր տուփ, որը կարող էր պահել ամեն ինչ և թույլ է տալիս LEDS- ին փայլել: Սա հասանելի է Thingiverse- ում:

Գործիքներ

  1. Ineոդման նուրբ կետ
  2. Նուրբ պինցետներ
  3. Մետաղալար կտրիչներ
  4. Կրտսեր հաք սղոց
  5. Ասեղ ֆայլերը օգտակար են
  6. Խեժի սոսինձ
  7. Մուտք դեպի 3D տպիչ, եթե տուփի դիզայնը ներառված է:

Քայլ 2: Շրջանի նկարագրություն

Շղթայի նկարագրություն
Շղթայի նկարագրություն

Սխեման ցույց է տալիս ESP-12F մոդուլը, որը վարում է զառերը կազմող 5 LED զանգվածները:

Յուրաքանչյուր զառախաղ բաղկացած է 7 LED- ներից, որոնք դասավորված են 3 զույգով (2 անկյունագծով և միջինով) գումարած մեկ կենտրոնական LED: Սրանք պետք է 4 GPIO կապում `LED- ները ցուցադրելու համար ընտրելու համար: 220R դիմադրիչներն օգտագործվում են հոսանքը որոշելու համար, իսկ 2 -ը ՝ հաջորդաբար ՝ կենտրոնական LED- ի համար, որպեսզի հոսանքը նույնը լինի:

5 զառախաղերը բազմապատկվում են 5 GPIO գծերով, որոնք շարժում են MOSFET անջատիչները: Միաժամանակ միացված է միայն մեկ անջատիչ: Theրագիրը թույլ է տալիս 1mSec մեկ մահճի համար, այնպես որ ընդհանուր թարմացման ժամանակահատվածը 200Hz է, և թարթում չկա:

Յուրաքանչյուր անջատիչի հետ կապված է 5 անջատիչ: Քանի որ GPIO- ն սահմանափակ է, դրանք կարդացվում են ՝ օգտագործելով նույն տողերը, որոնք օգտագործվում են սալիկի բազմապատկման համար: Մուլտիպլեքսային հաջորդականության ընթացքում այս կառավարման տողերը սահմանվում են որպես մուտքեր `քաշքշուկներով և անջատիչների վիճակի ընթերցմամբ: Այնուհետեւ դրանք վերադարձվում են ելքերին `մուլտիպլեքս հաջորդականության մնացած մասի համար:

Ընդհանուր վերահսկողության 6 -րդ անջատիչը կարդում է GPIO16 տողը: Սա կարող է ունենալ միայն ձգում դեպի ներքև, այնպես որ անջատիչը միացված է 3.3 Վ լարման: Սա բաց է, երբ անջատիչը բաց է և բարձր, երբ այն փակ է:

Քայլ 3. DIE- ի կառուցում

DIE- ի կառուցում
DIE- ի կառուցում
DIE- ի կառուցում
DIE- ի կառուցում

Սա աշխատանքի առավել ժամանակատար մասն է և խնամքի կարիք ունի:

Յուրաքանչյուր սալիկ կառուցված է 6 անցք x 6 անցք քառակուսի նախատիպերի տախտակի կտորի վրա: Առաջին քայլը դրանցից 5 -ը մեկ տախտակից կտրելն է ՝ օգտագործելով մինի հաք սղոց: Փորձեք հնարավորինս փոքր սահման թողնել անցքերից դուրս:

Հաջորդ փուլն այն է, որ յուրաքանչյուր կողմում ավելացնենք 2 6 պին վերնագիր, իսկ դրանց կողքին `3 հավաքածու` 3 մեկական կապում, այնուհետև մեջտեղում ևս մեկ զույգ: Սրանք են, որ կպահեն SMD LED- ները: Ես գտնում եմ, որ լավ է հեռացնել չօգտագործված 2 կապում արտաքին սյուներից յուրաքանչյուրը: Տախտակի վերին կողմը, որտեղ պետք է տեղադրվեն LED- ները, պետք է կտրված լինեն վերնագրի քորոցները, որպեսզի մոտ 1 մմ դուրս ցցված լինի: Փորձեք դրանք պահել բոլոր մակարդակի վրա: Սա թույլ է տալիս LEDS- ը դուրս գալ տախտակի մակերևույթից վեր:

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

Դիոդների բեւեռականությունը պետք է ճիշտ լինի: Ես կազմակերպում եմ, որ արտաքին բոլոր վերնագրերի կապումներն անոդներին միացված լինեն: Ես կենտրոնական LED- ով նույն կողմնորոշումն ունեի, ինչ ձախ սյունակը (դիտվում է դեմքից և պահեստային շարքով ներքևում: Դիոդները կաթոդի վրա ունեն թույլ նշան, բայց լավ է նաև մետրով ստուգելը: Դիոդները իրականում լուսավորվում է դիմադրության միջակայքը (ասենք 2K) և կարմիր կապարը անոդի վրա և սևը կաթոդի վրա: Նրանք հակառակը մնում են չլուսավորված: Սա նաև գույները ստուգելու լավ մեթոդ է:

Երբ LED- ները տեղադրված են, մնացած տախտակը կարող է ավարտվել:

Գրատախտակի ներքևի մասում:

  1. Լայնացրեք բոլոր կաթոդները ՝ օգտագործելով մեկ բարակ մեկլար մետաղալար ՝ չմեկուսացված:
  2. Mosfet- ը կպցրեք կաթոդի լարին միացված ջրահեռացման քորոցով
  3. Միացրեք mosfet աղբյուրը նրա վերնագրի քորոցին, որն ի վերջո կլինի 0 Վ
  4. 4K7 ռեզիստորով դարպասը լարեք դրա վերնագրի քորոցին: Լավ է դա արմատավորել մեկ այլ ստորին անցքի միջոցով, ինչպես ցույց է տրված, քանի որ այստեղ է, որ անջատիչը կկապվի:

Գրատախտակի առջևի մասում միացրեք 3 զույգ անոդները:

  1. Օգտագործեք զոդվող էմալապատ մետաղալար `պրոֆիլը ցածր պահելու համար:
  2. Յուրաքանչյուր մետաղալարերի մեկ ծայրը նախապես թիթեղացրեք
  3. Sոդեք այն մեկ անոդի վրա:
  4. Ուղղեք այն և կտրեք երկարությամբ:
  5. Նախապես թիթեղացրեք և կպցրեք այն համապատասխան անոդների զույգին:

Այս պահին լավ է յուրաքանչյուր սալիկի նախնական փորձարկում կատարել `օգտագործելով բազմաչափը: Սովորական կաթոդների վրա սև կապարով (Mosfet drain) կարմիր կապարը կարող է տեղափոխվել դեպի 3 անոդ զույգ և մեկ անոդ: Համապատասխան LED- ները պետք է լուսավորվեն:

Քայլ 4: Տուփի կառուցում

Տուփի կառուցում
Տուփի կառուցում
Տուփի կառուցում
Տուփի կառուցում
Տուփի կառուցում
Տուփի կառուցում
Տուփի կառուցում
Տուփի կառուցում

Սա ենթադրում է, որ օգտագործվում է 3D տպագիր տուփի տարբերակը: Տուփն ունի ներդիրներ յուրաքանչյուր սալիկի և յուրաքանչյուր LED- ի համար: Յուրաքանչյուր LED- ի ներքևի շերտը շատ բարակ է (0.24 մմ), այնպես որ սպիտակ պլաստիկով այն թույլ է տալիս լույսը շատ լավ փայլել և հանդես է գալիս որպես դիֆուզոր: Բոլոր անջատիչների համար կան անջատիչներ և լիցքավորման կետ: Մարտկոցն ունի իր սեփական խցիկը:

Նախ տեղադրեք 6 մինի կոճակի անջատիչները և սահեցրեք անջատիչը տեղում: Համոզվեք, որ դրանք համընկնում են արտաքինի հետ: Կոճակի անջատիչներին զուգահեռ լարված են երկու զույգ կոնտակտներ: Ուղղորդեք դրանք այնպես, որ անջատիչ կոնտակտները հարևան լինեն նրանց մահակին: Օգտագործեք արագ կարգավորող խեժ ՝ տեղում ամրացնելու համար:

Այժմ տեղադրեք մարտկոցը և դրա տուփը տրամադրված տարածքում: Այն պետք է լինի բավականին հարմարավետ, բայց անհրաժեշտության դեպքում օգտագործեք մի փոքր սոսինձ:

Կպչեք LIPO լիցքավորիչը պատին, որն ապահովված է իր անցքով անցնող միկրո USB- ով:

Լրացրեք էլեկտրահաղորդման հիմնական լարերը ՝ մարտկոցը միացնելով սեղմման կոճակի բոլոր անջատիչների և LIPO B- միացման միջոցով և թողնելով խոզերի պոչը էլեկտրոնիկայի հետ միացման համար: Մարտկոցը + պետք է B + անցնի LIPO լիցքավորիչի վրա և սահեցրեք անջատիչը: Սահիկի անջատիչի մյուս կողմը պետք է անցնի վեցերորդ անջատիչը և խոզուկի պոչը էլեկտրոնիկայի համար: Համոզվեք, որ սահիկի անջատիչը անջատված վիճակում է և ժամանակավորապես մեկուսացրեք խոզերի պոչերը: Դուք չեք ցանկանում մարտկոցը կարճացնել:

Pigոդեք խոզերի երկու կարճ չմեկուսացված պոչերի վրա `5 սատկի անջատիչներից յուրաքանչյուրին: Սրանք պետք է մի փոքր ճկուն լինեն:

Տեղադրեք և ամրացրեք սալիկներից յուրաքանչյուրը իր դիրքում `երկու անջատիչ խոզուկների վրա սոսնձելով սալիկի տախտակի վրա` համոզվելով, որ անջատիչի 0V- ը միացված է mosfet աղբյուրին / 0V կետին, իսկ անջատիչի կենդանի կողմը `4K7 / դարպասին: մոսֆեթ Տախտակի վրա գտնվող LED- ները պետք է տեղավորվեն պատյանում, իսկ անջատիչի լարերը պետք է բավարար լինեն, որպեսզի սալիկը դիրքում պահի:

Հաջորդը միացրեք 5 զառախաղի բոլոր սովորական անոդները: Դա հեշտացվում է նրանով, որ դիոդային զույգերի միացումները հասանելի են սալիկի երկու կողմերում, սակայն հիշեք, որ դրանք հատվում են անկյունագծերի վրա: Մի շփոթվեք պատկերով կարմիր մետաղալարով, որն ակնհայտորեն մեռնում է: Դա պարզապես խոզուկն է և այս փուլում որևէ բանի հետ կապված չէ:

ESP-12F կազմը:

Նկատի ունեցեք, որ գուցե ցանկանաք ծրագրավորել ESP-12F մոդուլը նախքան այն ամրացնելը: Երբ այն լուսավորվի, մնացած բոլոր թարմացումները կարող են կատարվել wifi OTA- ի միջոցով:

Կազմեք 3.3V կարգավորիչը նախատիպ քարտից մի փոքր ձախ կողմում: Սա պարզապես ունի LDO կարգավորիչ և անջատման կոնդենսատոր: Չնայած էներգիայի սպառումը շատ ցածր է, ես մի քանի կոնտակտներ միացրի միասին ՝ սարքի համար որպես ջերմահաղորդիչ հանդես գալու համար: Երկու մետաղալարեր կարող են դուրս պրծնել և ուղիղ միացում կազմել ESP-12F- ի 3.3V / 0V- ի հետ:

Լարերի վրա զոդեք GPIO- ի կապում 5 մուլտիպլեքս գծերի և անջատիչի համար: 6 LED անոդի վարորդական գծերին անհրաժեշտ է 220R / 440R շարքի դիմադրողականները: Կարելի է դրա համար ESP-12F- ի վրա օգտագործել փոքր անցքերի դիմադրողներ, կամ ես դա արել եմ SMD- ով, որը պարզապես կուտակված է անցքերի վրա, ինչը նույնպես բավականին ամուր է:

Ի վերջո, մուլտիպլեքս գծերը միացրեք առանձին վերնագրի գլխիկների և անոդի շարժիչի գծերը `դրանց համապատասխան երիցուկի շղթայի միջոցով:

Քայլ 5: Softwareրագրակազմ

Դրա ծրագրաշարը հիմնված է ESP8266 Arduino միջավայրի վրա: Այն հասանելի է github- ում:

Կոդը հասանելի է այստեղ

Կա diceDriver գրադարան, որն ապահովում է ցածր մակարդակի գործառույթներ, որոնք օգտագործվում են LED- ները բազմապատկելու և անջատիչները կարդալու համար: Սա ընդհատված է, ուստի երբ զառերի արժեքները սահմանվեն, այն ինքնապահպանվում է:

Ընդհանուր ժամկետը բաժանված է 1 mSec ինտերվալի մեկ բաժակի համար: Այս 1 mSec- ի ընթացքում LED- ները միացված ժամանակահատվածը կարող է սահմանվել յուրաքանչյուր սալիկի համար ինքնուրույն: Սա թույլ է տալիս լուսավորությունը հավասարակշռել տարբեր գույների վրա, ինչպես նաև թույլ է տալիս լուսավորություն և առկայծում ՝ որպես խաղի կառավարման մաս:

Գրադարանը կարդում է նաև զառերի անջատիչները ՝ որպես մուլտիպլեքսի մաս և ունի մեկ կամ մի քանի զառախաղ զուգահեռ «գլորելու» ռեժիմ:

Էսքիզը օգտագործում է գրադարանը `զառախաղերի ռեժիմների ընտրանի տրամադրելու և այս խաղերը գործարկելու համար: Այն նաև ապահովում է սպասարկման գործառույթներ ՝ սկզբում wifi կարգավորելու, OTA- ն ներբեռնելու նոր որոնվածը և որոշ հիմնական վեբ գործառույթներ տրամադրելու համար ՝ սարքի կարգավիճակը ստուգելու և ստուգելու համար:

Րագիրը կազմված է Arduino IDE- ում: Ինչպես նաև ino- ն այն օգտագործում է BaseSupport գրադարանը `հիմնական գործառույթներ ապահովելու համար: Սա կազմաձևված է տեղական BaseConfig.h ֆայլում: «Գաղտնաբառի» կանխադրված գաղտնաբառ օգտագործվում է նրա wifi կարգավորմանը միանալու համար: Դուք գուցե ցանկանաք դա փոխել այլ բանի: Կարող եք նաև այն կարգավորել wifi ֆիքսված հավատարմագրերով, եթե չեք ցանկանում օգտագործել ներկառուցված կարգավորումը: Նմանապես, OTA որոնվածի թարմացման գործընթացի համար կա նույն կանխադրված գաղտնաբառը, որը կարող եք փոխել: Առաջին անգամ որոնվածը պետք է բեռնված լինի Arduino IDE- ի սերիական միացման միջոցով: Սա պետք է ենթարկվի flashրամեկուսացման սովորական կանոններին, երբ GPIO0- ը ցածր է քաշվել վերակայման ժամանակ, որպեսզի այն անցնի ֆլեշ սերիայի ռեժիմի: Դա ավելի հարմար է արվել նախքան մոդուլի վերջնական լարումը, բայց այն կարող է կատարվել տեղում, եթե սեղմակները կցվեն համապատասխան կապում:

Երբ որոնվածը առաջին անգամ գործարկվի, այն չի կարող միանալ տեղական wifi- ին և ինքնաբերաբար կմտնի կարգաբերման ռեժիմ ՝ սեփական մուտքի ցանց ստեղծելով: Դուք կարող եք դրան միանալ wifi սարքից (օրինակ ՝ հեռախոսից), այնուհետև թերթել 192.168.4.1 հասցեով, որը թույլ կտա ընտրել իրական տեղական wifi- ն և մուտքագրել դրա գաղտնաբառը: Եթե դա լավ է, այն կվերագործարկվի և կօգտագործվի այս ցանցից:

OTA- ն կատարվում է Arduino IDE- ում երկուական ֆայլերի արտահանումով, այնուհետև դիտում դեպի ip/որոնվածը, որտեղ ip- ը վանդակի ip- ն է, երբ միացված է: Սա կհուշի / կփնտրի նոր երկուական:

Այլ վեբ գործառույթներ են

  • setpower - ուժ է սահմանում մահանի համար (ip/setpower? զառախաղ = 3 & power = 50)
  • setflash - զառերի համար ֆլեշ է դնում (ip/setflash? mask = 7 & interval = 300)
  • setdice - սահմանում է մեկ արժեքի արժեք (ip/setdice? զառախաղ = 3 & արժեք = 2)
  • պարամետրեր - սահմանում է գլորման պարամետրեր (ip/parameters? mask = 7 & time = 4000 & interval = 200)
  • կարգավիճակ - վերադարձնում է զառերի արժեքները և փոխում կարգավիճակը

Քայլ 6: Խաղեր

Theրագիրը թույլ է տալիս խաղի ընտրություն և խաղերի կառավարում, որոնք կառավարվում են հիմնական անջատիչով:

Սկզբում համակարգը գտնվում է խաղի կարգավորման ռեժիմում, և միայն առաջին սալիկը ցույց է տալիս «1»: Դուք շրջում եք խաղի 12 տարբեր եղանակներով ՝ այս կոճակի կարճ սեղմումներով: Առաջին սալիկը դառնում է 1 - 6, այնուհետև մնում է 6, իսկ երկրորդը `1-6:

Որևէ խաղ ընտրելու համար դուք երկար սեղմում եք կոճակը (> 1 վայրկյան) և այն դնում խաղի գործարկման ռեժիմի:

Խաղի ընթացքում սովորաբար ռոլը սկսվում է այս անջատիչի կարճ սեղմումով: Գործարկման ռեժիմից խաղի ընտրելու ռեժիմին վերադառնալու համար երկար սեղմեք այս անջատիչը, և այն կցուցադրի խաղի համարը, ինչպես նախկինում և թույլ կտա հետագա ընտրություն:

Խաղի 9 ռեժիմ այս պահին սահմանված է 3 պահեստայինով:

1 -ից 5 խաղերն այդքան զառախաղի պարզ գլանափաթեթներ են: Յուրաքանչյուր գլան պարզապես գլորում է բոլոր զառախաղերը: Iceառերի անջատիչներն այս խաղերում որևէ ազդեցություն չունեն:

6 -րդ խաղը զառերի դինամիկ թիվ է: Սեղմեք սլաքների անջատիչներից մեկը ՝ զառերի թիվը ընտրելու համար, այնուհետև հիմնական անջատիչը ՝ զառերը գլորելու համար: Յուրաքանչյուր գլորումից առաջ կարող է փոխվել զառերի թիվը:

7-րդ խաղը բազմաշերտ նետում է: Բոլոր 5 զառերը ներգրավված են: Հիմնական անջատիչի սեղմումը գլորում է բոլոր զառերը: Յուրաքանչյուր մահճակալի անջատիչ սեղմելը ստիպում է այն բռնկվել: Երբ հիմնական անջատիչը սեղմված է, միայն թարթող լուսամփոփը գլորվելու է, բացառությամբ, որ եթե ոչ մեկը չի թարթում, ապա բոլորը գլորվելու են: Սա նման է պոկեր զառի կամ Յահցեյի: Նշենք, որ թույլատրված նետումների քանակի կիրառում չկա: Դա կախված է խաղացողի ամբողջականությունից:

8 -րդ խաղը նման է 7 -րդ խաղին, բացառությամբ dim- ի, որն օգտագործվում է նշած ընտրված կափարիչը չլարացող:

Խաղ 9 -ում գլանափաթեթները որոշելու համար օգտագործվում են կափույր անջատիչներ: Եթե ընտրված է լավագույն 3 -ից մեկը, ապա դա որոշում է զառերի թիվը, որոնք գլորում են 1, 2 կամ 3): Հետո, եթե սեղմված է ստորին 2 անջատիչներից մեկը, ապա վերին շարանը պահվում է, և դա ընտրում է ներքևի շարքում գլորվող զառերի քանակը (1 կամ 2): Սա օգտագործվում է այնպիսի խաղերում, ինչպիսիք են Risk- ը:

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