Stap 6: Programma de-niet-tabel
De code van de Arduino voor de TNT heeft drie hoofdfuncties:
- Een willekeurig pad maken voor TNT
- verplaatsen langs dat pad in willekeurige tussenpozen en
- Meld u verkeer op een SD-kaart.
Kunt u de onderstaande code van Arduino. Alles wat u hoeft te doen is te downloaden van de code en deze uploaden naar je Arduino board. Als u wijzigen van de code wilt, is hier een meer gedetailleerde uitleg voor de enkele stappen.
Allereerst is de ruimte die de TNT beweegt in beperkt omdat het is aangesloten op een stroomkabel. Daarom zijn beweging mag volledig willekeurig zijn omdat het van koord uitgeput misschien of, als de motoren sterk genoeg zijn, het zelf kon loskoppelen. Omdat we nog steeds het verkeer wilden te verschijnen willekeurige besloten hebben we om te programmeren van een logica die wordt gemaakt van een willekeurig pad voor de TNT. Maar zodra het bereikt het einde van het pad, het zijn stappen zal terug naar de oorspronkelijke positie. En na de TNT keerde terug naar de oorspronkelijke positie die de code genereert een nieuw willekeurig pad voor de TNT. Op deze manier het verkeer is nog steeds willekeurig, maar het zorgt er ook voor dat de TNT blijven binnen een bepaald gebied, zal want het altijd terug te naar het beginpunt keren is.
Het pad zelf kan bevatten van een willekeurig aantal stappen maar we besloten om te werken met 6 stappen in totaal. 3 stappen naar een willekeurige positie en drie stappen terug naar het beginpunt. Elke stap kan een van de 8 geprogrammeerde bewegingen zijn: Forward, rechts, links, Spin recht, Spin links, Reverse recht, Reverse links en achterwaarts. Elke keer als onze code maakt u een nieuw pad zal drie willekeurige bewegingen Selecteer en bewaar ze in een array. Het zal dan ga je gang en de stappen die nodig zijn om terug te gaan naar de oorspronkelijke positie te bepalen.
Bijvoorbeeld, laten we aannemen dat de willekeurige pad bestaat uit de volgende reeks: links, rechts, naar voren draaien. De code zal vervolgens bepalen dat de stappen om terug te keren naar het begin: links, Spin achterwaarts, keren recht.
Terwijl de code wordt gemaakt van de route voor de TNT, bepaalt het ook voor hoe lang elke stap zal worden uitgevoerd. De duur kan variëren tussen 5 en 12 seconden terwijl de code zorgt ervoor dat elke stap en zijn tegenhanger voor hetzelfde tijdstip wordt uitgevoerd. Bijvoorbeeld: als de stap 'Voorwaarts' uit het vorige voorbeeld wordt uitgevoerd voor 8,5 seconden, de stap 'Backward' ook voor 8,5 seconden uitgevoerd zal worden.
Nu de TNT is klaar, maar de enkele stappen zijn niet meteen uitgevoerd. De code zet in een willekeurige vertraging voordat elke stap wordt uitgevoerd. Deze vertragingen variëren van 20 tot 110 minuten. In tegenstelling tot de stappen en de tijd voor elke stap verschilt elke één vertraging die bijdraagt aan de dubbelzinnigheid van de beweging.
Tot slot zijn de enkele stappen wordt opgenomen op een SD-kaart aangesloten op het schild van de Datalogger. Het schild ook stelt ons in staat om te lezen van de huidige tijd, die we gebruiken om samen met de enkele stappen en hun timing.