Repository navigation
robot.line.getOnLine()
urban-b edited this page May 17, 2018
·
9 revisions
Določi ali je senzor i na črti ali ni.
robot.line.getOnLine();
i tipa int: Številka senzorja pod katerim preverjamo ali je črta ali ni.
Tipa int: Številka 1, če pod senzorjem je črta, ali številka 0, če je ni.
#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
}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.