zdenekpetrzd

Brzdič BP - Serial

Feb 2nd, 2018
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.83 KB | None | 0 0
  1. //══════════════════════════════════════════════════════════════════════════════════════════════════════//
  2. //                                                                    Brzdič lokomotivní Dako BP                                                                                 //
  3. // Funkce pro ovládání brzdiče DAKO BP, má dva vstupní parametry : 1) Pin Arduina, na který je připojen potenciometr                                                             //
  4. //                                                                 2) CVID - trojznak definovaný v programu TStoCOM                                                              //
  5. // Funkce posílá pomocí sériové linky hodnotu v rozsahu 1-50 (násobitel je 50), která je opožděna z důvodu nepřeplněnování Serialu o 40 nebo 80ms.                               //
  6. //══════════════════════════════════════════════════════════════════════════════════════════════════════//
  7. int aktualniHodnotaBP;
  8. int staraHodnotaBP;
  9. //══════════════════════════════════════════════════════════════════════════════════════════════════════//
  10. void BrzdicBP(int PinBrzdicBP, String CVID) {
  11.   int potHodnotaBP = analogRead(A0);
  12.   int aktualniHodnotaBP = map(potHodnotaBP, 0, 1023, 0, 50);
  13.  
  14.   if(abs(aktualniHodnotaBP-staraHodnotaBP) > 2)
  15.   {
  16.     if(aktualniHodnotaBP < 5 && bpDelay.elapsed()) {
  17.       Serial.print(CVID);
  18.       Serial.print("0");
  19.       Serial.print("\r\n");
  20.       bpDelay.start(40);
  21.       staraHodnotaBP = aktualniHodnotaBP;
  22.     }
  23.     else if(aktualniHodnotaBP > 45 && bpDelay.elapsed()) {
  24.       Serial.print(CVID);
  25.       Serial.print("50");
  26.       Serial.print("\r\n");
  27.       bpDelay.start(40);
  28.       staraHodnotaBP = aktualniHodnotaBP;
  29.     }
  30.     else if(bpDelay.elapsed()) {
  31.       Serial.print(CVID);
  32.       Serial.print(aktualniHodnotaBP);
  33.       Serial.print("\r\n");
  34.       bpDelay.start(80);
  35.       staraHodnotaBP = aktualniHodnotaBP;
  36.     }
  37.   }  
  38. }
  39. //══════════════════════════════════════════════════════════════════════════════════════════════════════//
Advertisement
Add Comment
Please, Sign In to add comment