Stap 3: Het algoritme:: deel 1
Kortom, de samengestelde IR-Sensor stuurt een explosie van IR licht en leest de reflectie. In de bovenstaande afbeelding, de rode pijlen vertegenwoordigen IR licht worden verzonden vanaf de sensor, en de groene pijlen vertegenwoordigen gereflecteerde licht. Hoe verder weg van de muur die je bent, hoe minder gereflecteerd licht ontvangt u.
- Situatie A :: als it's getting * a lot more dan * gewenste hoeveelheid gereflecteerd licht terug, dat moet betekenen dat u bent * zeer close * aan de muur, zodat u moet idle terug de goede weg vrij een beetje zodat u snel van de muur.
- Situatie B :: als het is steeds een hoger dan de gewenste hoeveelheid gereflecteerd licht, betekent dat je bent dichter bij de muur dan u zou moeten zijn, dus u moet terug idle rechts volgen een beetje om veer van de muur.
- Situatie C :: als u de "juiste hoeveelheid" gereflecteerde licht terug, dat u zijn "in the zone", betekent moet dus u spoor snelheid egaliseren moet zodat u vooruit in een rechte lijn gaat krijgt.
Dit fundamentele algoritme is herhaald over en over en weer, en past voortdurend de Rover bijhouden zodat het onderhoudt uw gewenste afstand van de muur.
Als je merkt dat je te ver weg van de muur, zou je soortgelijke besluitvorming zodat u veer naar de muur door stationair het linker spoor terug te draaien.
De code van de steekproef...
Controle motoren te handhaven van de juiste afstand tussen de muur
Als (irValue > IR_HOWCLOSE + 4 =) {}
Situ A) manier te sluiten, VEER rechts
% van linker Motor, % van de juiste Motor
goForward (100, 60);
}
anders als (irValue > IR_HOWCLOSE) {}
Situ B) A beetje sluiten, veer rechts
goForward (100, 75);
}
anders als (irValue > = IR_HOWFAR & & irValue < = IR_HOWCLOSE) {}
Situ C) goede, rechtdoor
goForward (100, 100);
}
... enz...