lemueltra

funciona_sem_controle

Oct 9th, 2019
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.02 KB | None | 0 0
  1. clear all
  2. close all
  3. clc;
  4.  
  5. a = arduino();
  6.  
  7. tmax = 20;
  8. v = 0;
  9. t = 0;
  10. c = 0;
  11. d = 0;
  12.  
  13. disp('Loop....')
  14. tic
  15. while toc <= tmax
  16.     writeDigitalPin(a,'D9',0);
  17.     writeDigitalPin(a,'D8',1);
  18.     while toc <= d + 2
  19.         c = c + 1;
  20.         v(c) = readVoltage(a,'A0');
  21.         if v(c) >= 3.5
  22.             writeDigitalPin(a,'D8',0);
  23.             writeDigitalPin(a,'D9',0);
  24.             %quit;
  25.         end
  26.         t(c) = toc;
  27.     end
  28.     writeDigitalPin(a,'D8',0);
  29.     writeDigitalPin(a,'D9',1);
  30.     while toc <= d + 4
  31.         c = c + 1;
  32.         v(c) = readVoltage(a,'A0');
  33.         if v(c) <= 1.5
  34.             writeDigitalPin(a,'D8',0);
  35.             writeDigitalPin(a,'D9',0);
  36.             %quit;
  37.         end
  38.         t(c) = toc;
  39.     end
  40.     d = toc;
  41. end
  42. plot(v)
  43.  
  44. tempo_entre_pontos = diff(t);
  45. tempo_medio = mean(tempo_entre_pontos);
  46. frequencia = 1/tempo_medio;
  47. fprintf('Um ponto a cada %.3f segundos (%.f Hz)\n',tempo_medio,frequencia)
  48.  
  49. %filename = '16.07-1.mat';
  50. %save(filename,'t','v','frequencia','tempo_medio')
Advertisement
Add Comment
Please, Sign In to add comment