Tartalomjegyzék:

Azimuthal vetítés 3D térképdíszítés X népzenei kirakós játék - Arduino: 7 lépés
Azimuthal vetítés 3D térképdíszítés X népzenei kirakós játék - Arduino: 7 lépés

Videó: Azimuthal vetítés 3D térképdíszítés X népzenei kirakós játék - Arduino: 7 lépés

Videó: Azimuthal vetítés 3D térképdíszítés X népzenei kirakós játék - Arduino: 7 lépés
Videó: Why all world maps are wrong 2024, Július
Anonim
Image
Image
Tervezze meg a táblát
Tervezze meg a táblát

BEVEZETÉS

A következő oldalon megtudhatja, hogyan hozzon létre egy Arduino projektet, amelynek két fő funkciója van: sima dekoráció világítással és népzenei kirakós játék, amely magában foglalja a földrajz, a geometria, a térképek, az Egyesült Nemzetek és a zene területét egyben. A hatszög szerkezetére építve a készülék az Azimuthal Equidistant Projection -ban ábrázolja a világtérképet, amely az Egyesült Nemzetek által használt térképvetítés (és annak szimbóluma).

A dekorációs mód aktiválásakor a térkép kontinensei különböző színekben világítanak, amelyeket az RGB értékek véletlenszerű kombinációi határoznak meg RGB LED -ek használatával.

A játékmód viszont megköveteli a felhasználóktól, hogy ismerjék fel a népzenei dalok eredetét (véletlenszerűen 1 -től 20 -ig terjedő számokat generálva), és válaszuk kontinentális tábláját helyezze a megfelelő helyre a fából készült táblán egy készleten belül idő (1 percre előre beállítva).

_

KELLÉKEK

Tényleges anyagok

  • 5 mm -es RGB LED -ek *20
  • Vezetékek
  • Ellenállások *9
  • Arduino tábla *1 (bármilyen típus)
  • Kenyértáblák *3
  • Gombok *7
  • LCD kijelző tábla I2C *1
  • Kartondoboz (13*9*5,7 hüvelyk; 33*23*14,5 cm)
  • Fa tábla (37,5*29*0,8 cm)
  • Akril lapok (átlátszó * 2, félig átlátszó * 1)
  • Hordozható töltő *1

Eszközök:

  • Penge *1
  • UV -keményítő ragasztók *1
  • Kétoldalas szalag *1 tekercs
  • Forró ragasztópisztoly *1

Gépek:

Lézervágó gép

Szoftver:

  • Adobe Illustrator
  • Adobe Photoshop
  • Rhino 3D

1. lépés: Tervezze meg a táblát

Közvetlenül letöltheti a csatolt fájlt, vagy kövesse az alábbi lépéseket.

A térkép felvázolása

  1. Térképvázlat letöltése a Google -tól

    1. Google "Egyesült Nemzetek logója"
    2. Válassza az "eszközök - méret - nagy" lehetőséget
    3. Töltse le a legkedveltebb képét (a projektben használt: link)
  2. Vigye át a letöltött térképet a nyomtatási verzióba
    1. Színezze fehérre a nemkívánatos területeket az Adobe Photoshop ecset funkciójával
    2. Fájl exportálása (JPEG)
    3. Importálja a fájlt az Adobe Illustrator programba, és használja a "image tracking" funkciót a térkép nyomon követéséhez
    4. A fájl exportálása (dxf)

A hatszög háttér hozzáadása

  1. Importálja a dxf fájlt a Rhino -ba
  2. Válassza ki a "sokszög" funkciót, és írja be a "6" -t a "NumSides" opcióhoz
  3. Írja be a "3.5" értéket a sugárértékhez
  4. Rajzoljon 28 egyenlő méretű hatszöget
  5. Exportálja a fájlt 3dm -ben

2. lépés: Lézervágás

Image
Image
Lézervágás
Lézervágás
Lézervágás
Lézervágás
Lézervágás
Lézervágás
  1. Importálja a korábban befejezett fájlt az xxx fájlba.
  2. A lézervágó gép segítségével nyomtassa ki a fából készült táblán a fő testet és az akril táblák kontinenseit (2 átlátszó és 1 félig átlátszó) (a videók fent találhatók)

3. lépés: Készítse el az eszközt

Készítse el a készüléket
Készítse el a készüléket
Készítse el a készüléket
Készítse el a készüléket
Készítse el a készüléket
Készítse el a készüléket

Táblák lézervágás után

  • Akril kontinensek

    1. Az UV-keményedő ragasztókkal ragassza össze minden kontinens három tábláját (középső rétegként félig átlátszó)
    2. Használja az UV -fényt, hogy ragyogjon a ragasztott területeken, hogy a ragasztók megszilárdulhassanak
  • Fa Tábla Alapítvány

    1. Távolítsa el kézzel a fából készült táblára ragadt kis földterületeket
    2. *Ha a fatábla bármely része eltörött, használja az UV -keményedő ragasztókat a ragasztáshoz*

