Turinys:

„Azimuthal“projekcija 3D žemėlapio dekoravimas X liaudies muzikos dėlionės žaidimas - „Arduino“: 7 žingsniai
„Azimuthal“projekcija 3D žemėlapio dekoravimas X liaudies muzikos dėlionės žaidimas - „Arduino“: 7 žingsniai

Video: „Azimuthal“projekcija 3D žemėlapio dekoravimas X liaudies muzikos dėlionės žaidimas - „Arduino“: 7 žingsniai

Video: „Azimuthal“projekcija 3D žemėlapio dekoravimas X liaudies muzikos dėlionės žaidimas - „Arduino“: 7 žingsniai
Video: Projection cartographique 2024, Lapkritis
Anonim
Image
Image
Suprojektuokite lentą
Suprojektuokite lentą

ĮVADAS

Šiame puslapyje bus nurodyta, kaip sukurti „Arduino“projektą, kuris turi dvi pagrindines funkcijas-paprastą dekoravimą su apšvietimu ir liaudies muzikos galvosūkį, apimantį geografiją, geometriją, žemėlapius, Jungtines Tautas ir muziką. Remiantis šešiakampių struktūra, prietaisas vaizduoja pasaulio žemėlapį azimutinėje lygiagrečioje projekcijoje, kuri yra Jungtinių Tautų (ir jos simbolio) naudojama žemėlapio projekcijos forma.

Suaktyvinus dekoravimo režimą, žemėlapio žemynai švytėtų skirtingomis spalvomis, kurias nustatytų atsitiktiniai RGB verčių deriniai, naudojant RGB šviesos diodus.

Kita vertus, žaidimo režimas reikalauja, kad vartotojai atpažintų liaudies muzikos dainų kilmę (pasirinktos atsitiktinai sugeneruojant skaičius nuo 1 iki 20) ir padėtų savo atsakymo kontinentinę lentą į atitinkamą vietą pagrindinėje medinėje lentoje. laikas (iš anksto nustatytas 1 minutė).

_

PRIEMONĖS

Faktinės medžiagos

  • 5 mm RGB šviesos diodai *20
  • Laidai
  • Rezistoriai *9
  • „Arduino“lenta *1 (bet kokio tipo)
  • Duonos lentos *3
  • Mygtukai *7
  • LCD ekranas I2C *1
  • Kartoninė dėžutė (13*9*5,7 colio; 33*23*14,5 cm)
  • Medinė lenta (37,5*29*0,8 cm)
  • Akrilo plokštės (skaidrios * 2, pusiau skaidrios * 1)
  • Nešiojamasis įkroviklis *1

Įrankiai:

  • Ašmenys *1
  • UV kietinimo klijai *1
  • Dvipusė juosta *1 ritinys
  • Karšto klijų pistoletas *1

Mašinos:

Lazerio pjovimo mašina

Programinė įranga:

  • „Adobe Illustrator“
  • Adobe Photoshop
  • Raganosis 3D

1 žingsnis: suprojektuokite lentą

Galite tiesiogiai atsisiųsti pridėtą failą arba atlikti toliau nurodytus veiksmus.

Žemėlapio išdėstymas

  1. Atsisiųskite žemėlapio schemą iš „Google“

    1. „Google“„Jungtinių Tautų logotipas“
    2. Pasirinkite „įrankiai - dydis - didelis“
    3. Atsisiųskite mėgstamiausią vaizdą (tą, kurį naudoja šis projektas: nuoroda) *Stenkitės nesirinkti tų, kurių sudėtingos linijos sutampa su žemyninėmis žemėmis *
  2. Perkelkite atsisiųstą žemėlapį į spausdinimo versiją

    1. Nuspalvinkite nepageidaujamus regionus balta spalva naudodami „Adobe Photoshop“teptuko funkciją
    2. Eksportuoti failą (JPEG)
    3. Importuokite failą į „Adobe Illustrator“ir naudokite „vaizdo sekimo“funkciją žemėlapiui atsekti
    4. Eksportuoti failą (dxf)

Šešiakampio fono pridėjimas

  1. Importuokite dxf failą į „Rhino“
  2. Pasirinkite funkciją „daugiakampis“ir įveskite „6“, kad pasirinktumėte parinktį „NumSides“
  3. Įveskite spindulio vertę „3.5“
  4. Nubrėžkite 28 vienodo dydžio šešiakampius
  5. Eksportuokite failą 3dm

