lemueltra

ler_dados_10_05

May 11th, 2016
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.02 KB | None | 0 0
  1. package br.follow_line;
  2. import lejos.nxt.*;
  3. public class ler_dados implements Runnable{
  4.     private int valor_medio,touch=1,dado_motora,dado_motorb,dado_sensor,variacao_motora,variacao_motorb,motora_antes=0,motorb_antes=0,muda_lado;
  5.     long inicio, fim;
  6.     double tempo, velocidade_a,velocidade_b;
  7.     int speed_a, speed_b;
  8.     TouchSensor touch_s2 = new TouchSensor(SensorPort.S2); //Setar sensor de toque
  9.     public void run(){
  10.         try {
  11.             Thread.sleep(1000);
  12.             do{
  13.                 valor_medio = ((major.branco - major.preto)/2) + major.preto;
  14.                 if (touch_s2.isPressed()){
  15.                     muda_lado = 1;
  16.                 }
  17.                 if((muda_lado == 1) && (major.light.getNormalizedLightValue() < valor_medio)){
  18.                     touch++;
  19.                     muda_lado = 0;
  20.                 }
  21.                 if (touch % 2 != 0){
  22.                     if (major.light.getNormalizedLightValue() < valor_medio){
  23.                         Motor.A.setPower(10); //Setar potĂȘncia no motor
  24.                         Motor.A.backward();
  25.                         Motor.B.stop();
  26.                         System.out.println("E10");
  27.                         System.out.println("F0");
  28.                     }
  29.                     else{
  30.                         Motor.B.setPower(10);
  31.                         Motor.B.backward();
  32.                         Motor.A.stop();
  33.                         System.out.println("E0");
  34.                         System.out.println("F10");
  35.                     }
  36.                 }
  37.                 else if (touch % 2 == 0){
  38.                     if (major.light.getNormalizedLightValue() < valor_medio){
  39.                         Motor.B.setPower(10);
  40.                         Motor.B.backward();
  41.                         Motor.A.stop();    
  42.                         System.out.println("E0");
  43.                         System.out.println("F10");
  44.                     }
  45.                     else{
  46.                         Motor.A.setPower(10);
  47.                         Motor.A.backward();
  48.                         Motor.B.stop();
  49.                         System.out.println("E10");
  50.                         System.out.println("F0");
  51.                     }
  52.                 }
  53.                 else{
  54.                     System.out.println("Erro no Controle On/Off");
  55.                 }
  56.                 ///////////////////////////////////////////////////////////////
  57.                 dado_sensor = major.light.getNormalizedLightValue();
  58.                
  59.                 inicio = System.currentTimeMillis(); //Inicia contagem de tempo
  60.                 dado_motora = Motor.A.getTachoCount()*-1;
  61.                 dado_motorb = Motor.B.getTachoCount()*-1;
  62.                 fim = System.currentTimeMillis() - inicio; //Para contagem de tempo
  63.                
  64.                 if(dado_motora < motora_antes){
  65.                     dado_motora = motora_antes;
  66.                 }
  67.                 if(dado_motorb < motorb_antes){
  68.                     dado_motorb = motorb_antes;
  69.                 }
  70.                
  71.                 variacao_motora = dado_motora - motora_antes;
  72.                 variacao_motorb = dado_motorb - motorb_antes;
  73.                 motora_antes = dado_motora;
  74.                 motorb_antes = dado_motorb;
  75.                
  76.                 tempo = fim * 0.001;
  77.                 velocidade_a = (double)(variacao_motora / tempo); //velocidade Motor A
  78.                 velocidade_b = (double)(variacao_motorb / tempo); //velocidade Motor B
  79.                
  80.                 System.out.println("A" + Integer.toString(dado_motora));
  81.                 System.out.println("B" + Integer.toString(dado_motorb));
  82.                 System.out.println("S" + Integer.toString(dado_sensor));
  83.                 System.out.println("C" + Double.toString(velocidade_a));
  84.                 System.out.println("D" + Double.toString(velocidade_b));
  85.  
  86.             }while(true);
  87.         }
  88.         catch (InterruptedException e) { //Se der erro ao compilar informar o erro
  89.             e.printStackTrace();
  90.         }
  91.     }
  92. }
Add Comment
Please, Sign In to add comment