Obsah:

Ovladač videohry Arduino: 4 kroky
Ovladač videohry Arduino: 4 kroky

Video: Ovladač videohry Arduino: 4 kroky

Video: Ovladač videohry Arduino: 4 kroky
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Červenec
Anonim
Ovladač videohry Arduino
Ovladač videohry Arduino

Máte doma sadu Arduino, ale nevíte, co s ní dělat? Možná ne, ale v tomto Instructable vám krok za krokem ukážu, jak stavět, kódovat a integrovat Arduino do vašeho projektu. V tuto chvíli je tato příručka testována pouze pomocí Clickteam Fusion Developer 2.5, ale kroky pro sestavení a Arduino lze použít univerzálně. Tato příručka může být v budoucnu aktualizována pro Unreal a Unity.

Krok 1: Nákupní seznam

  • Arduino Uno nebo podobné
  • USB kabel
  • (400 bodů) Breadboard nebo 1 x perf/strip board
  • Arduino kompatibilní dráty.
  • Různé senzory. Ve svém příkladu projektu jsem použil následující:
  • Potenciometr pro montáž na panel 10K vhodný pro prkénko
  • Fotorezistor
  • Rezistor citlivý na sílu

Krok 2: Připojení

Připojení
Připojení

Poznámka: Toto jsou pouze senzory, které jsem osobně použil pro svůj projekt. To znamená, že existuje mnohem více možností. Podrobný návod, jak je zapojit, najdete na různých webech v závislosti na senzoru.

Krok 3: Arduino kód

Zkopírujte a nahrajte tento kód do svého Arduina, pokud chcete použít stejný druh senzorů jako já. Jinak můžete pro své senzory použít vlastní kód. Jedinou celosvětově důležitou věcí, která je požadována, je, aby proměnné, které chcete použít ve svém herním enginu, byly vytištěny na sériový monitor nebo je lze přečíst jiným způsobem.

// Jsou nastaveny na začátku a při spuštění programu se nemění. Stejně jako který ANALOG IN používá pin.

const int potPin = A0; const int fsrAnalogPin = 5; konstantní fotobuňka Pin = 2; // Proměnné: // SNÍMAČ SVĚTLA: // Proměnná množství světla: int photocellReading; // POTENTIOMETER // Hodnota potenciometru int hodnota; // SNÍMAČ TLAKU // Toto je proměnná nezpracovaných dat ze snímače tlaku. int fsrReading; // Mapovaná verze proměnné fsrReading int tlak; void setup () {// sem vložte svůj instalační kód, aby se spustil jednou: pinMode (potPin, INPUT); Serial.begin (9600); } void loop () {// SNÍMAČ TLAKU // Zde používáme zadaný fsrAnalogPin ke čtení dat z tohoto pinu. fsrReading = analogRead (fsrAnalogPin); // Hodnota mapy 0-1023 až 0-255. tlak = mapa (fsrReading, 0, 1023, 0, 255); // Zkontrolujte, zda je tlak pod nebo nad určitým množstvím, vytiskněte jeden z těchto dvou. Tato tištěná proměnná se použije později v herním enginu. if (tlak 70) {Serial.print ("6"); } // POTENTIOMETER hodnota = analogRead (potPin); // Přečíst a uložit analogovou hodnotu z hodnoty potenciometru = mapa (hodnota, 0, 1023, 0, 360); // Hodnota mapy 0-1023 až 0-360 // Zde rozdělíme 360 na šest různých segmentů. // Počet segmentů můžete změnit na vyšší částku. Každý segment by pak měl menší rozsah. Například 8 segmentů by mělo rozsah 45 pro každý. (360 /počet segmentů) // Pokud aktuální hodnota spadá do segmentu, vytiskne název tohoto segmentu. if (hodnota 60 a hodnota 120 a hodnota 180 a hodnota 240 a hodnota 300 a hodnota <375) Serial.print ("Six"); // SNÍMAČ SVĚTLA // Zde opět čteme a nastavujeme proměnnou, v tomto případě fotobuňku Čtení. photocellReading = analogRead (photocellPin); // Zkontrolujeme množství světla, při tmavém a velmi tmavém tisku tiskneme 3 a normální světlé hodnoty 4. if (photocellReading <10) {Serial.println (" - 3"); } else if (photocellReading <200) {Serial.println (" - 3 -"); } else if (photocellReading <500) {Serial.println (" - 4 -"); } // Čísla v seriálu: // První číslo je snímač tlaku, 5 není stisknuto a 6 je stisknuto. // Poté je potenciometr aktuálně zapnutý. // A poslední číslo je buď 3 = tmavé nebo 4 = světlé.

Krok 4: V Game Engine: Klikněte na Team 2.5

Ve Správci rozšíření najděte Sériový objekt a nainstalujte jej.

Umístěte sériový objekt, čítač a řetězec do rámečku. (Klikněte pravým tlačítkem do rámečku - vložte objekt)

V editoru událostí vytvořte událost: Pokud data čekají: Nastavitelný řetězec nastavte na GetData („Sériový objekt“)

Tím nastavíte řetězec na všechna data, která jsou odesílána Arduinem, řetězec by nyní měl vypadat podobně jako Serial Monitor.

Vytvořit další událost Vždy: Nastavit čítač na: Najít (řetězec $ („String“), „4“, 0)

Tento příklad se pokusí najít 4, které se rovná světlu, jak je vidět v Arduino Code.

Pokud najde 4, nastaví čítač na 4, pokud nenajde 4, bude čítač -1.

Nyní můžete přidat novou událost, abyste něco udělali s tímto výsledkem:

Pokud counter = -1: Zde můžete zadat, co by se mělo dít, pokud je nepravdivé, jako když je vypnutá animace lampy.

Pokud counter = -1: To znamená, že našel proměnnou a čítač byl nastaven na cokoli, co tato proměnná může být (pokud není -1), zde to můžete nastavit tak, aby se animace lampy přepnula na zapnuto.

V zásadě můžete pomocí čítačů, které jsou nastaveny na -1, což je nepravda, nebo -1, což je pravda, uskutečnit události.

Doporučuje: