Advertisement
Bukisoh

V2

Mar 11th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.62 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h>
  3. #include <Servo.h>
  4.  
  5.  
  6. LiquidCrystal_I2C lcd(0x27,20,4);
  7. Servo esc;   // Création de l'objet permettant le contrôle de l'ESC
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14. void setup() {
  15.   lcd.setCursor(0,0);
  16.   lcd.print("Ubat ");
  17.  
  18.   lcd.setCursor(1,0);
  19.   lcd.print("VMot ");
  20.  
  21.   esc.attach(9);
  22.  
  23. }
  24.  
  25.  
  26.  
  27. void loop() {
  28.  
  29.  PWM();  
  30.  
  31.  
  32.  amp();     //affichage
  33.  volt();
  34.  vit();
  35.  PWMA();
  36.  
  37. }
  38. float PWM()
  39. {
  40.   float PWM = analogRead(A1);
  41.    
  42.     PWM = map(PWM, 0, 1024, 0, 179);
  43.     esc.write(PWM);
  44.  
  45.  
  46.   }
  47.  
  48. float PWMA()
  49. {
  50.   float PWMA = 0.0;
  51.       PWMA = map(PWM, 0, 178, 0,100);
  52.          lcd.setCursor(1,5);
  53.          lcd.print(PWMA);
  54.  
  55.   }
  56. float amp()
  57. {
  58.   float amp = analogRead(A3);
  59.     map(amp,0,1024,0,100);
  60.    
  61.     return amp;
  62.   }
  63.  
  64. float volt()
  65. {
  66.   float R1 = 997000.0;
  67.   float R2 = 98500.0;
  68.   float vout = 0.0;
  69.   float vin = 0.0;
  70.  
  71.      float value = analogRead(A0);
  72.  
  73.      vout = (value * 5.0) / 1024.0;  
  74.      vin = vout / (R2/(R1+R2));
  75.      vin = vin * 10;
  76.      vin = map(vin, 210, 294 , 0, 100);
  77.      vin = constrain(vin,0,100);
  78.         lcd.setCursor(0,5);
  79.         lcd.print(vin);
  80.  
  81.         return vin;
  82.   }
  83. float vit()
  84. {
  85.     float perimetre = 1.25;                         // perimetre position aimant
  86.       int PIN_SIGNAL = 2;                           //pin inchangeable
  87.          int periode = pulseIn(PIN_SIGNAL, HIGH, 10000000);
  88.          periode = perimetre / periode ;
  89.        
  90.             return periode;
  91.  
  92.   }
  93.  
  94.  
  95.   // https://hobbyking.com/fr_fr/turnigy-dlux-60a-mk2-brushless-speed-controller-w-8a-s-bec-and-data-logging-2s-8s.html
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement