Advertisement
kamilnowinski

sterownik bramy

Nov 14th, 2011
1,238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'sterownik bramy
  2. 'S1 wlacza brame
  3. 'po jakims czasie nie widzac przeszkody
  4. 'brama sama sie zamyka
  5. 'napisal Kamil Nowinski
  6. 'NIE TESTOWANE SPRZETOWO!
  7.  
  8. $regfile = "m8def.dat"
  9. $crystal = 4000000
  10.  
  11. Config Adc = Single , Prescaler = Auto , Reference = Avcc
  12. Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
  13.  
  14.  
  15. 'konfiguracja portow we/wy
  16.  
  17. Config Portd.0 = Input                                      'przycisk S1
  18. Config Portd.1 = Output
  19. Config Portd.2 = Output
  20. Config Portd.3 = Output
  21. Config Portd.4 = Output
  22. Config Portd.5 = Output
  23. Config Portd.6 = Output
  24. Config Portd.7 = Output
  25.  
  26. Config Portb = Output
  27.  
  28.  
  29. 'Aliasy
  30.  
  31. S1 Alias Pind.0
  32. Dioda_z Alias Pind.1                                        'zielona kontrolka
  33. Dioda_c Alias Pind.2                                        'czerwona kontrolka
  34. Silnik_a Alias Pind.3                                       'prawe obroty
  35. Silnik_b Alias Pind.4                                       'lewe obroty
  36.  
  37.  
  38. Dim Czujnik_a As Single                                     '5
  39. Dim Czujnik_b As Single                                     '4
  40. Dim Czujnik_c As Single                                     '3
  41. Dim Czujnik_d As Single                                     'krancowka
  42. Dim Czujnik_e As Single
  43. Dim K As Word
  44. Dim A As Word
  45. Dim M As Word
  46. Dim I As Word
  47. Dim L As Word
  48.  
  49.  
  50. Const Granica = 500                                         'dobrac doswiadczalnie
  51.  
  52. 'stany przy spoczynku
  53.  
  54. Set S1
  55. Set Dioda_z
  56. Reset Dioda_c                                               'czerwona kontrolka
  57.                                                             'w stanie spoczynkowym sie pali
  58. Set Silnik_a
  59. Set Silnik_b
  60.  
  61. Start Adc
  62.  
  63. Do
  64.  
  65.  
  66.    K = Getadc(5)
  67.  
  68.    K = Getadc(5)
  69.  
  70.    Stop Adc
  71.  
  72.    Czujnik_a = K
  73.  
  74.    Start Adc
  75.  
  76.    A = Getadc(4)
  77.  
  78.    A = Getadc(4)
  79.  
  80.    Stop Adc
  81.  
  82.    Czujnik_b = A
  83.  
  84.    Start Adc
  85.  
  86.    M = Getadc(3)
  87.  
  88.    M = Getadc(3)
  89.  
  90.    Stop Adc
  91.  
  92.    Czujnik_c = M
  93.  
  94.  
  95.  
  96. If Czujnik_a > Granica Or Czujnik_b > Granica Or Czujnik_c > Granica Then
  97.  
  98.  
  99.   Pwm1a = 255
  100.   Pwm1b = 0                                                 'brama sie otwiera
  101. Start Adc
  102. I = Getadc(2)
  103. I = Getadc(2)
  104. Stop Adc
  105. Czujnik_d = I
  106.  
  107.  
  108.  
  109. End If
  110.  
  111. If Czujnik_d > Granica Or Czujnik_e > Granica Then
  112.  
  113. Pwm1a = 255                                                 'brama stopuje
  114. Pwm1b = 255
  115.  
  116. wait 5
  117. End If
  118.  
  119. If Czujnik_a < Granica Or Czujnik_b < Granica Or Czujnik_c < Granica Then
  120.  
  121.    Pwm1a = 0                                                'brama sie zamyka
  122.    Pwm1b = 255
  123.  
  124.  
  125. Start Adc
  126. L = Getadc(1)
  127. L = Getadc(1)
  128. Stop Adc
  129. Czujnik_e = L
  130.  
  131.  
  132. End If
  133.  
  134.  
  135. Loop
  136.  
  137. End
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement