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

Ազիմութալ պրոյեկցիոն 3D քարտեզի ձևավորում X ժողովրդական երաժշտություն հանելուկ խաղ - Arduino: 7 քայլ
Ազիմութալ պրոյեկցիոն 3D քարտեզի ձևավորում X ժողովրդական երաժշտություն հանելուկ խաղ - Arduino: 7 քայլ

Video: Ազիմութալ պրոյեկցիոն 3D քարտեզի ձևավորում X ժողովրդական երաժշտություն հանելուկ խաղ - Arduino: 7 քայլ

Video: Ազիմութալ պրոյեկցիոն 3D քարտեզի ձևավորում X ժողովրդական երաժշտություն հանելուկ խաղ - Arduino: 7 քայլ
Video: Флаг Организации Объединённых Наций (ООН). 2024, Դեկտեմբեր
Anonim
Image
Image
Նախագծեք խորհուրդը
Նախագծեք խորհուրդը

ՆԵՐԱՈԹՅՈՆ

Հետևյալ էջը ձեզ կսովորեցնի, թե ինչպես ստեղծել Arduino նախագիծ, որն ունի երկու հիմնական գործառույթ ՝ պարզ ձևավորում լուսավորությամբ և ժողովրդական երաժշտություն հանելուկ խաղով, որը ներառում է աշխարհագրության, երկրաչափության, քարտեզների, Միավորված ազգերի կազմակերպության և երաժշտության ոլորտները միասին մեկում: Կառուցելով վեցանկյունների կառուցվածքը ՝ սարքը պատկերում է աշխարհի քարտեզը Ազիմութալ հավասար հեռավորության պրոյեկցիայում, որը ՄԱԿ -ի կողմից կիրառվող քարտեզի ձևն է (և դրա խորհրդանիշը):

Հարդարման ռեժիմն ակտիվացնելիս քարտեզի մայրցամաքները կփայլեն տարբեր գույներով, որոնք որոշվում են RGB արժեքների պատահական համադրությամբ `RGB LED- ների միջոցով:

Խաղի ռեժիմը, մյուս կողմից, պահանջում է, որ օգտվողները ճանաչեն ժողովրդական երաժշտության ծագումը (ընտրված պատահականորեն 1 -ից 20 թվեր ստեղծելով) և իր պատասխանի մայրցամաքային տախտակը համապատասխան դիրքում դնեն հիմնական փայտե տախտակի վրա ժամանակը (նախապես սահմանված 1 րոպե):

_

ՄԱՐPLԵՐ

Իրական նյութեր

  • 5 մմ RGB LEDs *20
  • Լարերը
  • Ռեզիստորներ *9
  • Arduino Board *1 (ցանկացած տեսակի)
  • Հացաթղթեր *3
  • Կոճակներ *7
  • LCD ցուցադրման տախտակ I2C *1
  • Ստվարաթղթե տուփ (13*9*5.7 դյույմ; 33*23*14.5 սմ)
  • Փայտե տախտակ (37.5*29*0.8 սմ)
  • Ակրիլային տախտակներ (թափանցիկ * 2, կիսաթափանցիկ * 1)
  • Դյուրակիր լիցքավորիչ *1

Գործիքներ:

  • Սայր *1
  • Ուլտրամանուշակագույն բուժիչ սոսինձներ *1
  • Երկկողմանի Կասետային *1 գլան
  • Տաք սոսինձ ատրճանակ *1

Մեքենաներ:

Լազերային կտրող մեքենա

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

  • Adobe Illustrator
  • Adobe Photoshop
  • Rhino 3D

Քայլ 1. Նախագծեք խորհուրդը

Կարող եք ուղղակիորեն ներբեռնել կցված ֆայլը կամ հետևել ստորև նշված քայլերին:

Քարտեզի ուրվագծում

  1. Ներբեռնեք քարտեզի ուրվագիծը Google- ից

    1. Google- ը «Միացյալ ազգերի լոգոն»
    2. Ընտրեք «գործիքներ - չափ - մեծ»
    3. Ներբեռնեք ձեր ամենասիրված պատկերը (այս նախագծում օգտագործվածը ՝ հղում) *Փորձեք չընտրել մայրցամաքային հողերի հետ համընկնող բարդ գծեր ունեցողները *
  2. Ներբեռնված քարտեզը փոխանցեք տպագրական տարբերակին

    1. Գունավորեք անցանկալի շրջանները սպիտակի միջոցով ՝ օգտագործելով ներկի խոզանակի գործառույթը Adobe Photoshop- ում
    2. Արտահանել ֆայլը (JPEG)
    3. Ֆայլը ներմուծեք Adobe Illustrator և օգտագործեք «պատկերի հետք» գործառույթը ՝ քարտեզը հետագծելու համար
    4. Արտահանել ֆայլը (dxf)

Վեցանկյուն ֆոնի ավելացում

  1. Ներմուծեք dxf ֆայլը Rhino- ի մեջ
  2. Ընտրեք «բազմանկյուն» գործառույթը և «6» -ում ստեղնը «NumSides» տարբերակի համար
  3. Մուտքագրեք «3.5» շառավիղի արժեքը
  4. Նկարեք հավասար չափի 28 վեցանկյուն
  5. Արտահանեք ֆայլը 3dm- ով

Քայլ 2: Լազերային կտրում

Image
Image
Լազերային կտրում
Լազերային կտրում
Լազերային կտրում
Լազերային կտրում
Լազերային կտրում
Լազերային կտրում
  1. Ներմուծեք նախկինում ավարտված ֆայլը xxx:
  2. Լազերային կտրող մեքենայի միջոցով տպեք հիմնական մարմինը փայտե տախտակի վրա և մայրցամաքները `ակրիլային տախտակների վրա (2 թափանցիկ և 1 կիսաթափանցիկ) (տեսանյութերը ներկայացված են վերևում)

Քայլ 3: Կառուցեք սարքը

Կառուցեք սարքը
Կառուցեք սարքը
Կառուցեք սարքը
Կառուցեք սարքը
Կառուցեք սարքը
Կառուցեք սարքը

Տախտակներ լազերային կտրումից հետո

  • Ակրիլային մայրցամաքներ

    1. Օգտագործեք ուլտրամանուշակագույն բուժվող սոսինձներ `յուրաքանչյուր մայրցամաքի երեք տախտակները սոսնձելու համար (կիսաթափանցիկ` որպես միջին շերտ)
    2. Օգտագործեք ուլտրամանուշակագույն ճառագայթը `փայլեցնելով սոսնձված հատվածներին, որպեսզի սոսինձները կարծրանան
  • Փայտե տախտակի հիմք

    1. Ձեռքով հեռացրեք հիմնական փայտե տախտակի վրա խրված փոքր հողատարածքները
    2. *Եթե փայտե տախտակի որևէ մաս կոտրված է, օգտագործեք ուլտրամանուշակագույն բուժվող սոսինձներ դրանք հետ կպցնելու համար*

Հիմքի կառուցում (ամբողջ սարքի ստորին հիմքը)

  1. Գտեք համապատասխան չափի ստվարաթղթե տուփ, որի չափերը մոտ են 13*9*5.7 դյույմ (33*23*14.5 սմ)
  2. Օգտագործելով փայտե տախտակը ՝ որպես հղումային մոդել, հետևեք մայրցամաքային մասերին տուփի վերին մակերեսին
  3. Հետևեք կոճակների ստորին հատվածին տուփի վերին մակերևույթին, յուրաքանչյուր կոճակ կենտրոնացած է յուրաքանչյուր հետագծված մայրցամաքային մասի ներսում
  4. Օգտագործեք սայր կոճակի մասերը կտրելու համար ՝ հետևելով հետքերին
  5. Հետագծված մայրցամաքային մասերում կոճակը շրջապատող կարճ հատվածները կտրելու համար օգտագործեք սայր
  6. Հետևեք կոճակի ևս երկու ստորին հատված տուփի աջ կողմում (փորձեք հավասարեցնել հետքերը նույն բարձրությամբ)
  7. Հետևեք LCD էկրանին տուփի աջ կողմում (նախորդ քայլի երկու կոճակների վերևում)
  8. Կտրուկի երկու մասերը և LCD հատվածը կտրելու համար օգտագործեք սայր ՝ հետևելով 6 -րդ և 7 -րդ քայլերի հետքերին

Քայլ 4: Կառուցեք սխեմաները

Կառուցեք սխեմաները
Կառուցեք սխեմաները

Անդրադառնալով վերը նշված սխեմաներին, կառուցեք շրջանը:

Նշում:

  • RGB LED- ների և կոճակների դիմադրողները տարբեր են, ՆԱՅԵՔ ՄԱՔՍԱ:
  • Քանի որ վերևում ցուցադրվող LCD տախտակը չունի I2C մոդել, այն կատարյալ միացված չէ: (LCD ցուցադրման տախտակները I2C մոդելներով պետք է միացնել միայն չորս կապում)

    • Միացրեք GND- երը ցուցադրիչի և Arduino տախտակի վրա
    • Connectուցադրիչի VCC- ն միացրեք հացատախտակին դրված դրական կապումներով
    • Միացրեք SDA- ն ցուցադրիչի և Arduino տախտակի վրա
    • Միացրեք SCL- ները ցուցադրիչի և Arduino տախտակի վրա

Քայլ 5: Վերբեռնեք ծածկագիրը

Այս նախագծի ծածկագիրը կարելի է գտնել այստեղ կամ ստորև:

Յուրաքանչյուր ծածկագրող տող ունի կողային նշում, որը բացատրում է դրա նպատակը և գործառույթը:

Նշում:

  • Բոլոր հատուկ D կապումները կարող են փոխվել և ճշգրտվել ՝ հիմնվելով ձեր սխեմայի դասավորության վրա
  • Բոլոր հետաձգված վայրկյանները կարող են փոխվել տարբեր արժեքների, բայց ՉԻ DEՆTEԵԼ դրանք: (Այս հետաձգված վայրկյանները թույլ են տալիս կոդը ավելի տրամաբանական հոսել: Առանց դրանց, կոդի որոշ հատվածներ կարող են չաշխատել):
  • 24 -րդ տողում («օղակի համար» ներածություն) կարող եք նշանակել այն կրկնությունների քանակը, որոնցով կցանկանայիք, որ օղակը գործարկվեր (սկզբնական արժեքը 5 է)
  • RGB LED- ների գույնի համադրությունը յուրաքանչյուր կոճակի «եթե սեղմված է» և «եթե սեղմված չէ» օղակներում կարող են ճշգրտվել և հարմարեցվել: (Սկզբնապես, RGB LED- ները կանաչ գույնով փայլում էին, եթե սեղմվեին, իսկ կարմիրով `եթե չսեղմված: Դուք կարող եք փոխել արժեքները` ունենալով ստեղծագործական գույներ `andիշտ և Սխալ պատասխանելու համար)

