FC-04 ljud Sensor sköt sina gränser (1 / 14 steg)
Steg 1: Viktigaste posterna #1. Dela på- och funktioner
1. dela funktionerna "På" och "OFF" i separata avsnitt
Att placera den på och av funktioner i sina egna sektioner i skriptet var en stor bit i detta pussel för mig. Innan du gör så jag var nära att få lamporna att svara som jag ville men det var fortfarande inte rätt.
Jag har nu alla funktioner att slå på lysdioder grupperade tillsammans under den "ledsON:" etikett. Och alla funktioner att vända lysdioderna backa igen är tillsammans under den "ledsOFF:" etikett.
Detta får även mig att gå igenom avsnittet "På" i koden flera gånger innan han flyttade till avsnittet "OFF". Detta gör att plocka upp mer av värdeförändringar genomsnittliga sensor. Men du måste ta hänsyn till att ju fler gånger du gå igenom avsnittet ON desto långsammare program får OFF avsnitten.
Låt oss tala om dessa "märkt" sektioner i denna skiss. Om du inte har använt en etikett innan, inte panik. Tänk på en etikett som något annat än ett bokmärke i din kod. Och kunde inte vara enklare - att skapa en etikett
LABEL1: (Obs tjocktarmen, du Behöver inte lägga till ett semikolon i slutet av en etikett)
Det är det, vi skapat just en etikett (bokmärke) kallas "LABEL1". Du kan nu gå direkt till funktionerna under LABEL1: från var som helst i skriptet. Etiketter är mycket nyttig särskilt när de kombineras med andra funktioner såsom "om" uttalanden.
Här är ett snabbt exempel:
I exemplet nedan hoppas vi att "x" är alltid lika med 10 annars det ser ut som vi kommer att lansera ett kärnvapen missil!
............
om (x = 10 goto LABEL1); (Obs: Använd inte används kolon i slutet av ett namn när du ringer det)
förbereda missil lansering
digitalWrite (säkerhet, låg). Det finns en säkerhetsbrytare? Tydligen stängt vi bara av!
digitalWrite (lansering, hög); lansera missiler - bummer
LABEL1:
följetong. Println ("X var lika med 10");
följetong. Println ("ta bort huvudet mellan knäna")
.........
I exemplet ovan så länge "x" är lika med 10 programmet hoppar över allt inklusive "/ / förbereda missil lansering" och gå direkt till koden under LABEL1.
Men det finns ett problem, programmet kommer att fortsätta läsa den kod som kommer efter LABEL1, inklusive de ytterligare kod som är mer sistnämnd i skriptet som preps och lanserar backup Tomahawk missiler. Det är vanligt när med etiketter för att få en heter slutet: slutet av din skiss. SLUTET: etikett kan du få fan av dodge. För att hindra programmet från att starta Tomahawks när det blir den del av koden, stannar vi programmet från att komma till den del av koden! Om vi skulle lägga till
gå till slutet;
under den senaste serial. Println rad ovanför skissen kommer att gå direkt till slutet och hoppa över lanserar de Tomahawks.