RobotLineFollowing

Büyük bir kağıt alın (veya büyük bir parça yapmak için daha küçük parçaları birbirine bantlayın) ve üzerine kalın bir siyah işaret kullanarak bir şekil çizin. Bu şekil yarış pistiniz olacak.

Robotu çizginin üstüne koyun ve açın. Çizgiyi tespit etmek için zemini tarar. Çizgiyi bulduğunda, yolu izlemeye başlar.

Hangisini daha hızlı hale getirdiğini görmek için diğer robotlarla yarışın!

Gerekli Donanım

  • Arduino Robotu
  • Büyük beyaz kağıt parçası
  • Kalın siyah işaretleyici
  • bant

Talimat

  1. Parkuru hazırlayın. Soem beyaz kağıdına kalın bir çizgi çizin, çizginin uçlarının bir arada olduğundan emin olun. Biri yeterince büyük değilse birden fazla kağıt kullanın. Çizgi yaklaşık 3 cm (1 inç) genişliğinde olmalıdır.
  2. Robotun kağıdın kaymasına neden olmaması için kağıdı yere bantlayın. Yüzey açık renkte olmalıdır.
  3. Örneği yükleyin, USB'yi çıkarın ve gücü açın.
  4. Robotu çizginin üzerine gelecek şekilde piste yerleştirin.
  5. Başlangıç ekranından sonra robot kendini kalibre edecektir. Hattı tespit ederek birkaç kez sallanacak.
  6. Robot çizgiyi takip etmeye başlayacak. Her şey yolunda giderse, sürekli pistin etrafında dönecektir. Robot çizgiden çıkarsa , nasıl kalibre edileceğiyle ilgili ayrıntılar için lineFollowConfig () öğesine bakın.

Denemek

Kendi yarış pistinizi çizin

Robotun yarışı koşmasına izin ver!

Kod

/* Robot Line Follow

 This sketch demonstrates the line following capabilities
 of the Arduino Robot. On the floor, place some black
 electrical tape along the path you wish the robot to follow.
 To indicate a stopping point, place another piece of tape
 perpendicular to the path.

 Circuit:
 * Arduino Robot

 created 1 May 2013
 by X. Yang
 modified 12 May 2013
 by D. Cuartielles

 This example is in the public domain
 */


#include <ArduinoRobot.h> // include the robot library
#include <Wire.h>

long timerOrigin; // used for counting elapsed time

void setup() {
  // initialize the Robot, SD card, display, and speaker
  Robot.begin();
  Robot.beginTFT();
  Robot.beginSD();
  Robot.beginSpeaker();

  // show the logots on the TFT screen
  Robot.displayLogos();

  Robot.drawBMP("lf.bmp", 0, 0); // display background image

  Robot.playFile("chase.sqm");  // play a song from the SD card

  // add the instructions
  Robot.text("Line Following\n\n place the robot on\n the track and \n see it run", 5, 5);
  Robot.text("Press the middle\n button to start...", 5, 61);
  Robot.waitContinue();

  // These are some general values that work for line following
  // uncomment one or the other to see the different behaviors of the robot
  //Robot.lineFollowConfig(14, 9, 50, 10);
  Robot.lineFollowConfig(11, 7, 60, 5);


  //set the motor board into line-follow mode
  Robot.setMode(MODE_LINE_FOLLOW);

  // start
  Robot.fill(255, 255, 255);
  Robot.stroke(255, 255, 255);
  Robot.rect(0, 0, 128, 80); // erase the previous text
  Robot.stroke(0, 0, 0);
  Robot.text("Start", 5, 5);

  Robot.stroke(0, 0, 0); // choose color for the text
  Robot.text("Time passed:", 5, 21); // write some text to the screen

  timerOrigin = millis(); // keep track of the elapsed time

  while (!Robot.isActionDone()) { //wait for the finish signal
    Robot.debugPrint(millis() - timerOrigin, 5, 29); // show how much time has passed
  }

  Robot.stroke(0, 0, 0);
  Robot.text("Done!", 5, 45);
}
void loop() {
  //nothing here, the program only runs once. Reset the robot
  //to do it again!
}
[Kodu Al]

Nasıl çalışır

Robot, motor kartının altında ışığın nereye yansıdığını algılayan beş kızılötesi sensöre sahiptir. Bu bilgiler, düz devam edip etmeyeceğinize veya dönüş hızını değiştirmek için kullanılır.

Durduruluyor

Robot, beş sensörün tümünü aynı anda kaplayan siyah bir şekil algıladığında duracaktır. Robotun eylemleri durdurması ve gerçekleştirmesi için parçalar oluşturmak üzere bu özelliği kullanın.

See Also