En trådlös handkontroll för Scratch! (2 / 3 steg)

Steg 2: Hur man gör en Scratch sprite flytta trådlöst



Räkna hur man översätter rörelse i luften till rörelse på skärmen var riktigt kul! Det finns förmodligen många olika metoder för detta, och det var en utmaning att begränsa val och att leka med data tills något började att klicka.

PocketLab har 3 rörelsesensorer som vi trodde var kandidater: magnetometer, gyroskop och accelerometer. Vi gick genom försök och misstag på varje tills vi avgöras på accelerometern.

Här är teorin om översätta accelerometer till sprite motion:

I den första sidan i anteckningsboken har jag ritat x och y axel riktningarna av PocketLab. Det finns en z-axel också, och som pekar genom tabellen. Du kan se data på datorn grafen. X är röd, y är blå och z är grön. Titta på x och y riktningar, som är parallella till tabellen, sensorn är vid vila och x och y läsa 0 g (gravitation). Z-axeln går igenom tabellen pekar upp och ner, och på datorn läser + 1 g. Varför är detta? Tja, x och y är 0 eftersom de är vid vila och vinkelrätt mot z. Z-axeln pekar i riktning mot tyngdkraften, genom tabellen och mot golvet. På jorden, styrkan av gravitation som människor tycker är ca 9,8 meter per sekund fyrkant, och för enkelhetens skull det heter 1 g, och är alltid en gemena g. Så läser datorn x = 0g, y = 0g och z = 1g, och med det kan du vara ganska säker på att jag tog denna bild samtidigt på planeten jorden.

I den andra bärbara sidan, jag har roterat PocketLab på sin framkant och nu y-axeln pekar upp och ner och kommer att läsa + 1 g. X-axeln är oförändrad och fortfarande läser 0 g. Z-axeln läser nu 0g eftersom det är vinkelrät mot gravitationen.

Jag kan upprepa detta i de andra 3 sidorna av sensorn, och du kan se att sensorn kommer att gå igenom följande:

x = 0g y = 0g när platt på bordet

x = 1g, y = 0g när på vänster sida

x = - 1g, y = 0g på höger sida

x = 0g, y = 1g när på framsidan

x = 0g, y = - 1g när på baksidan

När vi såg att PocketLab kommer att generera data mellan -1 och 1 för både x och y, allt vi hade att göra var att multiplicera x och y sensormätningar av position på skärmen! Det visar sig vara en enkel och elegant lösning.

Scratch kan du placera sprites på skärmen med kartesiska koordinater. X-position mellan-240 och 240 och y-position är mellan-180 och 180. Om vi multiplicerar x och y accelerometer värden av detta spänner det kommer att positionera sprite enligt hur sensorn vinklas.

I praktisk tillämpning, det fanns en extra några detaljer. Om du ser det Scratch kodavsnittet, det finns en gräns på 1.1:

om 1.1 > abs få AccelY värde sedan

om 1.1 > abs få AccelX värde sedan

[glide spriten mot den nya positionen]

annat

[inte]

annat

[inte]

Detta beror på att om du flyttar accelerometern snabbt, till exempel genom att skaka det, acceleration kommer att gå längre än 1 g (eller -1 g) och göra spriten försöker flytta bort skärm. Så denna gräns ignorerar alla värden större än 1.1. Funktionen "abs" är absolut värde, vilket innebär att om acceleration går högre än 1 eller lägre än -1.

En annan praktisk detalj är på det sätt grunden rör sprites. Funktionen Glide berättar sprite glider mot en viss plats med en viss hastighet. Vi fick spela med ränta, och hittade 9 sekunder att arbeta. Du kan ändra detta naturligtvis och se hur det reagerar.

Känn dig fri att experimentera med värden! Det är intressant hur förslaget ändras.

Vad gäller z data? Normalt när du håller PocketLab som en controller och luta och tillbaka, z data också stannar i det intervallet från 0 till 1. Vi kom upp med idén att vända sensorn över, där z skulle gå under 0, när du ville skjuta en projektil.

Om du går igenom x och y kod och siffra som rörelse ut, z-riktningen ska vara lätt att förstå, och koden för att skjuta är på sidan bollen sprite.

Se Steg
Relaterade Ämnen

Hur man gör en PS2 Guitar Hero controller från scratch

så detta är min andra instructable, än för att klicka på den! Det är inte helt sant vad titeln säger, behöver du några material ju (i själva verket mycket), jag ville bara understryka att jag hade ingen gitarr eller något i början, så det inte är en...

Komma igång med PocketLab i Scratch

Scratch programmeringsspråk är en lättillgänglig och praktisk verktyg för att undervisa unga elever att tänka och resonera kreativt genom datakod. Studenter kan använda scratchs enkla gränssnitt och byggstenar för att skapa projekt som sträcker sig f...

Scratch bygga dina egna quad-copter!

För detta instructable jag kommer att visa hur jag scratch byggt mina egna quad-copter!Steg 1: Vad skall man göra?Först trodde du måste tänka innan de ens köper ett enda material eller del är vad vill du göra? Vill du ha något som är kul att flyga? e...

Anpassade akryl tillbaka Scratcher