#ներառում

#ներառել LiquidCrystal_I2C lcd_I2C_27 (0x27, 16, 2); // սահմանել LCD հասցեն 16 նշանի և 2 տողի ցուցադրման համար int _R; // ներկայացնել փոփոխական R, որը նշանակում է RGB LED- ների կարմիր արժեքը int _G; // ներկայացնել G փոփոխական, որը նշանակում է RGB LED- ների կանաչ արժեք int _B; // ներկայացնել փոփոխական B, որը նշանակում է RGB LED- ների int _SongNumber կապույտ արժեքը; // ներկայացնել փոփոխական SongNumber void setup () {pinMode (10, INPUT); // սահմանում է D10- ը որպես մուտք քարտեզի ձևավորման կոճակի pinMode- ի համար (9, INPUT); // սահմանում է D9- ը որպես ներածություն հանելուկ-խաղի կոճակ pinMode- ի համար (8, Մուտք); // Եվրասիա կոճակի pinMode- ի համար մուտքագրում է D8- ը (4, INPUT); // Հյուսիսային Ամերիկայի կոճակի pinMode- ի համար մուտքագրում է D4- ը (3, INPUT); // սահմանում է D3- ը որպես մուտք Հարավային Ամերիկայի կոճակի pinMode (2, INPUT); // սահմանում է D2- ը որպես մուտքագրում Աֆրիկայի կոճակի pinMode- ի համար (1, INPUT); // սահմանում է D1- ը որպես մուտք Oceania կոճակի համար lcd_I2C_27.init (); // նախաստորագրել LCD ցուցադրման տախտակը lcd_I2C_27.backlight (); // միացրեք LCD ցուցադրման տախտակի հետևի լուսավորությունը} void loop () {if (digitalRead (10)) {// եթե քարտեզի ձևավորման կոճակը սեղմված է (int i = 0; i <5; ++ i) համար {// գործարկեք հետևյալ օղակը 5 անգամ _R = պատահական (0, 1023); // փոփոխականին տալ պատահական արժեք 0 -ից 1023 _G = պատահական (0, 1023); // փոփոխականին տալ պատահական արժեք 0 -ից 1023 _B = պատահական (0, 1023); // փոփոխականին տալ պատահական արժեք 0 -ից 1023 analogWrite (13, (_R /4)); // RGB LED- ների LED- ի արժեքը առաջին խմբի փոխարինողների համար և գրում է փոփոխական արժեքը 0 -ից մինչև 255 analogWrite (12, (_G /4)); // RGB LED- ների G արժեքը առաջին խմբի փոխարինողների համար և գրում է 0 -ից 255 փոփոխական արժեքը analogWrite (11, (_B /4)); // RGB LED- ների B արժեքը առաջին խմբի փոխարինողների համար և գրում է 0 -ից 255 անալոգային փոփոխականի արժեքը (7, (_R /4)); // RGB LED- ների LED- ի արժեքը երկրորդ խմբի փոխարինողների համար և գրում է 0 -ից 255 փոփոխական արժեքը analogWrite (6, (_G /4)); // RGB LED- ների G արժեքը երկրորդ խմբի փոխարինողների համար և գրում է 0 -ից 255 անալոգային փոփոխականի արժեքը (5, (_B /4)); // RGB LED- ների B արժեքը երկրորդ խմբի փոխարինողների համար և գրում է փոփոխական արժեքը 0 -ից 255 ուշացումով (3000); // սպասեք 3000 միլիվայրկյան (3 վայրկյան)} // քանի որ R, G, B փոփոխականի արժեքները որոշվում են օղակում, յուրաքանչյուր օղակի համար կլինեն հինգ տարբեր գունային համակցություններ} if (digitalRead (9)) {// եթե հանելուկ-խաղի կոճակը սեղմված է _SongNumber = պատահական (1, 20); // տալ փոփոխական SongNumber 1 -ից 20 lcd_I2C_27.setCursor (0, 0); // սահմանել կուրսորը, հաշվարկը սկսվում է 0 lcd_I2C_27.print- ով (_SongNumber); // տպեք SongNumber- ի արժեքը LCD ցուցատախտակին analogWrite (13, 0); // վերականգնել և գրել D13- ի արժեքը որպես 0 analogWrite (12, 0); // վերականգնել և գրել D12- ի արժեքը որպես 0 analogWrite (11, 0); // վերականգնել և գրել D11- ի արժեքը որպես 0 analogWrite (7, 0); // վերականգնել և գրել D7- ի արժեքը որպես 0 analogWrite (6, 0); // վերականգնել և գրել D6- ի արժեքը որպես 0 analogWrite (5, 0); // վերականգնել և գրել D5- ի արժեքը 0 -ով, եթե (_SongNumber> = 1 && _SongNumber = 4 && _SongNumber = 7 && _SongNumber = 11 && _SongNumber = 15 && _SongNumber = 18 && _SongNumber <= 20) {// եթե արժեքը փոփոխական SongNumber- ը 18 -ից 20 ուշացում է (60000); // սպասեք 60000 միլիվայրկյան, որպեսզի նվագարկիչները լսեն ժողովրդական երաժշտությունը (60 վայրկյան; 1 րոպե) եթե (digitalRead (1)) {// եթե Oceania կոճակը սեղմված է analogWrite (13, 0); // analogWrite արժեքը D13 որպես 0 analogWrite (12, 255); // analogWrite արժեքը D12 որպես 255 analogWrite (11, 0); // analogWrite արժեքը D11 որպես 0 analogWrite (7, 0); // analogWrite արժեքը D7 որպես 0 analogWrite (6, 255); // analogWrite արժեքը D6 255 analogWrite (5, 0); // analogWrite արժեքը D5 որպես 0} // բոլոր RGB LED- ները կանաչ գույնով այլ կերպ կփայլեին {// եթե Oceania կոճակը սեղմված չէ analogWrite (13, 255); // analogWrite արժեքը D13 որպես 255 analogWrite (12, 0); // analogWrite արժեքը D12 որպես 0 analogWrite (11, 0); // analogWrite արժեքը D11 որպես 0 analogWrite (7, 255); // analogWrite արժեքը D7 որպես 255 analogWrite (6, 0); // analogWrite արժեքը D6 որպես 0 analogWrite (5, 0); // անալոգ գրել D5- ի արժեքը որպես 0} // բոլոր RGB LED- ները կփայլեին կարմիր գույնով} // քանի որ SongNumber 18 -ից 20 -ի ճիշտ պատասխանները բոլորը Օվկիանիա են, այս «եթե օղակը» մուտք է գործում ՝ խաղացողի պատասխանը ճիշտ է, թե ոչ ոչ lcd_I2C_27. հստակ (); // ջնջել LCD ցուցադրման տախտակի հետաձգումը (1000); // սպասիր 1000 միլիվայրկյան (1 վայրկյան)}}

Քայլ 6: Սարքի ավարտում

  1. Բացեք ստվարաթղթե տուփը և տեղադրեք նախկինում կառուցված սխեմաները (ներառյալ բոլոր տարրերը, օրինակ ՝ երեք տախտակ, Arduino տախտակ, շարժական լիցքավորիչ)
  2. Անդրադառնալով ծածկագրին և տուփի վերևում տեղ գտած մայրցամաքային մասերին, կոճակները տեղադրեք յուրաքանչյուրի համապատասխան դիրքերում

    *Դուք կարող եք վկայակոչել ծածկագրերի հետևում գտնվող կողային նշումները `ապահովելու համար, թե որ կապի կոճակն է որ մայրցամաքի համար*

  3. Երկու «գործառական կոճակները» (D10 քարտեզ-դեկո և հանելուկ-խաղ D9) լցրեք տուփի աջ կողմի յուրաքանչյուր կտրված մասի մեջ
  4. Տեղադրեք LCD էկրանը տուփի աջ կողմում գտնվող դրա կտրված մասի մեջ
  5. Բացեք տուփը և համոզվեք, որ բոլոր լարերը պատշաճ կերպով միացված են տախտակներին
  6. Կպչեք փայտե տախտակի հիմքը տուփի վերին հատվածին ՝ օգտագործելով երկկողմանի ժապավեն (համոզվեք, որ ճիշտ հավասարեցրեք, որպեսզի կոճակները տեղավորվեն անմիջապես փայտե տախտակների կտրված հատվածի մեջ)
  7. Օգտագործեք տաք սոսինձ ատրճանակ ՝ փոքր տարածաշրջանի մասերը լրացնելու համար (ոչ թե հիմնական մայրցամաքները)

Քայլ 7: ԿԱՏԱՐՎԵԼ !!!!

Հանելուկային խաղի համար անցեք թեստավորման տեսացանկի հղումը:

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