Innehållsförteckning:

Hur man styr ett enkelt bearbetningsspel med Arduino: 6 steg
Hur man styr ett enkelt bearbetningsspel med Arduino: 6 steg

Video: Hur man styr ett enkelt bearbetningsspel med Arduino: 6 steg

Video: Hur man styr ett enkelt bearbetningsspel med Arduino: 6 steg
Video: ТАКОГО ЕЩЕ НИКТО НЕ ВИДЕЛ! Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! 2024, Juli
Anonim
Hur man styr ett enkelt bearbetningsspel med Arduino
Hur man styr ett enkelt bearbetningsspel med Arduino
Hur man styr ett enkelt bearbetningsspel med Arduino
Hur man styr ett enkelt bearbetningsspel med Arduino

Hej alla, I denna instruktionsbok kommer vi att se hur man skapar en "länk" mellan en bearbetningsskiss och ett Arduino -kort. I detta exempel kommer en ultraljudsmodul att användas för att styra ett plan i ett enkelt spel. Återigen, denna handledning är bara ett exempel, du kan använda den för att skapa något annat, ett annat spel eller annat roligt projekt! Ta bara en titt på de olika typerna av sensorer som stöds av Arduino och föreställ dig vilken typ av projekt du kan göra! Målet med spelet är enkelt: kontrollera höjden på ett plan och försök att undvika molnen. Flygplanets höjd ges av din hand. Som alltid, berätta för mig om du hittar engelska misstag! Ställ gärna frågor.

Steg 1: Materiallista

Materiallista
Materiallista

Ok, du behöver: • ett Arduino -kort (UNO i det här exemplet) • en ultraljudsmätningsmodul • brödbrädetrådar • Arduino -programvara installerad på datorn (länk här) • Bearbetningsprogramvara (länk här) • Arduino- och bearbetningsskisserna (se nästa steg)

Steg 2: Arduino Wiring

Arduino ledningar
Arduino ledningar
Arduino ledningar
Arduino ledningar
Arduino ledningar
Arduino ledningar

Ok, vänligen ladda den bifogade skissen i Arduino IDE. Ultraljudsmodulens ledningar är enkla:

  • Vcc -> till Arduino 5v
  • Trig -> Arduino pin 3
  • Echo -> Arduino pin 2
  • GND -> till Arduino GND

Hur fungerar denna modul? Den innehåller två ultraljudsgivare och mottagare (de grå cylindrarna). Sändaren skickar en ljudvibration, vibrationen studsar på det närmaste föremålet (din hand) och signalen tas emot av modulen. Genom att beräkna tiden mellan utsläpp och mottagning kommer modulen att härleda avståndet mellan honom och din hand. Kontrollera ledningarna och ladda upp koden på Arduino. Öppna sedan Serial Monitor och för handen över modulen. Seriell bildskärm ska visa en lista med nummer … Avståndet i cm mellan honom och dig. Hämta i detta fönster serienummernumret. I mitt fall, COM16. (nedre högra sidan av fönstret)

Steg 3: Bearbetningskonfiguration

Bearbetningskonfiguration
Bearbetningskonfiguration
Bearbetningskonfiguration
Bearbetningskonfiguration

Ok, öppna Processing och öppna den bifogade zip -filen. Den innehåller källskissen och några bilder. Lämna dem i samma mapp.

Kontrollera raden 52 i koden. Vi lägger vårt serienummer här.

Ok det är konstigt, Processing fungerar inte direkt med COM -portnumret, utan med en annan numrering. Om din serieport är 1 är bearbetningsnumret 0. COM 2 -> Bearbetningsnummer 1,… I mitt fall är COM16 nummer 2 (vid problem, ladda bara upp och kör den bifogade skissen "serial_ports.pde" i bearbetning för att söka efter befintliga seriella portar.)

Processing sketch -spelet får seriell data från Arduino, och värdena kommer att användas för att flytta planet.

Hur det fungerar ?

Arduino -kortet skickar data endast om spelaren rör handen. Så snart data tas emot aktiveras en speciell händelse i behandlingskoden:

Så när spelaren flyttar handen skickas ett nytt distansvärde. Bearbetningsskissen får värdet, kontrollera intervallet och tillämpa det nya värdet på höjdvariabeln. Samtidigt fortsätter spelet …

För felsökningsproblem skrivs det inkommande avståndet in i bearbetningskonsolen.

Steg 4: Spela

Spela !
Spela !
Spela !
Spela !

Okej, om allt är OK, välj Kör i huvudverktygsfältet. Lägg sändaren horisontellt på ett bord och lägg handen ca 20 cm över för att starta. Planet ska röra sig när du rör din hand … Höjdvärdena visas i bearbetningskonsolen. Kom ihåg att det här spelet bara är ett exempel, du kan inte förlora eller vinna … (men ser väldigt hårt ut?) Det är allt, ett enkelt sätt att använda Arduino -sensorer för att i detta fall driva ett spel skrivet i Processing. Men tänk dig vad du kan göra med andra sensorer: en accelerometer (med tanke på wiimote -spelen), digitala knappar, gyroskopsensor, ljuddetektorer, piezzosensorer … Vilken typ av spel kommer du att skapa? Tack för att du läste!

UPPDATERING: Kontrollera det nya nästa steget för att lära dig hur du byter planritningen mot en fin bild.

Steg 5: Valfritt steg: Hur man byter ut planet mot en bild

Valfritt steg: Hur man byter ut planet mot en bild
Valfritt steg: Hur man byter ut planet mot en bild

Jag fick mycket feedback om det här projektet. Tack alla, det är alltid ett nöje.

Vissa människor frågar mig hur jag ska ersätta den (fula) planmodellen med en bild, som molnen. (Just det, den ursprungliga modellen var inte riktigt vacker …)

För att ersätta den med en bild behöver du bara ersätta linjekoordinaterna med ett bildsamtal. Så du måste ladda den först och för att se till att bilden översätts och roterar fint.

Kontrollera den bifogade ZIP -filen. Den innehåller den nya projektfilen, med den nya planbilden. Fler förklaringar finns i programmet. Fråga bara om du har ytterligare frågor.

Tack för att du läser !!

Steg 6: Ett poängsystem

Ett poängsystem
Ett poängsystem

UPPDATERING 07/12/15:

Hej läsare, Många frågade hur man lägger till ett poängsystem när man träffar (lite våldsamt nej?) På fågeln.

Ett enkelt sätt att uppnå detta är att beräkna avståndet mellan planet och fågeln. När detta avstånd går under ett givet värde (40 pixlar i min kod) ökas poängen med en och fågelpositionen återställs till höger sida av skärmen.

Poängen visas också på skärmen.

Den enda nackdelen med denna metod är att den inte riktigt tar hand om planläget. Men det fungerar.

Om du vill ha något hårdare, bara minska tröskelavståndet, prova 20 pixlar.

Kontrollera bifogad kod. Packa upp filen och se till att ha bilderna i samma mapp.

Rekommenderad: