Stap 3: programmeren
Er zijn vijf scenario's, in principe.
#1
Als beide sensoren een object op hetzelfde moment detecteren, en de afstand tussen de 5 en 15 cm is: object in bereik, gewoon stoppen en opnieuw controleren.
#2
Als beide sensoren een object op hetzelfde moment detecteren, en de afstand minder dan 5 cm is: object te dicht, retraite om te voorkomen dat effect.
#3
Als de linker sensor een object detecteert terwijl de juiste sensor niet: bezwaar op links, sla linksaf en vooruit.
#4
Als de juiste sensor een object, detecteert terwijl de linker sensor niet: bezwaar aan rechterkant, slaat u rechtsaf en vooruit.
#5
Als geen van de twee sensoren elk object detecteert: blijven nog steeds niet in zicht, en spin.
Ik heb ook de code voor download bijgesloten ter referentie. Hieronder vindt u uitleg van bepaalde codes.
een
Als (! links & &! juiste & & x > 15)
{advance(100,100);}
Wanneer digitale infrarood switch obstakel detecteert, genereert het lage uitvoer; Zoniet, genereert hoge output.
Het bereik van digitale infrarode sensor schakelaar ik gebruikte is 3 ~ 80cm en het bereik kan ook worden aangepast. Dat is cool.
b
dubbele get_gp2d120x (waarde uint16_t) {}
Als de waarde (waarde < 16) = 16; keren 2076.0 / (waarde - 11.0); }
Dit is om de afstand tussen de IR-sensor en het object te berekenen.