har alla en stund där de har en klåda i en plats som är svåra att nå. Tja är här en snabb och enkel lösning att fixa detta irriterande problem.Som krävs för detta Instructable:-Kunskaper i Techshops LASERSKÄRNING och ETSNING SBU.-Akryl bit av din fär...

Doc Scratch

Doc Scratch är från massiva webbserien Homestuck av Andrew Hussie. Han är en av mina favorit karaktärer av många skäl: han är varken människa eller troll; Han har en gudfruktig mängd kraft kommer från "gröna solen." och hans kraftfulla, cool upp...

Ledade tillbaka Scratcher!

Okej, det är mitt i sommaren och du har blitt arbetande ute på gården med gräs och löv flyger överallt, speciellt på ryggen där du bara inte kan få till det, eller kanske är det mitt i vintern och den kalla luften är ogiltig av alla fukt så det gör h...

Effektiv CD Scratch reparera

CD-skivor grunden så enkelt som ni alla vet, och den genomsnittliga scratch reparera metoden suger. Tandkräm fungerar inte på måttlig till tung repor och de saker som kan fixa dem är att abraisive använda alls.Samtidigt söka efter något att putsa upp...

Hur du ansluter en PS4 handkontroll på en Windows-dator via Bluetooth eller kabel

I denna tutorial lära jag att ansluta en handkontroll PlayStation 4 på din dator. med video förklaring.Steg 1: Ladda ner Xbox 360-handkontroll för WindowsGå till denna webbplats:http://www.microsoft.com/Hardware/en-us/d/Xbox-360-Controller-for-Window...

Cykla en RGB LED genom färgspektrat med en Raspberry Pi 2 och Scratch

Uppdatera anteckningar Tors 25 Feb, 2016 : Jag har förbättrat Scratch programmet och omgjorda min instructable.Hej Scratch killar, med detta projekt som jag ville använda för att cykla en RGB LED genom färg spektrumet.Det finns en massa projekt gör d...

Avancerade Scratch Hologram tekniker

en uppföljning till det stora svaret på min Instructable "Scratch Hologram detaljerade instruktioner för lärare".Svar på några frågor och ger förslag på att skapa bra resultat....

Scratch-Off världen

Jag älskar att resa, och jag har turen att se en rättvis få länder i mitt liv. Men som någon lidande av wanderlust vet att se några gör bara en vill se mer - är det en hel värld ute som bara väntar på att utforskas!Inspirerad av metoden craftknowital...

Grundläggande Scratch spel

Hey guys! Många människor älskar att spela spel, barn, tonåringar och vuxna. Här är ett bra sätt att göra ett spel att du vet att du, dina vänner, och/eller barn kommer att njuta av att spela. Om du inte har noll, kan du hämta det från MIT hemsida (d...

Lägga till en intern mikrofon till en xbox 360-handkontroll

denna tutorial ska show dig hur man installerar en intern mikrofon till din xbox 360-handkontrollen. Detta kommer att göra med ett headset till det förgångna.VARNING! DENNA MOD KOMMER ATT OGILTIGFÖRKLARA GARANTIN OCH HANDKONTROLLEN KAN SKADAS I PROCE...

FÖRSTA MOD för XBOX 360 trådlös HANDKONTROLL/HEADSET/MESSENGER KIT

har du någonsin försökt att använda din trådlösa XBOX 360-HANDKONTROLL, trådlösa headsetet och ditt bud nyckel-stiger ombord på en gång? JA DÅ VET DU DET DOESENT ARBETE. TILLS NU DET ÄR...Steg 1: Saker som du behöver Dessa är de saker du kommer att b...

Lyser upp en Xbox-handkontroll med lysdioder

detta instructable fastställs att lysa upp de fyra A, B, X, Y knappar och juvel av en ursprungliga Xbox Controller-S.För att slutföra detta projekt, rekommenderas att vara bekväm med en lödkolv. Även om du inte har erfarenhet av lödning men vill lära...

Xbox 360 trådlös handkontroll ljusringen

anpassa de fyra spelare indikatorerna på din Xbox 360 trådlös handkontroll genom att ta bort lager lysdioder och ersätta dem med någon färg som du väljer. Jag har fått många förfrågningar för denna guide, som visar hur man demonterar och uppgradera e...

Xbox 360 trådlös handkontroll carrier

i detta Instructable, jag visar dig hur man gör en 'LEGO Mindstorms' bärare att hålla din trådlösa xbox 360-handkontroll för dig medan du går runt (eller om du väntar bara ett spel för att starta och du inte orkar hålla det!)Steg 1: foton Här är någr...

Tidsförskjutning mat-makaroner och ost från Scratch för en... eller sex

Låt oss göra tidsförskjutningen igen, med ursäkter till The Rocky Horror Picture Show.Varm lunch för en... eller sex? Inga problem.Tina i kylskåp (1 – 2 dagar). Ta bort locket och grädda i 350 grader F i 30 minuter. Tillsätt avokado skivor på sidan....

Att göra en laserskurna tillbaka scratcher!

Så jag har nyligen varit att få dessa kliar i exakt plats där min ynklig liten mänskliga vapen inte kan nå. Jag tänkte köpa en, men jag ville öva på att använda vektor programvara och laser-skärningsmaskiner, så varför inte göra en själv? I mitt fall...