<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://project-contubots.tele-lab.cloud/index.php?action=history&amp;feed=atom&amp;title=RobotExplorerContubot1simple</id>
	<title>RobotExplorerContubot1simple - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://project-contubots.tele-lab.cloud/index.php?action=history&amp;feed=atom&amp;title=RobotExplorerContubot1simple"/>
	<link rel="alternate" type="text/html" href="https://project-contubots.tele-lab.cloud/index.php?title=RobotExplorerContubot1simple&amp;action=history"/>
	<updated>2026-05-07T14:49:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://project-contubots.tele-lab.cloud/index.php?title=RobotExplorerContubot1simple&amp;diff=283&amp;oldid=prev</id>
		<title>Admin: Created page with &quot; &lt;syntaxhighlight lang=c style=&quot;border:3px dashed blue&quot;&gt;  #define pinLED 13  #define pinRX 0 #define pinTX 1  // MOTOR LEFT // power #define pinWheelL_PWMA 5 // dir #define pi...&quot;</title>
		<link rel="alternate" type="text/html" href="https://project-contubots.tele-lab.cloud/index.php?title=RobotExplorerContubot1simple&amp;diff=283&amp;oldid=prev"/>
		<updated>2018-05-20T21:52:28Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; &amp;lt;syntaxhighlight lang=c style=&amp;quot;border:3px dashed blue&amp;quot;&amp;gt;  #define pinLED 13  #define pinRX 0 #define pinTX 1  // MOTOR LEFT // power #define pinWheelL_PWMA 5 // dir #define pi...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=c style=&amp;quot;border:3px dashed blue&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define pinLED 13&lt;br /&gt;
&lt;br /&gt;
#define pinRX 0&lt;br /&gt;
#define pinTX 1&lt;br /&gt;
&lt;br /&gt;
// MOTOR LEFT&lt;br /&gt;
// power&lt;br /&gt;
#define pinWheelL_PWMA 5&lt;br /&gt;
// dir&lt;br /&gt;
#define pinWheelL_AIN1 8&lt;br /&gt;
#define pinWheelL_AIN2 9&lt;br /&gt;
&lt;br /&gt;
// MOTOR RIGHT&lt;br /&gt;
// power&lt;br /&gt;
#define pinWheelR_PWMB 6&lt;br /&gt;
// dir&lt;br /&gt;
#define pinWheelR_BIN2 11&lt;br /&gt;
#define pinWheelR_BIN1 12&lt;br /&gt;
&lt;br /&gt;
// ENCODER&lt;br /&gt;
#define pinWheelL_ENCD 2&lt;br /&gt;
#define pinWheelR_ENCD 3&lt;br /&gt;
&lt;br /&gt;
// ULTRASOUND&lt;br /&gt;
#define pinUS_TRIG 10&lt;br /&gt;
#define pinUS_ECHO 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#define pinWheelStandby 7&lt;br /&gt;
&lt;br /&gt;
#define MAXPOWER 255&lt;br /&gt;
#define STEPS_L 5&lt;br /&gt;
#define STEPS_R 5&lt;br /&gt;
#define STEPS_B 10&lt;br /&gt;
#define STEPS_F 20&lt;br /&gt;
&lt;br /&gt;
// A01,A02 // LEFT MOTOR&lt;br /&gt;
// B01,B02 // LEFT MOTOR&lt;br /&gt;
&lt;br /&gt;
// Generally, you should use &amp;quot;unsigned long&amp;quot; for variables that hold time&lt;br /&gt;
// The value will quickly become too large for an int to store&lt;br /&gt;
const int Nt=2;&lt;br /&gt;
unsigned long t0_ms[Nt];        // will store last time LED was updated&lt;br /&gt;
&lt;br /&gt;
// constants won't change :&lt;br /&gt;
long dt_ms[Nt];           // interval at which to do something&lt;br /&gt;
&lt;br /&gt;
// ROBOT MODE&lt;br /&gt;
&lt;br /&gt;
#define EXPLORER 0 // explorer&lt;br /&gt;
#define LFOLLOWER 1 // explorer&lt;br /&gt;
&lt;br /&gt;
int robotMode=EXPLORER;&lt;br /&gt;
&lt;br /&gt;
#define MAXSPEED 255&lt;br /&gt;
int speedR=MAXSPEED;&lt;br /&gt;
int speedL=MAXSPEED;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(57600);&lt;br /&gt;
&lt;br /&gt;
  pinMode(LED_BUILTIN, OUTPUT); &lt;br /&gt;
