Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Met dit project kan je de snelheid van de speler bepalen in Unity met behulp van een touchscreen op de Arduino. Ook is er een waarde die na een tijdje minder word, in mijn project heet deze waarde "oxygen". Hoe lager deze waarde word, hoe donkerder het scherm woord van de player in Unity. Om deze waarde op te hogen moet je klappen. Als deze veel waarde helemaal leeg is zal je niet meer zien in de game. Ook zit er een LED lampje bij het project, deze laat naast het spel zien of de "oxygen" waarde gevaarlijk woord van niet. Groen = goed, Blauw = gaat nog, Rood = gevaarlijk.
Spelbesturing:
-
Touch screen:
- Linker kant van het scherm -> snelheid omlaag.
- Rechter kant van het scherm -> snelheid omhoog.
-
Klapsensor:
Klappen om de zuurstofmeter weer voller te krijgen
-
Muis:
Camera rond kijken
-
(extra):
A + D toetsen: Om extra bij te sturen
Benodigdheden
- 1x Verbale machines Klapsensor
- 1x LED-lampje (RGB)
- 1x touchscreen (2,8 inch ILI9341 240x320 SPI TFT LCD-aanraakscherm SPI seriële poortmodule)
- 1x Arduino Uno
Stap 1: Connectie: Klap Sensor
- GND: In de – (aarde)
- PWR: In de + (5v)
- Uit: In de 2 (digitaal)
Stap 2: Connectie: LED
- V(spanning): in de + (5v)
- R: In A0 + weerstand (Rood, Rood, Bruin, Goud)
- B: In A2 + weerstand (R. R. B. G)
- G: In A1 + weerstand (R. R. B. G)
Stap 3: Connectie: touchscreen
- VCC: In de + (5v)
- GND: In de – (aarde)
- CS: In 10 + weerstand (Bruin, Zwart, Oranje, Goud)
- RESET: In 8 + weerstand (B. Z. O. G)
- DC: In 9 + weerstand (B. Z. O. G)
- SDI MOSI: In 11 + weerstand (B. Z. O. G)
- SCK: In 13 + weerstand (B. Z. O. G)
- LED: In de + (5v)
- SDO MISO: In 12
- T_CLK: In 3 + weerstand (B. Z. O. G)
- T_CS: In 4 + weerstand (B. Z. O. G)
- T_DIN: In 5 + weerstand (B. Z. O. G)
- T_DO: In 6
- T_IRQ: in 7 + weerstand (B. Z. O. G)
Stap 4: Overzicht: Alles
Klapsensor:
- GND: In de – (aarde)
- PWR: In de + (5v)
- Uit: In de 2 (digitaal)
LED:
- V(spanning): in de + (5v)
- R: In A0 + weerstand (Rood, Rood, Bruin, Goud)
- B: In A2 + weerstand (R. R. B. G)
- G: In A1 + weerstand (R. R. B. G)
Touch screen:
- VCC: In de + (5v)
- GND: In de – (aarde)
- CS: In 10 + weerstand (Bruin, Zwart, Oranje, Goud)
- RESET: In 8 + weerstand (B. Z. O. G)
- DC: In 9 + weerstand (B. Z. O. G)
- SDI MOSI: In 11 + weerstand (B. Z. O. G)
- SCK: In 13 + weerstand (B. Z. O. G)
- LED: In de + (5v)
- SDO MISO: In 12
- T_CLK: In 3 + weerstand (B. Z. O. G)
- T_CS: In 4 + weerstand (B. Z. O. G)
- T_DIN: In 5 + weerstand (B. Z. O. G)
- T_DO: In 6
- T_IRQ: in 7 + weerstand (B. Z. O. G)
Stap 5: Coderen
Bibliotheken:
- URTouch (https://www.rinkydinkelectronics.com/library.php?id=92)
- Adafruit_ILI9341
- Adafruit_GFX
Stap 6: Unity-configuratie
drive.google.com/open?id=1whpSVED7v-ocgt0IgCIx7Cu2EvHo6fHx (scripts)
1. Maak een nieuw Unity3D-project aan.
2. Download de asset: "Ardity" en importeer deze
2a: Als er fouten zijn: Ga naar edit -> project settings -> Player -> Other settings -> "Api Compatibility Level" -> verander deze naar ". Net 4.x"
3. Plaats het script "CameraControl" op de camera.
4. Importeer een speler van maak een 3D-capsule en voeg het "PlayerController"-script hier aan toe.
5. In de Ardity map -> Prefabs -> SerialController. Slaap deze in de scene/hiërarchie
6. Maak een leeg gameobject en voeg het "ArduinoListener"-script hier aan toe.
7. Voeg een UI-paneel toe en verander de kleur naar zwart.
8. In de player: voeg het panel toe bij: "Fade Overlay" en de ArduinoListener gameobject bij "Listener"
9. Voeg aan de player een LookAt point toe: Maak lege op de player (deze moet een kind worden van de player) en sleep deze naar het hoofd van de player. Voeg deze toe in de camera bij: "Target"
10: In de SerialController voeg bij "Message Listener" de ArduinoListener toe.
11. Maak een vliegtuig zodat de speler hier kan lopen.
12: Sluit de Arduino aan en spelen.