Stap 3: Het schrijven van de logica voor de lichten
Het bleek, toen mijn onderarmen parallel aan de grond, de lezingen van mijn monitor van de x-as (met de pijl richting mijn vingers) waren waren ongeveer 500.
Ik kon hebben er de trigger instellen, en geschreven logica om te vertellen van de LED's om in te schakelen als de lezing ging boven 500 en uitschakelen als ze minder dan 500 waren, maar ik een beetje meer flexibiliteit wilde. De lus schreef ik in plaats daarvan zag er als volgt:
void loop {}
Xval = analogRead(accPin);
Als (Xval < 450) {}
digitalWrite (13, laag);
};
Als (Xval > 550) {}
digitalWrite (13, hoge);
};
delay(100);
}
Het opzetten van deze twee triggers gaf me de kans om te kiezen of ik de lichten wilde aan het worden in- of uitschakelen wanneer mijn handen parallel aan de grond werden. Ik ga voor het hosten van een partij in deze, dus ik wil moet kunnen afleveren een drankje zonder verblindende iemand, maar ik wil ook kunnen stakingsrecht een heleboel coole poses, op volle kracht.
Omdat de verlichting alleen inschakelen een beetje boven het punt waar ik zou worden bedrijf hen rechte uit, ik moet trekken ze scherp omhoog om in te schakelen in eerste instantie, maar dan, ik kan hen rond bewegen zonder teveel angst dat ze zal uitschakelen. Ik gewoon terug naar mijn armen aan mijn kanten om ze uitstappen en vervolgens, zodra ze uit, ik kan nog steeds verplaatsen ze helemaal tot mijn onderarmen plat zijn zonder te schakelen hen onnodig.
Aangezien ik was alleen het testen van mijn code, om ervoor te zorgen dat ik was het lezen van mijn sensor correct, was ik gewoon de ingebouwde LED op het bord op pin nummer 13 verlichten. Ik ben begonnen met lichtjes verschillende nummers, maar ik net hield hen tweaken en reexporting de code totdat de triggers voelde gelijk en synced up met mijn bewegingen zoals ik gewenst.