Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- #include <Servo.h>
- LiquidCrystal_I2C lcd(0x27,20,4);
- Servo esc; // Création de l'objet permettant le contrôle de l'ESC
- void setup() {
- lcd.setCursor(0,0);
- lcd.print("Ubat ");
- lcd.setCursor(1,0);
- lcd.print("VMot ");
- esc.attach(9);
- }
- void loop() {
- PWM();
- amp(); //affichage
- volt();
- vit();
- PWMA();
- }
- float PWM()
- {
- float PWM = analogRead(A1);
- PWM = map(PWM, 0, 1024, 0, 179);
- esc.write(PWM);
- }
- float PWMA()
- {
- float PWMA = 0.0;
- PWMA = map(PWM, 0, 178, 0,100);
- lcd.setCursor(1,5);
- lcd.print(PWMA);
- }
- float amp()
- {
- float amp = analogRead(A3);
- map(amp,0,1024,0,100);
- return amp;
- }
- float volt()
- {
- float R1 = 997000.0;
- float R2 = 98500.0;
- float vout = 0.0;
- float vin = 0.0;
- float value = analogRead(A0);
- vout = (value * 5.0) / 1024.0;
- vin = vout / (R2/(R1+R2));
- vin = vin * 10;
- vin = map(vin, 210, 294 , 0, 100);
- vin = constrain(vin,0,100);
- lcd.setCursor(0,5);
- lcd.print(vin);
- return vin;
- }
- float vit()
- {
- float perimetre = 1.25; // perimetre position aimant
- int PIN_SIGNAL = 2; //pin inchangeable
- int periode = pulseIn(PIN_SIGNAL, HIGH, 10000000);
- periode = perimetre / periode ;
- return periode;
- }
- // 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