2 žingsnis: pjovimas lazeriu

Image
Image
Pjovimas lazeriu
Pjovimas lazeriu
Pjovimas lazeriu
Pjovimas lazeriu
Pjovimas lazeriu
Pjovimas lazeriu
  1. Importuokite anksčiau užpildytą failą į xxx.
  2. Naudodami pjovimo lazeriu mašiną, atspausdinkite pagrindinį korpusą ant medinės lentos ir žemynus ant akrilo plokščių (2 skaidrios ir 1 pusiau permatomos) (vaizdo įrašai pateikti aukščiau)

3 žingsnis: sukurkite įrenginį

Sukurkite įrenginį
Sukurkite įrenginį
Sukurkite įrenginį
Sukurkite įrenginį
Sukurkite įrenginį
Sukurkite įrenginį

Lentos po pjovimo lazeriu

  • Akrilo žemynai

    1. Naudokite UV spinduliu kietėjančius klijus, kad suklijuotumėte tris kiekvieno žemyno plokštes (pusiau permatomas kaip vidurinis sluoksnis)
    2. Naudokite UV šviesą, kad spindėtumėte klijuotose vietose, kad klijai sustingtų
  • Medinės lentos fondas

    1. Rankiniu būdu pašalinkite mažus žemės plotus, įstrigusius ant pagrindinės medinės lentos
    2. *Jei kuri nors medinės lentos dalis sulūžta, klijuokite juos UV spinduliu kietėjančiais klijais*

Bazės kūrimas (apatinis viso įrenginio pamatas)

  1. Raskite tinkamo dydžio kartoninę dėžę, kurios matmenys yra net 13*9*5,7 colio (33*23*14,5 cm)
  2. Naudodami medinę lentą kaip atskaitos modelį, nubrėžkite kontinentines dalis ant viršutinio dėžutės paviršiaus
  3. Apatinę mygtukų dalį nubrėžkite ant viršutinio dėžutės paviršiaus, kiekvienas mygtukas yra centre kiekvienoje atsekamoje kontinentinėje dalyje
  4. Naudodami peilį nupjaukite sagų dalis, sekdami pėdsakus
  5. Atsekamose kontinentinėse dalyse ašmenimis nupjaukite trumpus segmentus, supančius mygtuką
  6. Nubrėžkite dar dvi apatines mygtuko dalis dešinėje dėžutės pusėje (pabandykite sulyginti pėdsakus su tuo pačiu aukščiu)
  7. Nubrėžkite LCD ekrano plokštę dešinėje dėžutės pusėje (virš dviejų ankstesnio veiksmo mygtukų)
  8. Ašmenimis nupjaukite dvi mygtuko dalis ir LCD dalį, atlikdami 6 ir 7 žingsnių pėdsakus

4 žingsnis: sukurkite grandines

Sukurkite grandines
Sukurkite grandines

Remdamiesi aukščiau pateiktomis schemomis, sukurkite grandinę.

Pastaba:

  • RGB šviesos diodų rezistoriai ir mygtukų rezistoriai yra skirtingi, ŽIŪRĖKITE AISTAI!
  • Kadangi aukščiau esančioje skystųjų kristalų ekrano plokštėje nėra I2C modelio, ji nėra visiškai prijungta. (LCD ekranai su I2C modeliais turi prijungti tik keturis kontaktus)

    • Prijunkite GND prie ekrano ir „Arduino“plokštės
    • Prijunkite ekrano VCC su teigiamais kaiščiais ant duonos lentos
    • Prijunkite SDA prie ekrano ir „Arduino“plokštės
    • Prijunkite SCL prie ekrano ir „Arduino“plokštės

5 veiksmas: įkelkite kodą

Šio projekto kodą rasite čia arba žemiau.

Kiekviena kodavimo eilutė turi šalutinę pastabą, paaiškinančią jos paskirtį ir funkciją.

Pastaba:

  • Visi konkretūs D kaiščiai gali būti pakeisti ir sureguliuoti pagal jūsų grandinės išdėstymą
  • Visos atidėtos sekundės gali būti pakeistos į skirtingas vertes, bet NEIŠTRAUKITE jų! (Šios uždelstos sekundės leidžia kodui veikti logiškiau. Be jų kai kurios kodo dalys gali neveikti!)
  • 24 eilutėje („ciklo“įvedimas) galite nurodyti pakartojimų skaičių, kurį norite, kad ciklas būtų paleistas (pradinė vertė yra 5)
  • RGB šviesos diodų spalvų derinys kiekvieno mygtuko „paspaudus“ir „jei nespaudžiamas“kilpose gali būti sureguliuotas ir pritaikytas. (Iš pradžių RGB šviesos diodai šviečia žaliai, jei paspaudžiami, o raudonai šviečia, jei nespaudžiami. Galite pakeisti vertes, kad būtų sukurtos kūrybinės spalvos, kad būtų galima atsakyti į „TEISINGAS“ir „NETINKAS“)

#įtraukti

#include LiquidCrystal_I2C lcd_I2C_27 (0x27, 16, 2); // nustatyti LCD adresą 16 simbolių ir 2 eilučių ekranui int _R; // įveskite kintamąjį R, kuris reiškia raudoną RGB šviesos diodų reikšmę int _G; // įveskite kintamąjį G, kuris reiškia žaliąją RGB šviesos diodų reikšmę int _B; // įveskite kintamąjį B, kuris reiškia mėlyną RGB šviesos diodų reikšmę int _SongNumber; // pristatyti kintamąjį SongNumber void setup () {pinMode (10, INPUT); // nustato D10 kaip įvestį žemėlapio dekoravimo mygtukui pinMode (9, INPUT); // nustato D9 kaip galvosūkio žaidimo mygtuko pinMode (8, INPUT) įvestį; // nustato D8 kaip Eurazijos mygtuko įvestį pinMode (4, INPUT); // nustato D4 kaip Šiaurės Amerikos mygtuko įvestį pinMode (3, INPUT); // nustato D3 kaip Pietų Amerikos mygtuko įvestį pinMode (2, INPUT); // nustato D2 kaip Afrikos mygtuko įvestį pinMode (1, INPUT); // nustato D1 kaip Okeanijos mygtuko įvestį lcd_I2C_27.init (); // inicijuoti LCD ekrano plokštę lcd_I2C_27.backlight (); // įjunkite LCD ekrano plokštės apšvietimą} void loop () {if (digitalRead (10)) {// jei paspaudžiamas žemėlapio dekoravimo mygtukas (int i = 0; i <5; ++ i) {// vykdykite šią kilpą 5 kartus _R = atsitiktinis (0, 1023); // duoti kintamajam R atsitiktinę reikšmę nuo 0 iki 1023 _G = atsitiktinis (0, 1023); // duoti kintamajam G atsitiktinę reikšmę nuo 0 iki 1023 _B = atsitiktinis (0, 1023); // suteikti kintamajam B atsitiktinę reikšmę nuo 0 iki 1023 analogWrite (13, (_R /4)); // pirmosios grupės RGB šviesos diodų R reikšmė pakeičia ir įrašo kintamąją reikšmę nuo 0 iki 255 analogWrite (12, (_G /4)); // pirmosios grupės RGB šviesos diodų G reikšmė pakeičia ir įrašo kintamąją reikšmę nuo 0 iki 255 analogWrite (11, (_B /4)); // pirmosios grupės RGB šviesos diodų B reikšmė pakeičia ir įrašo kintamąją reikšmę nuo 0 iki 255 analogWrite (7, (_R /4)); // antrosios grupės RGB šviesos diodų R reikšmė pakeičia ir užrašo kintamąją reikšmę nuo 0 iki 255 analogWrite (6, (_G /4)); // antrosios grupės RGB šviesos diodų G reikšmė pakeičia ir įrašo kintamąją reikšmę nuo 0 iki 255 analogWrite (5, (_B /4)); // antrosios grupės RGB šviesos diodų B vertė pakeičia ir užrašo kintamąją reikšmę nuo 0 iki 255 vėlavimo (3000); // palaukite 3000 milisekundžių (3 sekundės)} // kadangi cikle nustatomos kintamojo R, G, B vertės, vienoje kilpoje bus penki skirtingi spalvų deriniai} if (digitalRead (9)) {// if paspaudžiamas dėlionės žaidimas _SongNumber = atsitiktinis (1, 20); // suteikti kintamam SongNumber atsitiktinę reikšmę nuo 1 iki 20 lcd_I2C_27.setCursor (0, 0); // nustatykite žymeklį, skaičiavimas prasideda nuo 0 lcd_I2C_27.print (_DainosNumeris); // atspausdinti „SongNumber“reikšmę į LCD ekrano plokštę analogWrite (13, 0); // atstatyti ir įrašyti D13 reikšmę kaip 0 analogWrite (12, 0); // atstatyti ir įrašyti D12 reikšmę kaip 0 analogWrite (11, 0); // atstatyti ir parašyti D11 reikšmę kaip 0 analogWrite (7, 0); // atstatyti ir parašyti D7 reikšmę kaip 0 analogWrite (6, 0); // atstatyti ir įrašyti D6 reikšmę kaip 0 analogWrite (5, 0); // iš naujo nustatyti ir parašyti D5 reikšmę kaip 0, jei (_SongNumber> = 1 && _SongNumber = 4 && _SongNumber = 7 && _SongNumber = 11 && _SongNumber = 15 && _SongNumber = 18 && _SongNumber <= 20) {// jei reikšmė kintamasis „SongNumber“yra nuo 18 iki 20 vėlavimo (60000); // laukti 60000 milisekundžių, kol žaidėjai klausys liaudies muzikos (60 sekundžių; 1 min.), jei (digitalRead (1)) {// jei paspaudžiamas Okeanijos mygtukas analogWrite (13, 0); // analogWrite D13 reikšmę kaip 0 analogWrite (12, 255); // analogWrite D12 reikšmę kaip 255 analogWrite (11, 0); // analogWrite D11 reikšmę kaip 0 analogWrite (7, 0); // analogWrite D7 reikšmę kaip 0 analogWrite (6, 255); // analogWrite D6 reikšmė 255 analogWrite (5, 0); // analogWrite D5 reikšmę kaip 0} // visi RGB šviesos diodai šviečia žalia spalva {// jei nepaspaudžiamas Okeanijos mygtukas analogWrite (13, 255); // analogWrite D13 reikšmę kaip 255 analogWrite (12, 0); // analogWrite D12 reikšmę kaip 0 analogWrite (11, 0); // analogWrite D11 reikšmę kaip 0 analogWrite (7, 255); // analogWrite D7 reikšmę kaip 255 analogWrite (6, 0); // analogWrite D6 reikšmę kaip 0 analogWrite (5, 0); // analogWrite D5 value as 0} // visi RGB šviesos diodai šviečia raudona spalva} ne lcd_I2C_27.clear (); // išvalyti LCD ekrano plokštės uždelsimą (1000); // palaukite 1000 milisekundžių (1 sekundė)}}