&lt;br /&gt;
  pinMode(pinWheelL_AIN1, OUTPUT); &lt;br /&gt;
  pinMode(pinWheelL_AIN2, OUTPUT); &lt;br /&gt;
  &lt;br /&gt;
  pinMode(pinWheelR_BIN1, OUTPUT); &lt;br /&gt;
  pinMode(pinWheelR_BIN2, OUTPUT);   &lt;br /&gt;
&lt;br /&gt;
// SONAR&lt;br /&gt;
  pinMode(pinUS_TRIG, OUTPUT); &lt;br /&gt;
  pinMode(pinUS_ECHO, INPUT);&lt;br /&gt;
//&lt;br /&gt;
  pinMode(pinWheelStandby, OUTPUT);   &lt;br /&gt;
  digitalWrite(pinWheelStandby, HIGH);  &lt;br /&gt;
  &lt;br /&gt;
  dt_ms[0] = 10;           // interval at which to avareage angular velocity&lt;br /&gt;
 //Serial.println(&amp;quot;&amp;gt; Ready!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
  unsigned long t_ms = millis();&lt;br /&gt;
  //&lt;br /&gt;
  // check against collision system&lt;br /&gt;
  if (t_ms - t0_ms[2] &amp;gt;= dt_ms[2]) {&lt;br /&gt;
    // save the last time you did it&lt;br /&gt;
    t0_ms[0] = t_ms;&lt;br /&gt;
   int d=ultrasound();&lt;br /&gt;
   &lt;br /&gt;
         setMotor(255,255);&lt;br /&gt;
         &lt;br /&gt;
    if (d&amp;lt;10) {&lt;br /&gt;
      Serial.println(d);   &lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
  }  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Function to Spin Right&lt;br /&gt;
void setMotor(int speedL, int speedR) {&lt;br /&gt;
  int speedLabs=abs(speedL);&lt;br /&gt;
  int speedRabs=abs(speedR);&lt;br /&gt;
&lt;br /&gt;
  if (speedL&amp;gt;0) {&lt;br /&gt;
    digitalWrite(pinWheelL_AIN1, LOW);&lt;br /&gt;
    digitalWrite(pinWheelL_AIN2, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speedL&amp;lt;0) {&lt;br /&gt;
    digitalWrite(pinWheelL_AIN1, HIGH);&lt;br /&gt;
    digitalWrite(pinWheelL_AIN2, LOW);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  if (speedR&amp;gt;0) {&lt;br /&gt;
    digitalWrite(pinWheelR_BIN1, LOW);&lt;br /&gt;
    digitalWrite(pinWheelR_BIN2, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (speedR&amp;lt;0) {&lt;br /&gt;
    digitalWrite(pinWheelR_BIN1, HIGH);&lt;br /&gt;
    digitalWrite(pinWheelR_BIN2, LOW);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  // set power&lt;br /&gt;
  analogWrite(pinWheelL_PWMA, speedLabs);&lt;br /&gt;
  analogWrite(pinWheelR_PWMB, speedRabs);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
long ultrasound() {&lt;br /&gt;
 digitalWrite(pinUS_TRIG, LOW);  // Added this line&lt;br /&gt;
  delayMicroseconds(2); // Added this line&lt;br /&gt;
  digitalWrite(pinUS_TRIG, HIGH);&lt;br /&gt;
//  delayMicroseconds(1000); - Removed this line&lt;br /&gt;
  delayMicroseconds(10); // Added this line&lt;br /&gt;
  digitalWrite(pinUS_TRIG, LOW);&lt;br /&gt;
  long duration_us = pulseIn(pinUS_ECHO, HIGH);&lt;br /&gt;
  long distance_cm = (duration_us/2) / 29.1;&lt;br /&gt;
&lt;br /&gt;
  if (distance_cm&amp;lt;200) {&lt;br /&gt;
    Serial.println(distance_cm);&lt;br /&gt;
  }&lt;br /&gt;
    //delay(10);&lt;br /&gt;
    return(distance_cm);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>