Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package br.follow_line;
- import lejos.nxt.*;
- public class ler_dados implements Runnable{
- private int valor_medio,touch=1,dado_motora,dado_motorb,dado_sensor,variacao_motora,variacao_motorb,motora_antes=0,motorb_antes=0,muda_lado;
- long inicio, fim;
- double tempo, velocidade_a,velocidade_b;
- int speed_a, speed_b;
- TouchSensor touch_s2 = new TouchSensor(SensorPort.S2); //Setar sensor de toque
- public void run(){
- try {
- Thread.sleep(1000);
- do{
- valor_medio = ((major.branco - major.preto)/2) + major.preto;
- if (touch_s2.isPressed()){
- muda_lado = 1;
- }
- if((muda_lado == 1) && (major.light.getNormalizedLightValue() < valor_medio)){
- touch++;
- muda_lado = 0;
- }
- if (touch % 2 != 0){
- if (major.light.getNormalizedLightValue() < valor_medio){
- Motor.A.setPower(10); //Setar potĂȘncia no motor
- Motor.A.backward();
- Motor.B.stop();
- System.out.println("E10");
- System.out.println("F0");
- }
- else{
- Motor.B.setPower(10);
- Motor.B.backward();
- Motor.A.stop();
- System.out.println("E0");
- System.out.println("F10");
- }
- }
- else if (touch % 2 == 0){
- if (major.light.getNormalizedLightValue() < valor_medio){
- Motor.B.setPower(10);
- Motor.B.backward();
- Motor.A.stop();
- System.out.println("E0");
- System.out.println("F10");
- }
- else{
- Motor.A.setPower(10);
- Motor.A.backward();
- Motor.B.stop();
- System.out.println("E10");
- System.out.println("F0");
- }
- }
- else{
- System.out.println("Erro no Controle On/Off");
- }
- ///////////////////////////////////////////////////////////////
- dado_sensor = major.light.getNormalizedLightValue();
- inicio = System.currentTimeMillis(); //Inicia contagem de tempo
- dado_motora = Motor.A.getTachoCount()*-1;
- dado_motorb = Motor.B.getTachoCount()*-1;
- fim = System.currentTimeMillis() - inicio; //Para contagem de tempo
- if(dado_motora < motora_antes){
- dado_motora = motora_antes;
- }
- if(dado_motorb < motorb_antes){
- dado_motorb = motorb_antes;
- }
- variacao_motora = dado_motora - motora_antes;
- variacao_motorb = dado_motorb - motorb_antes;
- motora_antes = dado_motora;
- motorb_antes = dado_motorb;
- tempo = fim * 0.001;
- velocidade_a = (double)(variacao_motora / tempo); //velocidade Motor A
- velocidade_b = (double)(variacao_motorb / tempo); //velocidade Motor B
- System.out.println("A" + Integer.toString(dado_motora));
- System.out.println("B" + Integer.toString(dado_motorb));
- System.out.println("S" + Integer.toString(dado_sensor));
- System.out.println("C" + Double.toString(velocidade_a));
- System.out.println("D" + Double.toString(velocidade_b));
- }while(true);
- }
- catch (InterruptedException e) { //Se der erro ao compilar informar o erro
- e.printStackTrace();
- }
- }
- }
Add Comment
Please, Sign In to add comment