Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- #include <config.h>
- #include <datatypes.h>
- #include <vesc_uart.h>
- #include <SPI.h>
- mc_values VescMeasuredValues;
- float current = 0.0; //measured battery current
- float motor_current = 0.0; //measured motor current
- float voltage = 0.0; //measured battery voltage
- float c_speed = 0.0; //measured rpm * Pi * wheel diameter [km] * 60 [minutes]
- float c_dist = 0.00; //measured odometry tachometer [turns] * Pi * wheel diameter [km]
- double power = 0.0; //calculated power
- LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
- void setup() {
- SERIALIO.begin(115200);
- lcd.begin(20,4);
- }
- void loop() {
- if (vesc_get_values(VescMeasuredValues)) {
- // calculation of several values to be displayed later on
- voltage = VescMeasuredValues.v_in;
- current = VescMeasuredValues.current_in;
- motor_current = VescMeasuredValues.current_motor;
- power = current*voltage;
- c_speed = (VescMeasuredValues.rpm/38)*3.14159265359*0.000083*60;
- c_dist = (VescMeasuredValues.tachometer/38)*3.14159265359*0.000083;
- }
- lcd.setCursor(0,0);
- lcd.print(voltage);
- lcd.setCursor(0,1);
- lcd.print(current);
- lcd.setCursor(0,2);
- lcd.print(power);
- }
Advertisement
Add Comment
Please, Sign In to add comment