Repository navigation
Kalibracija
diko-p edited this page Aug 26, 2018
·
8 revisions
Primer kalibracije senzorjev za sledenje črti.
V void.setup() najprej robot čaka na pritisk funkcijskega gumba in zažene komunikacijo preko bluetooth-a.
V void.loop() poleg funkcij za izpis na serijski monitor uporabimo funkcijo robot.line.getPosition(). Ta je uporabljena zato, da lahko v for zanki preverimo stanje vsakega izmed 8 senzorjev. Stanja senzorjev izpisujmo s pomočjo Serial1.print() in Serial1.println().
Vse skupaj se ponavlja v neskončni zanki.
#include <Robot.h>
int i;
int sensors[7]; //vektor, ki vsebuje stanja 8 senzorjev
void setup() {
while (!robot.buttonPressed()); //čaka na pritisk tipke
Serial1.begin(115200); //nastavi hitrost prenosa podatkov preko bluetooth
delay(250); //čaka 0,25 sekunde
robot.motor[LEFT].setVoltage(1.5); //na levem motorju nastavi napetost 1,5 V
robot.motor[RIGHT].setVoltage(-1.5); //na desnem motorju nastavi napetost -1,5 V
robot.line.calibrate(2000); //kalibrira senzorje 2000ms
robot.motor[LEFT].setVoltage(0); //na levem motorju nastavi napetost 0 V
robot.motor[RIGHT].setVoltage(0); //na desnem motorju nastavi napetost 0 V
while (!robot.buttonPressed()); //čaka na pritisk tipke
delay(250); //čaka 0,25 sekunde
}
void loop() {
Serial1.print("stanje senzorjev (0-7):"); //izpis na serijskem monitorju
robot.line.getPosition();
for(int i=0; i<=7; i++){
sensors[i]=bitRead(robot.line.getOnLine(),i); //prebere stanje i-tega senzorja (0-ni na črti, 1-je na črti)
Serial1.print(" "); Serial1.print(sensors[i]); //izpis na serijskem monitorju
}
Serial1.println(" "); //izpis na serijskem monitorju
}