6 žingsnis: Įrenginio apdaila

  1. Atidarykite kartoninę dėžę ir įdėkite anksčiau sukurtas grandines (įskaitant visus elementus, pvz., Tris duonos lentas, „Arduino“plokštę, nešiojamąjį įkroviklį)
  2. Remdamiesi kodu ir atsekamomis kontinentinėmis dalimis dėžutės viršuje, įdėkite mygtukus į kiekvieną atitinkamą padėtį

    *Norėdami įsitikinti, kuris smeigtuko mygtukas yra skirtas žemynui, galite perskaityti šonines pastabas už kodų*

  3. Įdėkite du „funkcinius mygtukus“(žemėlapio dekoras iš D10 ir dėlionės žaidimas D9) į kiekvieną iškirptą dalį dešinėje dėžutės pusėje
  4. Įdėkite skystųjų kristalų ekrano plokštę į išpjautą dalį dešinėje dėžutės pusėje
  5. Atidarykite dėžutę ir įsitikinkite, kad visi laidai tinkamai prijungti prie plokščių
  6. Naudodami dvipusę juostą, priklijuokite medinės lentos pagrindą prie viršutinės dėžutės dalies (įsitikinkite, kad tinkamai sulygiuojate, kad mygtukai tilptų tiesiai į medinių lentų pjūvį)
  7. Naudokite karšto klijų pistoletą, kad užpildytumėte mažas regiono dalis (ne pagrindinius žemynus)

7 žingsnis: ATLIKTA !!!!

Dėlionės žaidimui eikite į bandomojo grojaraščio nuorodą!

Rekomenduojamas: