<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>http://wikisn.rascol.net/index.php?action=history&amp;feed=atom&amp;title=Codage</id>
	<title>Codage - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="http://wikisn.rascol.net/index.php?action=history&amp;feed=atom&amp;title=Codage"/>
	<link rel="alternate" type="text/html" href="http://wikisn.rascol.net/index.php?title=Codage&amp;action=history"/>
	<updated>2026-11-03T00:34:19Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>http://wikisn.rascol.net/index.php?title=Codage&amp;diff=993&amp;oldid=prev</id>
		<title>Hubert Mathéo le 26 avril 2024 à 15:29</title>
		<link rel="alternate" type="text/html" href="http://wikisn.rascol.net/index.php?title=Codage&amp;diff=993&amp;oldid=prev"/>
		<updated>2024-04-26T15:29:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://wikisn.rascol.net/index.php?title=Codage&amp;amp;diff=993&amp;amp;oldid=990&quot;&gt;Voir les modifications&lt;/a&gt;</summary>
		<author><name>Hubert Mathéo</name></author>
	</entry>
	<entry>
		<id>http://wikisn.rascol.net/index.php?title=Codage&amp;diff=990&amp;oldid=prev</id>
		<title>Hubert Mathéo le 26 avril 2024 à 15:13</title>
		<link rel="alternate" type="text/html" href="http://wikisn.rascol.net/index.php?title=Codage&amp;diff=990&amp;oldid=prev"/>
		<updated>2024-04-26T15:13:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 26 avril 2024 à 16:13&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l251&quot;&gt;Ligne 251 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 251 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     thereis=0;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     thereis=0;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;} &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Cliquez ici pour retourner sur la page de la [[Voiture autonome mignature]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Cliquez ici pour retourner sur la page de la [[Voiture autonome mignature]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hubert Mathéo</name></author>
	</entry>
	<entry>
		<id>http://wikisn.rascol.net/index.php?title=Codage&amp;diff=989&amp;oldid=prev</id>
		<title>Hubert Mathéo le 26 avril 2024 à 15:13</title>
		<link rel="alternate" type="text/html" href="http://wikisn.rascol.net/index.php?title=Codage&amp;diff=989&amp;oldid=prev"/>
		<updated>2024-04-26T15:13:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 26 avril 2024 à 16:13&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l252&quot;&gt;Ligne 252 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 252 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Cliquez ici pour retourner sur la page de la [[Voiture &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Roulante Mignature&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Cliquez ici pour retourner sur la page de la [[Voiture &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;autonome mignature&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hubert Mathéo</name></author>
	</entry>
	<entry>
		<id>http://wikisn.rascol.net/index.php?title=Codage&amp;diff=988&amp;oldid=prev</id>
		<title>Hubert Mathéo le 26 avril 2024 à 15:12</title>
		<link rel="alternate" type="text/html" href="http://wikisn.rascol.net/index.php?title=Codage&amp;diff=988&amp;oldid=prev"/>
		<updated>2024-04-26T15:12:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 26 avril 2024 à 16:12&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l252&quot;&gt;Ligne 252 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 252 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Cliquez ici pour retourner sur la page de la [[Voiture Roulante Mignature]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hubert Mathéo</name></author>
	</entry>
	<entry>
		<id>http://wikisn.rascol.net/index.php?title=Codage&amp;diff=987&amp;oldid=prev</id>
		<title>Hubert Mathéo : Page créée avec « #include &lt;PWMServo.h&gt; #define IN1 7 #define IN2 8 #define ENA 5       //  ENA pin  #define FRONT 90        //degree when steering facing straight forward int SHARP_RIGHT=FRONT+33; int SHARP_LEFT=FRONT-40; int  RIGHT=FRONT+17; int  LEFT=FRONT-20;  #define SENSOR_FRONT 90 int SENSOR_LEFT=SENSOR_FRONT+25; int SENSOR_RIGHT=SENSOR_FRONT-25; int SENSOR_FAR_LEFT=SENSOR_FRONT+60; int SENSOR_FAR_RIGHT=SENSOR_FRONT-60;  #define DELAY_TIME    1000     #define SPEED... »</title>
		<link rel="alternate" type="text/html" href="http://wikisn.rascol.net/index.php?title=Codage&amp;diff=987&amp;oldid=prev"/>
		<updated>2024-04-26T15:11:10Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « #include &amp;lt;PWMServo.h&amp;gt; #define IN1 7 #define IN2 8 #define ENA 5       //  ENA pin  #define FRONT 90        //degree when steering facing straight forward int SHARP_RIGHT=FRONT+33; int SHARP_LEFT=FRONT-40; int  RIGHT=FRONT+17; int  LEFT=FRONT-20;  #define SENSOR_FRONT 90 int SENSOR_LEFT=SENSOR_FRONT+25; int SENSOR_RIGHT=SENSOR_FRONT-25; int SENSOR_FAR_LEFT=SENSOR_FRONT+60; int SENSOR_FAR_RIGHT=SENSOR_FRONT-60;  #define DELAY_TIME    1000     #define SPEED... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;#include &amp;lt;PWMServo.h&amp;gt;&lt;br /&gt;
#define IN1 7&lt;br /&gt;
#define IN2 8&lt;br /&gt;
#define ENA 5       //  ENA pin&lt;br /&gt;
&lt;br /&gt;
#define FRONT 90        //degree when steering facing straight forward&lt;br /&gt;
int SHARP_RIGHT=FRONT+33;&lt;br /&gt;
int SHARP_LEFT=FRONT-40;&lt;br /&gt;
int  RIGHT=FRONT+17;&lt;br /&gt;
int  LEFT=FRONT-20;&lt;br /&gt;
&lt;br /&gt;
#define SENSOR_FRONT 90&lt;br /&gt;
int SENSOR_LEFT=SENSOR_FRONT+25;&lt;br /&gt;
int SENSOR_RIGHT=SENSOR_FRONT-25;&lt;br /&gt;
int SENSOR_FAR_LEFT=SENSOR_FRONT+60;&lt;br /&gt;
int SENSOR_FAR_RIGHT=SENSOR_FRONT-60;&lt;br /&gt;
&lt;br /&gt;
#define DELAY_TIME    1000   &lt;br /&gt;
&lt;br /&gt;
#define SPEED         170&lt;br /&gt;
#define FAST_SPEED    200 &lt;br /&gt;
#define MID_SPEED     170&lt;br /&gt;
#define SERVO_STEER   9  //steer servo connect to D9&lt;br /&gt;
#define SERVO_SENSOR  10  //Ultrasonic sensor servo connect to D10&lt;br /&gt;
&lt;br /&gt;
#define Echo_PIN    2 // Ultrasonic Echo pin connect to D11&lt;br /&gt;
#define Trig_PIN    3  // Ultrasonic Trig pin connect to D12&lt;br /&gt;
&lt;br /&gt;
PWMServo head;&lt;br /&gt;
PWMServo head_steer;&lt;br /&gt;
int leftscanval, centerscanval, rightscanval, ldiagonalscanval, rdiagonalscanval;&lt;br /&gt;
const int distancelimit = 30; //distance limit for obstacles in front           &lt;br /&gt;
const int sidedistancelimit = 30; //minimum distance in cm to obstacles at both sides (the car will allow a shorter distance sideways)&lt;br /&gt;
int distance;&lt;br /&gt;
int numcycles = 0;&lt;br /&gt;
const int forwardtime = 600; //Time the robot spends turning (miliseconds)&lt;br /&gt;
const int turntime = 900; //Time the robot spends turning (miliseconds)&lt;br /&gt;
const int backtime = 900; //Time the robot spends turning (miliseconds)&lt;br /&gt;
#define LPT 2 // scan loop coumter&lt;br /&gt;
int thereis;&lt;br /&gt;
/*motor control*/&lt;br /&gt;
void  go_Back(int speed)  //Forward&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(IN1, HIGH);&lt;br /&gt;
  digitalWrite(IN2,LOW);&lt;br /&gt;
  analogWrite(ENA,speed);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void go_Advance(int speed)  //Forward&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(IN1, LOW);&lt;br /&gt;
  digitalWrite(IN2,HIGH);&lt;br /&gt;
  analogWrite(ENA,speed);&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void turn(int angle)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  head_steer.write(angle);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
void stop_Stop()    //Stop&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  digitalWrite(IN1, LOW);&lt;br /&gt;
  digitalWrite(IN2,LOW);&lt;br /&gt;
  analogWrite(ENA,0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
 pinMode(ENA, OUTPUT); &lt;br /&gt;
 pinMode(IN1, OUTPUT); &lt;br /&gt;
 pinMode(IN2, OUTPUT); &lt;br /&gt;
 pinMode(Trig_PIN, OUTPUT); &lt;br /&gt;
 pinMode(Echo_PIN,INPUT); &lt;br /&gt;
&lt;br /&gt;
 head_steer.attach(SERVO_STEER);&lt;br /&gt;
 head.attach(SERVO_SENSOR); &lt;br /&gt;
 head.write(90);&lt;br /&gt;
 turn(FRONT);&lt;br /&gt;
 stop_Stop();&lt;br /&gt;
 delay(2000);&lt;br /&gt;
&lt;br /&gt;
 Serial.begin(9600);&lt;br /&gt;
 &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
void loop() {&lt;br /&gt;
 auto_avoidance();&lt;br /&gt;
 &lt;br /&gt;
}&lt;br /&gt;
/*detection of ultrasonic distance*/&lt;br /&gt;
int watch(){&lt;br /&gt;
  long echo_distance;&lt;br /&gt;
  digitalWrite(Trig_PIN,LOW);&lt;br /&gt;
  delayMicroseconds(5);                                                                              &lt;br /&gt;
  digitalWrite(Trig_PIN,HIGH);&lt;br /&gt;
  delayMicroseconds(15);&lt;br /&gt;
  digitalWrite(Trig_PIN,LOW);&lt;br /&gt;
  echo_distance=pulseIn(Echo_PIN,HIGH);&lt;br /&gt;
  echo_distance=echo_distance*0.01657; //how far away is the object in cm&lt;br /&gt;
  //Serial.println((int)echo_distance);&lt;br /&gt;
  return round(echo_distance);&lt;br /&gt;
}&lt;br /&gt;
//Meassures distances to the right, left, front, left diagonal, right diagonal and asign them in cm to the variables rightscanval, &lt;br /&gt;
//leftscanval, centerscanval, ldiagonalscanval and rdiagonalscanval (there are 5 points for distance testing)&lt;br /&gt;
String watchsurrounding(){&lt;br /&gt;
/*  obstacle_status is a binary integer, its last 5 digits stands for if there is any obstacles in 5 directions,&lt;br /&gt;
 *   for example B101000 last 5 digits is 01000, which stands for Left front has obstacle, B100111 means front, right front and right ha&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
int obstacle_status =B100000;&lt;br /&gt;
  centerscanval = watch();&lt;br /&gt;
  if(centerscanval&amp;lt;distancelimit){&lt;br /&gt;
    stop_Stop();&lt;br /&gt;
    &lt;br /&gt;
    obstacle_status  =obstacle_status | B100;&lt;br /&gt;
    }&lt;br /&gt;
  head.write(SENSOR_LEFT);&lt;br /&gt;
  delay(100);&lt;br /&gt;
  ldiagonalscanval = watch();&lt;br /&gt;
  if(ldiagonalscanval&amp;lt;distancelimit){&lt;br /&gt;
    stop_Stop();&lt;br /&gt;
    &lt;br /&gt;
     obstacle_status  =obstacle_status | B1000;&lt;br /&gt;
    }&lt;br /&gt;
  head.write(SENSOR_FAR_LEFT); //Didn't use 180 degrees because my servo is not able to take this angle&lt;br /&gt;
  delay(300);&lt;br /&gt;
  leftscanval = watch();&lt;br /&gt;
  if(leftscanval&amp;lt;sidedistancelimit){&lt;br /&gt;
    stop_Stop();&lt;br /&gt;
    &lt;br /&gt;
     obstacle_status  =obstacle_status | B10000;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  head.write(SENSOR_FRONT); //use 90 degrees if you are moving your servo through the whole 180 degrees&lt;br /&gt;
  delay(100);&lt;br /&gt;
  centerscanval = watch();&lt;br /&gt;
  if(centerscanval&amp;lt;distancelimit){&lt;br /&gt;
    stop_Stop();&lt;br /&gt;
    &lt;br /&gt;
    obstacle_status  =obstacle_status | B100;&lt;br /&gt;
    }&lt;br /&gt;
  head.write(SENSOR_RIGHT);&lt;br /&gt;
  delay(100);&lt;br /&gt;
  rdiagonalscanval = watch();&lt;br /&gt;
  if(rdiagonalscanval&amp;lt;distancelimit){&lt;br /&gt;
    stop_Stop();&lt;br /&gt;
    &lt;br /&gt;
    obstacle_status  =obstacle_status | B10;&lt;br /&gt;
    }&lt;br /&gt;
  head.write(SENSOR_FAR_RIGHT);&lt;br /&gt;
  delay(100);&lt;br /&gt;
  rightscanval = watch();&lt;br /&gt;
  if(rightscanval&amp;lt;sidedistancelimit){&lt;br /&gt;
    stop_Stop();&lt;br /&gt;
  &lt;br /&gt;
    obstacle_status  =obstacle_status | 1;&lt;br /&gt;
    }&lt;br /&gt;
  head.write(SENSOR_FRONT); //Finish looking around (look forward again)&lt;br /&gt;
  delay(300);&lt;br /&gt;
   String obstacle_str= String(obstacle_status,BIN);&lt;br /&gt;
  obstacle_str= obstacle_str.substring(1,6);&lt;br /&gt;
  &lt;br /&gt;
  return obstacle_str; //return 5-character string standing for 5 direction obstacle status&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void auto_avoidance(){&lt;br /&gt;
&lt;br /&gt;
  ++numcycles;&lt;br /&gt;
  if(numcycles&amp;gt;=LPT){ //Watch if something is around every LPT loops while moving forward &lt;br /&gt;
     stop_Stop();&lt;br /&gt;
    String obstacle_sign=watchsurrounding(); // 5 digits of obstacle_sign binary value means the 5 direction obstacle status&lt;br /&gt;
      Serial.print(&amp;quot;begin str=&amp;quot;);&lt;br /&gt;
        Serial.println(obstacle_sign);&lt;br /&gt;
                    if( obstacle_sign==&amp;quot;00000&amp;quot;){&lt;br /&gt;
     Serial.println(&amp;quot;FORWARD&amp;quot;);&lt;br /&gt;
     turn(FRONT);&lt;br /&gt;
     go_Advance(SPEED);&lt;br /&gt;
 &lt;br /&gt;
      delay(forwardtime);&lt;br /&gt;
      stop_Stop();&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    else if( obstacle_sign==&amp;quot;01000&amp;quot; || obstacle_sign==&amp;quot;11000&amp;quot; || obstacle_sign==&amp;quot;10000&amp;quot;  ){&lt;br /&gt;
     Serial.println(&amp;quot;hand right&amp;quot;);&lt;br /&gt;
           turn(SHARP_RIGHT);&lt;br /&gt;
     go_Advance(FAST_SPEED);&lt;br /&gt;
      delay(turntime);&lt;br /&gt;
      stop_Stop();&lt;br /&gt;
      turn(FRONT);&lt;br /&gt;
    } &lt;br /&gt;
    &lt;br /&gt;
    else if( obstacle_sign==&amp;quot;00010&amp;quot; ||obstacle_sign==&amp;quot;00011&amp;quot; ||obstacle_sign==&amp;quot;00001&amp;quot;  ){&lt;br /&gt;
    Serial.println(&amp;quot;hand left&amp;quot;);&lt;br /&gt;
          turn(SHARP_LEFT);&lt;br /&gt;
     go_Advance(FAST_SPEED);&lt;br /&gt;
      delay(turntime);&lt;br /&gt;
      stop_Stop();&lt;br /&gt;
      turn(FRONT);&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    else if( obstacle_sign==&amp;quot;00111&amp;quot; ||   obstacle_sign==&amp;quot;01111&amp;quot; ||  obstacle_sign==&amp;quot;10111&amp;quot; || obstacle_sign==&amp;quot;11111&amp;quot;  || obstacle_sign==&amp;quot;00110&amp;quot; || obstacle_sign==&amp;quot;01010&amp;quot;  || obstacle_sign==&amp;quot;00101&amp;quot; ){&lt;br /&gt;
    Serial.println(&amp;quot;hand back right&amp;quot;);&lt;br /&gt;
     turn(RIGHT);&lt;br /&gt;
     go_Back(FAST_SPEED);&lt;br /&gt;
       delay(backtime);&lt;br /&gt;
          stop_Stop();&lt;br /&gt;
          turn(FRONT);&lt;br /&gt;
     } &lt;br /&gt;
         else if(obstacle_sign==&amp;quot;00100&amp;quot;  || obstacle_sign==&amp;quot;10100&amp;quot;  || obstacle_sign==&amp;quot;01100&amp;quot; || obstacle_sign==&amp;quot;11100&amp;quot; || obstacle_sign==&amp;quot;11011&amp;quot;  ||    obstacle_sign==&amp;quot;11101&amp;quot;  ||  obstacle_sign==&amp;quot;11110&amp;quot;  || obstacle_sign==&amp;quot;01110&amp;quot;  ){&lt;br /&gt;
    Serial.println(&amp;quot;hand back left&amp;quot;);&lt;br /&gt;
      turn(LEFT);&lt;br /&gt;
     go_Back(FAST_SPEED);&lt;br /&gt;
       delay(backtime);&lt;br /&gt;
          stop_Stop();&lt;br /&gt;
          turn(FRONT);&lt;br /&gt;
     }    &lt;br /&gt;
  &lt;br /&gt;
      else Serial.println(&amp;quot;no handle&amp;quot;);&lt;br /&gt;
    numcycles=0; //Restart count of cycles&lt;br /&gt;
    } else {&lt;br /&gt;
             turn(FRONT);&lt;br /&gt;
     go_Advance(SPEED);&lt;br /&gt;
        delay(backtime);&lt;br /&gt;
          stop_Stop();&lt;br /&gt;
         &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  //else  Serial.println(numcycles);&lt;br /&gt;
  &lt;br /&gt;
  distance = watch(); // use the watch() function to see if anything is ahead (when the robot is just moving forward and not looking around it will test the distance in front)&lt;br /&gt;
  if (distance&amp;lt;distancelimit){ // The robot will just stop if it is completely sure there's an obstacle ahead (must test 25 times) (needed to ignore ultrasonic sensor's false signals)&lt;br /&gt;
 Serial.println(&amp;quot;final go back&amp;quot;);&lt;br /&gt;
       turn(SHARP_RIGHT);&lt;br /&gt;
     go_Back(FAST_SPEED);&lt;br /&gt;
  delay(backtime*3/2);&lt;br /&gt;
  turn(FRONT);&lt;br /&gt;
      ++thereis;}&lt;br /&gt;
  if (distance&amp;gt;distancelimit){&lt;br /&gt;
      thereis=0;} //Count is restarted&lt;br /&gt;
  if (thereis &amp;gt; 25){&lt;br /&gt;
  Serial.println(&amp;quot;final stop&amp;quot;);&lt;br /&gt;
    stop_Stop(); // Since something is ahead, stop moving.&lt;br /&gt;
    thereis=0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Hubert Mathéo</name></author>
	</entry>
</feed>