Skip to content

robot.line.getOnLine()

urban-b edited this page May 17, 2018 · 9 revisions

Opis

Določi ali je senzor i na črti ali ni.

Klic

robot.line.getOnLine();

Vhodni parametri

i tipa int: Številka senzorja pod katerim preverjamo ali je črta ali ni.

Izhod

Tipa int: Številka 1, če pod senzorjem je črta, ali številka 0, če je ni.

Primer kode

#include <Robot.h>

int i; //definiramo spremenljivko i
int sensors[7]; //ustvarimo seznam senzorjev

void setup() {
  robot.beep(440, 100); //postopek kalibracije je že opisan
  while(!robot.buttonPressed());
  robot.line.calibrate(5000);
  robot.beep(440, 100);
  while(!robot.buttonPressed());
}


void loop() {
  Serial.print("stanje senzorjev (0-7):"); //najprej v serijski monitor izpišemo ta stavek v narekovajih
  robot.line.getPosition(); //nato preverimo pozicijo senzorjev za črto
  for(int i=0; i<=7; i++){ //izvedemo for zanko za preverjanje pod katerim senzorjem je čerta
    sensors[i]=bitRead(robot.line.getOnLine(),i); //vsak senzor testira in pove ali je pod njem črta
    Serial.print(" "); Serial.print(sensors[i]); //na koncu pa še v serojski monitor izpiše "1" če se pod njem črta res nahaja
   }
  Serial.println(" "); //to gre printanje le v novo vrstico
}

Glej tudi

robot.beep()

robot.buttonPressed()

robot.line.calibrate()

robot.line.getPosition()

Opombe

For zanka se izvaja od 0 do 7, ker imamo 8 senzorjev, kar pomeni, da je skrajno levi senzor definiran z 0, nato pa si sledijo po vrsti (drugi je 1, tretji je 2, četrti je 3,...) vse do zadnjega senzorja, ki je na skrajni desni strani robotka in je definitan s 7.

Clone this wiki locally