Az alap építése (a teljes eszköz alsó alapja)

  1. Keresse meg a megfelelő méretű kartondobozt, amelynek méretei 33*23*14,5 cm (13*9*5,7 hüvelyk)
  2. A fából készült deszkát referenciamodellként használva húzza a kontinentális részeket a doboz felső felületére
  3. Rajzolja le a gombok alsó részét a doboz felső felületére úgy, hogy minden gomb középen legyen minden egyes kontinentális részen belül
  4. Pengével vágja le a gombrészeket a nyomok követésével
  5. A nyomon követhető kontinentális részeken belül penge segítségével vágja le a gombot körülvevő rövid szegmenseket
  6. Rajzolja le a gomb további két alsó részét a doboz jobb oldalára (próbálja a nyomokat azonos magassággal igazítani)
  7. Keresse meg az LCD kijelzőt a doboz jobb oldalán (az előző lépésben a két gomb felett)
  8. Pengével vágja le a két gombrészt és az LCD részt a 6. és 7. lépésben leírt nyomok követésével

4. lépés: Építse fel az áramköröket

Építsd meg az áramköröket
Építsd meg az áramköröket

A fenti vázlatok alapján építse fel az áramkört.

Jegyzet:

  • Az RGB LED -ek és a gombok ellenállása eltérő, LÁTÁS TISZTA!
  • Mivel a fenti LCD kijelző panel nem rendelkezik I2C modellel, nincs tökéletesen csatlakoztatva. (Az I2C modellekkel rendelkező LCD kijelzőtáblákhoz csak négy érintkezőt kell csatlakoztatni)

    • Csatlakoztassa a GND -ket a kijelzőn és az Arduino táblán
    • Csatlakoztassa a kijelzőn lévő VCC -t a kenyérpult pozitív csapjaival
    • Csatlakoztassa az SDA -kat a kijelzőn és az Arduino kártyán
    • Csatlakoztassa az SCL -eket a kijelzőn és az Arduino kártyán

5. lépés: Töltse fel a kódot

A projekt kódja itt vagy lent található.

Minden kódolási sorhoz mellékelt megjegyzés tartozik, amely elmagyarázza célját és funkcióját.

Jegyzet:

  • Minden specifikus D -csap megváltoztatható és beállítható az áramkör elrendezésének megfelelően
  • Az összes késleltetett másodperc különböző értékekre változtatható, de NE TÖRLJE őket! (Ezek a késleltetett másodpercek lehetővé teszik a kód logikusabb áramlását. Ezek nélkül előfordulhat, hogy a kód egyes részei nem működnek!)
  • A 24. sorban (a "for loop" bevezetése) megadhatja az ismétlések számát, amelynél a ciklus futni szeretne (az eredeti érték 5)
  • Az RGB LED -ek színkombinációja minden gomb "ha megnyomva" és "ha nem nyomja meg" hurkában állítható és testreszabható. (Eredetileg az RGB LED -ek zölden világítanak, ha megnyomják őket, míg pirosan világítanak, ha nem nyomja meg. Módosíthatja az értékeket, hogy kreatív színek legyenek a helyes és a rossz válaszhoz)

#befoglalni

#include LiquidCrystal_I2C lcd_I2C_27 (0x27, 16, 2); // állítsa be az LCD címet egy 16 karakterből álló és 2 soros kijelzőhöz int _R; // vezessük be az R változót, amely az RGB LED -ek vörös értékét jelöli int _G; // bevezetjük a G változót, amely az RGB LED -ek zöld értékét jelöli int _B; // bevezetjük a B változót, amely az RGB LED -ek kék értékét jelenti int _SongNumber; // a SongNumber változó bevezetése void setup () {pinMode (10, INPUT); // beállítja a D10-et a pinMode (9, INPUT) térképdíszítő gomb bemeneteként; // beállítja a D9-et a pinMode (8, INPUT) kirakós játék gombjának bemeneteként; // beállítja a D8 -at az Eurázsia gomb bemenetének pinMode (4, INPUT); // beállítja a D4 bemenetét az észak -amerikai gombhoz pinMode (3, INPUT); // a D3 bemenetet állítja be a dél -amerikai gomb pinMode (2, INPUT) gombjához; // beállítja a D2 bemenetet az Africa gomb pinMode (1, INPUT); // beállítja a D1 bemenetet az Óceánia gombhoz lcd_I2C_27.init (); // inicializálja az LCD kijelző táblát lcd_I2C_27.backlight (); // kapcsolja be az LCD kijelző háttérvilágítását} void loop () {if (digitalRead (10)) {// ha a térképdíszítés gombot megnyomja (int i = 0; i <5; ++ i) {// futtassa a következő ciklust ötször _R = random (0, 1023); // adjunk R változónak 0-1023 közötti véletlen értéket _G = random (0, 1023); // adjunk G változónak 0-1023 közötti véletlen értéket _B = random (0, 1023); // adjunk B változónak 0-1023 véletlenszerű értéket analogWrite (13, (_R /4)); // az RGB LED -ek R értéke az első csoportnál helyettesíti és írja a változó értékét 0 -tól 255 -ig analogWrite (12, (_G /4)); // az RGB LED -ek G értéke az első csoportnál helyettesíti és írja a változó értékét 0 -tól 255 -ig analogWrite (11, (_B /4)); // az első csoport RGB LED -jeinek B értéke helyettesíti és írja a változó értékét 0 -tól 255 -ig analogWrite (7, (_R /4)); // a második csoport RGB LED -jeinek R értéke helyettesíti és írja a változó értékét 0 -tól 255 -ig analogWrite (6, (_G /4)); // a második csoport RGB LED -jeinek G értéke helyettesíti és írja a változó értékét 0 -tól 255 -ig analogWrite (5, (_B /4)); // a második csoport RGB LED -jeinek B értéke helyettesíti és írja a változó értéket 0 -tól 255 késleltetésig (3000); // várjon 3000 milliszekundumot (3 másodperc)} a kirakós játék gombját megnyomják _SongNumber = random (1, 20); // adjon a SongNumber változónak 1-20 véletlen értéket lcd_I2C_27.setCursor (0, 0); // állítsa be a kurzort, a számlálás 0 lcd_I2C_27.print (_SongNumber); // a SongNumber értékének kinyomtatása az LCD kijelző táblára analogWrite (13, 0); // alaphelyzetbe állítani és a D13 értékét 0 analogWrite -ként írni (12, 0); // alaphelyzetbe állítani és a D12 értékét 0 analWrite (11, 0) -ként írni; // alaphelyzetbe állítani és a D11 értékét 0 analóg Írásként írni (7, 0); // alaphelyzetbe állítani és a D7 értékét 0 analWrite (6, 0) -ként írni; // alaphelyzetbe állítani és a D6 értékét 0 analWrite -ként írni (5, 0); // állítsa vissza és írja a D5 értékét 0 -ra, ha (_SongNumber> = 1 && _SongNumber = 4 && _SongNumber = 7 && _SongNumber = 11 && _SongNumber = 15 && _SongNumber = 18 && _SongNumber <= 20) {// ha a a SongNumber változó 18-20 késleltetés (60000); // várjon 60000 ezredmásodpercet, amíg a játékosok hallgathatják a népzenét (60 másodperc; 1 perc), ha (digitalRead (1)) {// ha az Óceánia gombot megnyomják analogWrite (13, 0); // analogWrite a D13 értékét 0 analogWrite -ként (12, 255); // analogWrite a D12 értékét 255 analogWrite -ként (11, 0); // analogWrite a D11 értékét 0 analWrite -ként (7, 0); // analogWrite a D7 értékét 0 analogWrite -ként (6, 255); // analogWrite a D6 értékét 255 analogWrite (5, 0); // analóg Írja a D5 értékét 0 -ra // // minden RGB LED zölden világítana, máskülönben {// ha nem nyomja meg az Óceánia gombot analogWrite (13, 255); // analogWrite a D13 értékét 255 analogWrite -ként (12, 0); // analogWrite a D12 értékét 0 analWrite -ként (11, 0); // analogWrite a D11 értékét 0 analogWrite -ként (7, 255); // analogWrite a D7 értékét 255 analogWrite (6, 0); // analogWrite a D6 értékét 0 analWrite (5, 0); // analóg Írja a D5 értékét 0 -ra // // az összes RGB LED pirosan világít} // // mivel a SongNumber 18 és 20 közötti helyes válaszok mindegyike Óceánia, ez az "if loop" hozzáfér ahhoz, hogy a játékos válasza helyes vagy nem lcd_I2C_27.clear (); // az LCD kijelző kártya késleltetésének törlése (1000); // várjon 1000 ezredmásodpercet (1 másodperc)}}

6. lépés: Az eszköz befejezése

  1. Nyissa ki a kartondobozt, és helyezze be a korábban elkészített áramköröket (beleértve az összes elemet, például: három kenyérlapot, az Arduino táblát, a hordozható töltőt)
  2. A kódra és a doboz tetején található kontinentális részekre hivatkozva, illessze a gombokat a megfelelő pozícióba

    *Hivatkozhat a kódok mögötti oldalsó megjegyzésekre annak biztosítása érdekében, hogy melyik gomb melyik kontinenshez tartozik*

  3. Töltse be a két "funkciógombot" (D10 térkép-deko és a D9 kirakós játék) a doboz jobb oldalán lévő vágott részekbe
  4. Szerelje be az LCD kijelzőt a doboz jobb oldalán lévő vágott részébe
  5. Nyissa ki a dobozt, és győződjön meg arról, hogy az összes vezeték megfelelően csatlakozik a lapokhoz
  6. Kétoldalas ragasztószalaggal ragassza a fából készült deszkalapot a doboz felső részéhez (ügyeljen arra, hogy megfelelően illeszkedjen, hogy a gombok pontosan illeszkedjenek a falapok vágott részéhez)
  7. Használjon forró ragasztópisztolyt a kis régió részek (nem a fő kontinensek) kitöltéséhez

7. lépés: KÉSZ !!!!

A kirakós játékhoz kattints a tesztelési lejátszási lista linkjére!

Ajánlott: