Obsah:

Ovládač videohier Arduino: 4 kroky
Ovládač videohier Arduino: 4 kroky

Video: Ovládač videohier Arduino: 4 kroky

Video: Ovládač videohier Arduino: 4 kroky
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, November
Anonim
Ovládač videohier Arduino
Ovládač videohier Arduino

Máte doma sadu Arduino, ale neviete, čo s ňou? Možno nie, ale v tomto návode vám krok za krokom ukážem, ako vytvoriť, kódovať a integrovať Arduino do vášho projektu. V súčasnosti je táto príručka testovaná iba pomocou softvéru Clickteam Fusion Developer 2.5, ale kroky na zostavenie a Arduino je možné použiť univerzálne. Táto príručka môže byť v budúcnosti aktualizovaná pre Unreal a Unity.

Krok 1: Nákupný zoznam

  • Arduino Uno alebo podobné
  • USB kábel
  • (400 bodov) Breadboard alebo 1 x doska perf/strip
  • Káble kompatibilné s Arduino.
  • Rôzne snímače. V mojom vzorovom projekte som použil nasledujúce:
  • Panelový potenciometer 10K vhodný pre chlebové dosky
  • Fotorezistor
  • Rezistor citlivý na silu

Krok 2: Pripojenia

Pripojenia
Pripojenia

Poznámka: Toto sú iba senzory, ktoré som osobne použil pre svoj projekt. To znamená, že existuje oveľa viac možností. Podrobný návod, ako ich zapojiť, nájdete na rôznych miestach v závislosti od snímača.

Krok 3: Arduino kód

Skopírujte a nahrajte tento kód do svojho Arduina, ak chcete použiť rovnaký druh senzorov ako ja. V opačnom prípade môžete pre svoje senzory použiť vlastný kód. Jediná globálne dôležitá vec, ktorá je potrebná, je, aby sa premenné, ktoré chcete použiť vo svojom hernom engine, vytlačili na sériový monitor alebo sa dali prečítať iným spôsobom.

// Tieto sú nastavené na začiatku a nemenia sa, keď je program spustený. Rovnako ako ten, ktorý používa ANALOG IN.

const int potPin = A0; const int fsrAnalogPin = 5; const int fotobunkaPin = 2; // Premenné: // SENZOR SVETLA: // Premenná množstva svetla: int photocellReading; // POTENTIOMETER // Hodnota int hodnoty potenciometra; // SENZOR TLAKU // Toto je premenná surových dát zo snímača tlaku. int fsrČítanie; // Namapovaná verzia fsrČítacia premenná int tlak; void setup () {// sem vložte svoj inštalačný kód, aby sa spustil raz: pinMode (potPin, INPUT); Serial.begin (9600); } void loop () {// SNÍMAČ TLAKU // Tu používame zadaný fsrAnalogPin na čítanie údajov z tohto pinu. fsrReading = analogRead (fsrAnalogPin); // Hodnota mapy 0-1023 až 0-255. tlak = mapa (fsrReading, 0, 1023, 0, 255); // Vytlačte jedno z týchto dvoch, či je tlak nižší alebo vyšší ako určité množstvo. Táto vytlačená premenná sa neskôr použije v hernom engine. if (tlak 70) {Serial.print ("6"); } // hodnota POTENTIOMETER = analogRead (potPin); // Načítanie a uloženie analógovej hodnoty z hodnoty potenciometra = mapa (hodnota, 0, 1023, 0, 360); // Hodnota mapy 0-1023 až 0-360 // Tu sme 360-ku rozdelili na šesť rôznych segmentov. // Počet segmentov môžete zmeniť na vyššie množstvo. Každý segment by potom mal menší rozsah. Napríklad 8 segmentov by malo rozsah 45 pre každý. (360 /počet segmentov) // Ak aktuálna hodnota spadá do segmentu, vytlačí sa názov tohto segmentu. if (hodnota 60 a hodnota 120 a hodnota 180 a hodnota 240 a hodnota 300 a hodnota <375) Serial.print ("Six"); // SNÍMAČ SVETLA // Tu ešte raz prečítame a nastavíme premennú, v tomto prípade fotobunkuReading. photocellReading = analogRead (photocellPin); // Skontrolujeme množstvo svetla, pri tmavej a veľmi tmavej tlači a pri tlači 3 a normálnych svetlých hodnotách 4. if (photocellReading <10) {Serial.println (" - 3"); } else if (photocellReading <200) {Serial.println (" - 3 -"); } else if (photocellReading <500) {Serial.println (" - 4 -"); } // Čísla v sérii: // Prvé číslo je snímač tlaku, 5 nie je stlačené a 6 je stlačené. // Potom je potenciometer aktuálne zapnutý. // A posledné číslo je buď 3 = tmavé alebo 4 = svetlé.

Krok 4: V Game Engine: Kliknite na Team 2.5

V Správcovi rozšírení nájdite sériový objekt a nainštalujte ho.

Do svojho rámčeka vložte sériový predmet, počítadlo a reťazec. (Kliknite pravým tlačidlom myši na rám - vložte objekt)

V editore udalostí vytvorte udalosť: Ak údaje čakajú: Nastaviteľný reťazec nastavte na GetData („Sériový objekt“)

Tým sa nastaví reťazec na všetky údaje, ktoré odosiela Arduino, reťazec by teraz mal vyzerať podobne ako sériový monitor.

Vytvoriť ďalšiu udalosť Vždy: Nastaviť počítadlo na: Nájsť (reťazec $ („String“), „4“, 0)

Tento príklad sa pokúsi nájsť 4, ktoré sa rovnajú svetlu, ako je možné vidieť v kóde Arduino.

Ak nájde 4, nastaví počítadlo na 4, ak nenájde 4, bude počítadlo -1.

Teraz môžete pridať novú udalosť a urobiť niečo s týmto výsledkom:

Ak je počítadlo = -1: Tu môžete uviesť, čo by sa malo stať, ak je nepravdivé, napríklad keď je vypnutá animácia žiarovky.

Ak counter = -1: To znamená, že našiel premennú a počítadlo bolo nastavené na čokoľvek, čo táto premenná môže byť (pokiaľ nie je -1), tu by ste to mohli nastaviť tak, aby sa animácia lampy zapla.

Udalosti sa môžu stať v zásade pomocou čítačov, ktoré sú nastavené na hodnotu -1, ktorá je falošná, alebo hodnotu -1, ktorá je pravdivá.

Odporúča: