Autonoma vägg kramas Arduino fordon (3 / 7 steg)
Steg 3: Algoritmen:: del 1
I grund och botten sammansatta IR-sensorn sänder ut en tryckvåg av IR-ljus och läser reflektion. De röda pilarna representerar IR-ljus som skickas från sensorn i bilden ovan, och de gröna pilarna representerar reflekterat ljus. Ju längre bort från väggen du är, desto mindre reflekterat ljus får du.
- Situation A :: om det blir * mycket mer än * önskad mängd reflekterat ljus tillbaka, det måste betyda att du är * mycket nära * på väggen, så du bör idle tillbaka rätt spår ganska lite så att du snabbt gå från väggen.
- Situationen B :: om det blir en högre än önskad mängd reflekterat ljus, som innebär att du är närmare väggen än du borde, så du bör idle tillbaka rätt spår lite för att svänga bort från väggen.
- Situationen C :: om du får "rätt mängd" reflekterade ljuset tillbaka, det måste betyda du är "zonen", så du bör utjämna spår hastighet så att du kommer framåt i en rak linje.
Upprepas om och om och om igen, justerar denna grundläggande algoritm ständigt Rover spårning så att den upprätthåller din önskat avstånd från väggen.
Om du befinner dig för långt bort från väggen, skulle du göra liknande beslut att göra så att du svänger mot väggen av tomgång tillbaka det vänstra spåret.
Exempel på kod...
Kontroll motorer att upprätthålla rätt avstånd från vägg
om (irValue > = IR_HOWCLOSE + 4) {
Situ A) sätt alltför nära, SVÄNGA höger
% av vänster Motor, % av rätt Motor
goForward (100, 60);
}
annars om (irValue > IR_HOWCLOSE) {
Situ B) A lite nära, svänga höger
goForward (100, 75);
}
annars om (irValue > = IR_HOWFAR & & irValue < = IR_HOWCLOSE) {
Situ C) bra, gå rakt
goForward (100, 100);
}
... osv...