Kazalo:

Arduino krmilnik video iger: 4 koraki
Arduino krmilnik video iger: 4 koraki

Video: Arduino krmilnik video iger: 4 koraki

Video: Arduino krmilnik video iger: 4 koraki
Video: Мониторинг солнечных панелей с помощью blynk iot 2.0 2024, November
Anonim
Arduino krmilnik za video igre
Arduino krmilnik za video igre

Imate naokoli komplet Arduino, pa ne veste, kaj bi z njim? Morda ne, toda v tem navodilu vam bom korak za korakom pokazal, kako zgraditi, kodirati in integrirati Arduino v svoj projekt. Trenutno je ta priročnik preizkušen samo s programom Clickteam Fusion Developer 2.5, vendar se koraki gradnje in kode Arduino lahko uporabljajo povsod. Ta priročnik se bo v prihodnosti morda posodobil za Unreal in Unity.

1. korak: Seznam nakupov

  • Arduino Uno ali podobno
  • USB kabel
  • (400 točk) Omarica ali 1 x perf/deska
  • Arduino združljive žice.
  • Različni senzorji. V svojem primeru projekta sem uporabil naslednje:
  • Potenciometer 10K, primeren za montažo na ploščo
  • Foto upor
  • Upor, občutljiv na silo

2. korak: Povezave

Povezave
Povezave

Opomba: To so le senzorji, ki sem jih osebno uporabil za svoj projekt. To pomeni, da je na voljo veliko več možnosti. Navodila po korakih, kako jih povezati, najdete na različnih mestih, odvisno od senzorja.

3. korak: Arduino koda

Kopirajte in naložite to kodo na svoj Arduino, če želite uporabiti iste vrste senzorjev kot jaz. V nasprotnem primeru lahko za svoje senzorje uporabite svojo kodo. Edina globalno pomembna stvar, ki je potrebna, je, da se spremenljivke, ki jih želite uporabiti v svojem igralnem mehanizmu, natisnejo na serijski monitor ali jih lahko preberete na kakšen drug način.

// Te so nastavljene na začetku in se med izvajanjem programa ne spreminjajo. Tako kot kateri ANALOG IN uporablja pin.

const int potPin = A0; const int fsrAnalogPin = 5; const int fotocelicaPin = 2; // spremenljivke: // LIGHT SENSOR: // spremenljivka količine svetlobe: int photocellReading; // POTENTIOMETER // Vrednost int vrednosti potenciometra; // SENZOR TLAKA // To je spremenljivka surovih podatkov senzorja tlaka. int fsrReading; // Preslikana različica spremenljivega int tlaka fsrReading; void setup () {// tukaj vnesite nastavitveno kodo, ki se zažene enkrat: pinMode (potPin, INPUT); Serial.begin (9600); } void loop () {// PRESSURE SENSOR // Tukaj uporabljamo podani fsrAnalogPin za branje podatkov s tega zatiča. fsrReading = analogRead (fsrAnalogPin); // Vrednost zemljevida 0-1023 do 0-255. tlak = zemljevid (fsrReading, 0, 1023, 0, 255); // Preverite, ali je tlak pod ali nad določeno količino, natisnite enega od obeh. Ta natisnjena spremenljivka se kasneje uporabi v igralnem mehanizmu. if (tlak 70) {Serial.print ("6"); } // vrednost POTENTIOMETER = analogRead (potPin); // preberemo in shranimo analogno vrednost iz potenciometra value = map (vrednost, 0, 1023, 0, 360); // Vrednost zemljevida 0-1023 do 0-360 // Tukaj 360 razdelimo na šest različnih segmentov. // Količino segmentov lahko spremenite na višji znesek. Vsak segment bi imel potem manjši razpon. Na primer, 8 segmentov bi imelo razpon po 45. (360 /količina segmentov) // Če trenutna vrednost pade v segment, bo natisnil ime tega segmenta. if (vrednost 60 in vrednost 120 ter vrednost 180 in vrednost 240 ter vrednost 300 in vrednost <375) Serial.print ("Šest"); // LIGHT SENSOR // Tukaj ponovno beremo in nastavimo spremenljivko, v tem primeru photocellReading. photocellReading = analogRead (photocellPin); // Preverimo količino svetlobe, pri temnem in zelo temnem tiskanju 3 in normalnih svetlobnih vrednostih natisnemo 4. if (photocellReading <10) {Serial.println (" - 3"); } else if (photocellReading <200) {Serial.println (" - 3 -"); } else if (photocellReading <500) {Serial.println (" - 4 -"); } // Številke v zaporedju: // Prva številka je senzor tlaka, 5 ni pritisnjen in 6 je pritisnjen. // Potem je na katerem segmentu je potenciometer trenutno vklopljen. // Zadnja številka je 3 = temna ali 4 = svetla.

4. korak: V igralnem mehanizmu: kliknite Team 2.5

V upravitelju razširitev poiščite serijski predmet in ga namestite.

V okvir vstavite serijski predmet, števec in niz. (Desni klik v okvirju - vstavi predmet)

V urejevalniku dogodkov ustvarite dogodek: Če podatki čakajo: nastavite spremenljiv niz na GetData ("Serijski predmet")

S tem bo niz nastavljen na vse podatke, ki jih pošilja Arduino, niz bi moral biti zdaj podoben serijskemu monitorju.

Ustvari nov dogodek Vedno: števec nastavite na: Najdi (niz $ ("String"), "4", 0)

Ta primer bo poskušal najti 4, ki je enaka svetlobi, kot je razvidno iz kode Arduino.

Če najde 4, bo števec nastavil na 4, če ne najde 4, bo števec -1.

Zdaj lahko dodate nov dogodek, da naredite nekaj s tem rezultatom:

Če je števec = -1: Tukaj lahko določite, kaj bi se moralo zgoditi, če je napačno, na primer, če je animacija svetilke ugasnjena.

Če je števec = -1: To pomeni, da je spremenljivko našel in da je števec nastavljen na kar koli, kar je ta spremenljivka (če ni -1), to lahko naredite tako, da se animacija svetilke vklopi.

V bistvu z uporabo števcev, ki so nastavljeni na -1, kar je napačno, ali -1, kar je res, lahko uresničite dogodke.

Priporočena: