
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.robotika.sk/robowiki/index.php?action=history&amp;feed=atom&amp;title=InfraRedNavigation.BS2</id>
		<title>InfraRedNavigation.BS2 - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.robotika.sk/robowiki/index.php?action=history&amp;feed=atom&amp;title=InfraRedNavigation.BS2"/>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=InfraRedNavigation.BS2&amp;action=history"/>
		<updated>2026-04-04T01:01:46Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.robotika.sk/robowiki/index.php?title=InfraRedNavigation.BS2&amp;diff=5608&amp;oldid=prev</id>
		<title>Balogh: New page: &lt;source lang=&quot;basic&quot;&gt; ' -----[ Title ]-------------------------------------------------------------- ' Robotics with the Boe-Bot - RoamingWithIr.bs2 ' Adapt RoamingWithWhiskers.bs2 for use...</title>
		<link rel="alternate" type="text/html" href="https://wiki.robotika.sk/robowiki/index.php?title=InfraRedNavigation.BS2&amp;diff=5608&amp;oldid=prev"/>
				<updated>2011-02-15T11:47:52Z</updated>
		
		<summary type="html">&lt;p&gt;New page: &amp;lt;source lang=&amp;quot;basic&amp;quot;&amp;gt; &amp;#039; -----[ Title ]-------------------------------------------------------------- &amp;#039; Robotics with the Boe-Bot - RoamingWithIr.bs2 &amp;#039; Adapt RoamingWithWhiskers.bs2 for use...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;basic&amp;quot;&amp;gt;&lt;br /&gt;
' -----[ Title ]--------------------------------------------------------------&lt;br /&gt;
' Robotics with the Boe-Bot - RoamingWithIr.bs2&lt;br /&gt;
' Adapt RoamingWithWhiskers.bs2 for use with IR pairs.&lt;br /&gt;
&lt;br /&gt;
' {$STAMP BS2} ' Stamp directive.&lt;br /&gt;
' {$PBASIC 2.5} ' PBASIC directive.&lt;br /&gt;
&lt;br /&gt;
DEBUG &amp;quot;Program Running!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
' -----[ Variables ]----------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
irDetectLeft VAR Bit&lt;br /&gt;
irDetectRight VAR Bit&lt;br /&gt;
pulseCount VAR Byte&lt;br /&gt;
&lt;br /&gt;
' -----[ Initialization ]-----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
FREQOUT 4, 2000, 3000 ' Signal program start/reset.&lt;br /&gt;
&lt;br /&gt;
' -----[ Main Routine ]-------------------------------------------------------&lt;br /&gt;
DO&lt;br /&gt;
  FREQOUT 8, 1, 38500 ' Store IR detection values in&lt;br /&gt;
  irDetectLeft = IN9 ' bit variables.&lt;br /&gt;
  FREQOUT 2, 1, 38500&lt;br /&gt;
  irDetectRight = IN0&lt;br /&gt;
&lt;br /&gt;
  IF (irDetectLeft = 0) THEN&lt;br /&gt;
    HIGH 10&lt;br /&gt;
  ELSE&lt;br /&gt;
    LOW 10&lt;br /&gt;
  ENDIF&lt;br /&gt;
&lt;br /&gt;
  IF (irDetectRight = 0) THEN&lt;br /&gt;
    HIGH 1&lt;br /&gt;
  ELSE&lt;br /&gt;
    LOW 1&lt;br /&gt;
  ENDIF&lt;br /&gt;
&lt;br /&gt;
  IF (irDetectLeft = 0) AND (irDetectRight = 0) THEN&lt;br /&gt;
    GOSUB Back_Up ' Both IR pairs detect obstacle&lt;br /&gt;
    GOSUB Turn_Left ' Back up &amp;amp; U-turn (left twice)&lt;br /&gt;
    GOSUB Turn_Left&lt;br /&gt;
  ELSEIF (irDetectLeft = 0) THEN ' Left IR pair detects&lt;br /&gt;
    GOSUB Back_Up ' Back up &amp;amp; turn right&lt;br /&gt;
    GOSUB Turn_Right&lt;br /&gt;
  ELSEIF (irDetectRight = 0) THEN ' Right IR pair detects&lt;br /&gt;
    GOSUB Back_Up ' Back up &amp;amp; turn left&lt;br /&gt;
    GOSUB Turn_Left&lt;br /&gt;
  ELSE ' Both IR pairs 1, no detects&lt;br /&gt;
    GOSUB Forward_Pulse ' Apply a forward pulse&lt;br /&gt;
  ENDIF ' and check again&lt;br /&gt;
LOOP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
' -----[ Subroutines ]--------------------------------------------------------&lt;br /&gt;
Forward_Pulse: ' Send a single forward pulse.&lt;br /&gt;
PULSOUT 13,850&lt;br /&gt;
PULSOUT 12,650&lt;br /&gt;
PAUSE 20&lt;br /&gt;
RETURN&lt;br /&gt;
&lt;br /&gt;
Turn_Left: ' Left turn, about 90-degrees.&lt;br /&gt;
FOR pulseCount = 0 TO 20&lt;br /&gt;
PULSOUT 13, 650&lt;br /&gt;
PULSOUT 12, 650&lt;br /&gt;
PAUSE 20&lt;br /&gt;
NEXT&lt;br /&gt;
RETURN&lt;br /&gt;
&lt;br /&gt;
Turn_Right:&lt;br /&gt;
FOR pulseCount = 0 TO 20 ' Right turn, about 90-degrees.&lt;br /&gt;
PULSOUT 13, 850&lt;br /&gt;
PULSOUT 12, 850&lt;br /&gt;
PAUSE 20&lt;br /&gt;
NEXT&lt;br /&gt;
RETURN&lt;br /&gt;
&lt;br /&gt;
Back_Up: ' Back up.&lt;br /&gt;
FOR pulseCount = 0 TO 40&lt;br /&gt;
PULSOUT 13, 650&lt;br /&gt;
PULSOUT 12, 850&lt;br /&gt;
PAUSE 20&lt;br /&gt;
NEXT&lt;br /&gt;
RETURN&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Balogh</name></author>	</entry>

	</feed>