RuiViana

Cronometro

Jul 31st, 2016
304
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //medição de queda livre
  2.  
  3. int botao = 9;// inicia a contagem
  4. int sensorINF = 8;
  5. int eIma = 10; // eletroima
  6. boolean state = LOW; // estatus do eletroimã
  7.  
  8. unsigned long startTime; // start do cronometro
  9. unsigned long stopTime; //valor final
  10. float seg;
  11.  
  12. void setup() {
  13. Serial.begin(9600);
  14. pinMode (botao, INPUT);// botão de inicio
  15. pinMode (sensorINF, INPUT);// sensor da base
  16. pinMode (eIma, OUTPUT);// eletroimã
  17. Serial.println("Pronto para medir o tempo de queda");
  18. Serial.println(" ");
  19. }
  20.  
  21. void loop()
  22.  
  23. {
  24. if (digitalRead(botao) == HIGH)// inicia o cronometro
  25.  
  26. {
  27. digitalWrite(eIma, !state); // liga eletroimã
  28. Serial.println(" eletroima ligado por 3 segundos ...");
  29. delay(4000); //espera 5 segundos
  30. digitalWrite(eIma, state);
  31.  
  32. startTime = millis();// inicia a contagem
  33. Serial.print(" Inicio da medida ---");
  34. Serial.println("Esfera caindo...Contanto tempo...");
  35.  
  36. }
  37.  
  38. if (digitalRead(sensorINF) == HIGH)// para a contagem do tempo
  39. {
  40. stopTime = ( millis() - startTime);//encerra a contagem
  41. Serial.print("Tempo de queda = ");
  42. Serial.print(stopTime);// imprime o tempo em millis segundos
  43. Serial.println(" Em milisegundos (ms) ");
  44. seg = stopTime/1000.00;
  45. Serial.println(seg,2); // 2 = numero de casas dpois da virgula
  46. Serial.println(" Em segundos (seg) ");
  47. Serial.print(" anota ai!!!");
  48. delay(1000);
  49. Serial.println("Pronto para proxima medida");
  50.  
  51. }
  52. }
RAW Paste Data