Transfiguration rörelse: Kontrollera (3 / 5 steg)

Steg 3: Den "magiska" bakom Transfiguration rörelse kontroll



De flesta av magin är bra programmering. Namnen på klasserna är valt att göra FiniteStateMachine koden kan läsas av vem som helst. Vi kunde ha gett tillstånd för utseende och Edge för situationen, men koden är bara svårare att förstå. Transfiguration.h är bara att samma idé. Måste du hämta filen Transfiguration.h och lägga in i dina projektfiler. Detta är vanligtvis samma mapp som filen .ino. Du måste stoppa och starta om Arduino miljön innan det att du kan redigera filen i Arduino-miljö.

Du behöver inte göra objekten nedan är det bara för dem intresserade av vad som finns i filen Transfiguration.h

Pragma hjälper en gång bara kompilatorn att veta bara använda den här filen en gång.

Inkluderar överst ta NeoPixel, CurieIMU, CurieTime och I2C-funktioner.

Vektorn innehåller är speciell. Det är en uppsättning rutiner som gör att du kan hålla en samling av saker. I vårt fall det är en samling av längder eller färger, eller ser ut. I princip varje gång du ser vektor kan du läsa som en samling av BlahBlah.

Färg klass är verkligen mjukvarusidan för att hålla de röda, gröna och blåhet av färger i paletten.

Färger är egentligen en samling av färger för en titt. Har en magisk funktion kallas förskönar som beräknar en färg mellan din sista färgen och din nuvarande färg med tiden. Övergångar från en färg till en annan är alltså inte abrupt.

Längd bara lagra längd paletten av alternativ.

Längder som färger är en samling av längd och har en transfiguration funktion som inte är så komplicerat som färger.

Ett utseende har som man kan förvänta sig färger och längder. Så även om demonstrationen koden för ändliga tillståndsdatorn används endast en färg och längd. Denna kod är klar för så många som den Arduino 101 kan hantera.

#defines är bara ett sätt att göra konstanter som tar upp något utrymme på din Arduino.

Situationen är den allmänna idén om en situation som kan uppstå. Nyckelfunktion är hasOccurred kommer att vara sant om situationen har uppstått.

Steg, Spin och tid är bara särskilda versioner av situationen. Vissa avancerade programmerare kanske undrar varför den situationen, steg, Spin och tid görs detta sätt och det enkla svaret är läsbarhet. Gärna diskutera vidare i ett mail.

Övergången är en klass som håller den nuvarande utseendet, nästa utseende och vilken situation uppstod som orsakar övergången.

updateStepCount och eventCallback är rätt från CurieIMU -> stepCount demo, minus några Serial Outptut.

Slutligen den tillfälle klassen. En samling ser ut, en samling av situationer och en samling av övergången regeln för att gå från en stat till en annan.

getPeg, setPeg är bara ett sätt att notera en tid när något inträffade. Vi se det som att en pinne i marken i tid och sedan se hur långt borta från att peg är du.

Slingan går bara igenom situationer för att se om någon har inträffat och sedan kontrollera att utseendet matchar en övergång.

Installationen gör alla inställningar för IMU, tid, tråd och NeoPixel

Himla thats it. Det är 256 rader kod men verkligen bara genomförandet av idéer att var vettigt.

Se Steg
Relaterade Ämnen

Transfiguration rörelse: Färg

Lite av införandetMin dotter och jag är "Kristi rörelse" ett av lagen på Americas största beslutsfattare. Vi har eliminerats från att visa men hade planerat att dela vårt arbete här ändå. Om du är intresserad kan du se vår pitch till domare.Dett...

Transfiguration rörelse: Laser skär etsad blad

Detta är ett tillägg till vår Transfiguration rörelse: färgenhet. Syftet med detta instructable är att visa hur du kan ta våra Infinity fraktal blad från Thingiverse och sedan använda OpenScad följt av Inkscape för att göra en pdf som är lämplig för...

Transfiguration rörelse: Längd

Detta instructable kommer att gå igenom hur man bygger längd mekanismen från våra Americas största beslutsfattare.. Det är lite av en lång sekvens av steg men i slutet har du ett sätt att ändra längden på något och styra många av dessa enheter med en...

En trä gear klocka med en unik drivmekanismen

Synkronicitet är en unik exponerade trä gear pendeln Väggklockor, med en kombination av gammal och ny teknik.Många trä gear klockor drivs av vikter. Dessa klockor måste vara sår med jämna mellanrum, så ofta som varje dag. Jag ville bygga en trä gear...

Reproduktionen Regulator klockan

Detta instructableDetta instructable visar hur man gör en reproduktion regulator klocka med hjälp av en gammal klocka ärende och tre kvarts rörelser.Jag har använt en gammal engelsk 12"(300mm) Dial klocka fall från Ebay men helst kan användas så läng...

Pier 9 Guide: Nybörjare och avancerade CAM programmering

Detta Instructable är för Workshop användare vid piren 9. Den var ursprungligen skriven av Dan Vidakovich.Detta Instructable är en detaljerad, steg för steg-anvisningar för hur du kan programmera en del med hjälp av CAM (Computer Aided Manufacturing)...

MyRobot - DIY Robot

myRobot - DIY Robot Beskrivning:Inte har du alltid velat ha en robot? En som är överkomligt, anpassningsbara och användbara? En Siren produktioner och utvecklas apor, i samarbete med eBork Devs, är att bygga en öppen plattform som kommer utnyttja bom...

Lila Mood Light Cube

jag älskar stämningen ljus, så jag bestämde mig att bygga en rörelse kontrolleras stämningen ljus.Om du gillar denna instructable, snälla rösta på mig.Steg 1: Den elektroniska kretsen HårdvaraKretsen är enkel. Den består av mikrokontroller, Accelerom...

Ändra 3D-skrivare glödtråden i farten / multicolor skriver!

Har du någonsin fått en knut i din 3D-skrivare glödtråden, eller vill göra ett objekt mångfärgade utan att ha 2 extruders? Om så är detta instructable för dig!Nu kan du göra multicolor utskrifter utan en dubbel extruder!För detta instructables behöve...

Raspberry Pi CNC hatt kontrollerade CDROM Stepper Motor

Syfte: Lär dig hur enkelt det är att använda Raspberry Pi CNC hatten från Protoneer av provande den ute på en CDROM stegmotor.Varför: många av oss drömmer om att göra våra egna CNC router / gravör men få gräva ner sig i detaljer och okända. Detta är...

Makita tabell såg Rip Arm justering för Truing timmer

Makita MLT 100Detta instructable visar dig hur du justera rip saw armen till inom ett pappersark för att vara nivå och square till sågbladet.Jag är en ivrig D.I.Y.er och noggrannhet är allt för mig.verktyg som behövs:Alen nyckeltorget.Steg 1: Justera...

Interaktiva skalle

jag köpte denna skalle för att dekorera min dator skrivbord. Men kunde analysera bättre, jag göra något mer intressant.Jag hoppas du njuter.Steg 1: material-En plast skalle-8 skruvar;-Mikrokontroller (jag använde en Arduino ombord);-En Protoboard-En...

Bärbar dator styrd Robot v2.0

Arduino är en stor sak om du inte vet hur man använder den. Men när både bluetooth och arduino kommer in spela, dess ännu roligare. Så här presenterar du ett annat stort projekt som använder arduino som hjärnan och bluetooth för kommunikation. Detta...

Batch-spelet rörelse (självstudie)

nu, det finns många sätt att få en karaktär i baken att flytta, men i denna tutorial är förmodligen de kortaste koder som någon har gjort.Njut!Obs: Kopiera och klistra in följande kod i anteckningar eller ett annat textredigeringsprogram och spara de...

1/6 modell rörelse simulering stol /w Microsoft Flight Sim X

Detta är en Instructables på hur man skapar en liten rörelse simulering stol med Microsoft Flight Simulator X.Steg 1: Komma upp med en stol design Detta är vår 1/6 modell, anpassade gjort delar i TinkerCAD och skrivas ut med hjälp av en 3D-skrivare....

Snabb Steampunk rörelse klä

detta är en trevlig, lätt rörelse dress, utmärkt för en första gången steampunker. Den endast sömnad färdigheter du behöver är förmågan att göra en rakstygn (in och ut, i en rak linje) och möjligheten att säkra en punkt till en annan på en fast punkt...

Påse rörelse larm för identitetsstöld förebyggande

Kort sagt: jag utvecklat en bärbar, batteridriven enhet som avger ett larm när din väska eller handväska flyttas. När beväpnade, kan endast stängas av genom din hemliga kod.Enheten är byggd av en Arduino kompatibel prydnadssak Pro, med en off-the-she...

För mycket QuadCopter & kontrolleras av Microduino-Joypad

Syfte: att kontroll quadcopter via Microduino Joypad.Svårighetsgrad: HighTime tidskrävande: sex timmarMaker: Microduino Studio-PKJQuadcopter, även kallad en quadrotor helikopter, liknar en helikopter, som kan flyga eller skjutas upp i luften. Som en...

Skapa ditt första spel: Del 1: skapa karaktär och rörelse

i detta Instructable, vi kommer att titta på att skapa ett enkelt spel med Flash Professional 8. Detta är den första delen av många och varje gång, vi kommer att göra spelet mer och mer komplexa. Jag kommer att se till att du förstår varje del helt....