Hulp nodig bij aanpassen van code FPS naar m/s

Software die niet past in bovenstaande onderwerpen
Berichten: 10
Geregistreerd: 14 Mei 2020, 15:25

Hulp nodig bij aanpassen van code FPS naar m/s

Berichtdoor Jasper » 14 Mei 2020, 15:35

Goedemiddag,

Ik ben redelijk onervaren met Arduino, Snap er we iets van maar kom er hier niet uit.

Ik heb van een Engelsman een Chronometer blueprint gekocht om de snelheid van een luchtbuks kogel te meten dmv 2 IR leds en 2 IR sensoren.
Ik heb alles werkend gekregen maar nu zou ik liever geen feet per second zien maar meter per seconden en de Energy in joule ipv Ft/Lbs
Hij heeft het natuurlijk zo gemaakt omdat Ft/Lbs een maximale waarde van 12 heeft die legaal is toegestaan in Engeland meen ik uit mijn hoofd maar hier gebruiken we voor luchtbuksen Joule en meter per seconden.
Kan iemand mij helpen om het programma zo aan te passen dat ik na ieder schot dus geen fps en Ft/lbs meer zie en dat het gemiddelde na 5/10 schoten ook netjes metrisch wordt?

In het schot overzicht zit joule en m/s al wel maar dus niet in het gemiddelde.
Ik kan fps wel veranderen in ms maar de som moet ook aangepast worden.

Code: Alles selecteren
/* BALLISTIC CHRONOGRAPH
 *** NOT FOR DISTRIBUTION ***
  20 character 4 line I2C Liquid Crystal Display
  Backpack Interface labelled "YwRobot Arduino LCM1602 IIC V1"
  Connect Vcc and Ground, SDA to A4, SCL to A5 on Arduino Nano
  Connect the menu UP button to pin A1
  Connect the menu DOWN button to pin A0
  First IR sensor (OPL550) input pin D10
  SecondIR sensor (OPL550) input pin D11

  ***ENSURE CORRECT SENSOR SEPARATION DISTANCE IS SELECTED BELOW *********
  NEW Code ADDED and old DELETED below should enable ANY serial LCD to operate
  ENSURE THAT ALL LIBRARIES ARE DOWNLOADED TO YOUR SYSTEM FIRST
  John Wells 06/02/2019  trailcam99@gmail.com
*/

#include <Wire.h>
//#include <LiquidCrystal_I2C.h> (DELETED)
#include <EEPROM.h>
#include <hd44780.h>                       // main hd44780 header (ADDED)
#include <hd44780ioClass/hd44780_I2Cexp.h> // i2c expander i/o class header(ADDED)
hd44780_I2Cexp lcd; // declare lcd object: auto locate & config exapander chip(ADDED)


#define firstsensor_1 10   //D10 IR sensor (OPL550) input pin
#define secondsensor_2 11  //D11 IR sensor (OPL550)input pin
#define UP A1    //Set the menu up button to input A1
#define DOWN A0  //Set the menu down button to input A0

float fps = 0; //storage for feet per sec value
float ftlbs = 0; //storage for pellet energy value
float pWeight; //Pellet weight in grains
float elap, ms, joule;

float fpstotal = 0;
float average = 0;
float ftlbstotal = 0;
float energy = 0;


const int LCD_COLS = 20;  // LCD geometry (ADDED)
const int LCD_ROWS = 4;   // LCD geometry (ADDED)

int weightTens; //first two digits of pWeight
int weightDec; //Decimal part of Pellet weight
int one = 1;   //pellet weight loop control
int counter_shots = 0; //increment after each shot

unsigned long time1;
unsigned long time2;

// set the LCD address to 0x3F (or 0x27) for a 20 chars 4 line display
// Set the pins on the I2C chip used for LCD connections:
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
//LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address (DELETED)

void setup() {

  Serial.begin(9600);
  //lcd.begin (20, 4); // <<----- My LCD 20x4 lines  (DELETED)
  lcd.begin(LCD_COLS, LCD_ROWS); //(ADDED)

  weightTens = EEPROM.read(0); // retrieve pellet weight
  weightDec = EEPROM.read(1);
  pWeight = weightTens + float(weightDec) / 100;

  pinMode(UP, INPUT);
  pinMode(DOWN, INPUT);
  digitalWrite (UP, HIGH);  //turn on pullup resistor
  digitalWrite (DOWN, HIGH);

  pinMode (firstsensor_1, INPUT);
  pinMode (secondsensor_2, INPUT);
  digitalWrite(firstsensor_1, HIGH);
  digitalWrite(secondsensor_2, HIGH);
  reset_variables();

  lcd.setCursor(2, 0);  //Start at character 3 on line 0 (*****character 0 is the first(LH)character****line 0 is TOP LINE****)
  lcd.print("Chronograph V8.3");
  delay(2000);
}

void loop()
{
  if (one == 1)
  {
    firstTime ();
  }
  everyTime();
}

void firstTime() //this is pellet weight code, runs ONCE only
//**** WHEN 'UP' BUTTON IS HELD DOWN AT SWITCH-ON********

{
  one = 2;

  lcd.setCursor(1, 0);   //Start at character 1 on line 0
  lcd.print("Enter pellet weight");
  lcd.setCursor(4, 2);
  lcd.print(pWeight);
  lcd.setCursor(9, 2);  //Start at character 9 on line 2
  lcd.print("grains");
  lcd.setCursor(3, 3);
  delay(2000);

  while (digitalRead(UP) == LOW )
  {
    pWeight = pWeight + 0.01 ;
    lcd.setCursor(4, 2);
    lcd.print(pWeight);
    weightDec = (pWeight - int(pWeight)) * 100;
    delay(300);
    EEPROM.write(0, int(pWeight));
    EEPROM.write(1, weightDec);

  }
  delay(2000);
  while (digitalRead(DOWN) == LOW )
  {
    pWeight = pWeight - 0.01 ;
    lcd.setCursor(4, 2);
    lcd.print(pWeight);
    weightDec = (pWeight - int(pWeight)) * 100;
    delay(300);
    EEPROM.write(0, int(pWeight));
    EEPROM.write(1, weightDec);

  }
  delay(2000);
  while (digitalRead(UP) == LOW )    // repeats button read sequence again
  {
    pWeight = pWeight + 0.01 ;
    lcd.setCursor(4, 2);
    lcd.print(pWeight);
    weightDec = (pWeight - int(pWeight)) * 100;
    delay(300);
    EEPROM.write(0, int(pWeight));
    EEPROM.write(1, weightDec);

  }
  delay(2000);
  while (digitalRead(DOWN) == LOW )
  {
    pWeight = pWeight - 0.01 ;
    lcd.setCursor(4, 2);
    lcd.print(pWeight);
    weightDec = (pWeight - int(pWeight)) * 100;
    delay(300);
    EEPROM.write(0, int(pWeight));
    EEPROM.write(1, weightDec);

  }
  delay(1000);
}

void everyTime()  // this is pellet timing code loops everytime

{
  lcd.setCursor(3, 3);
  lcd.print("Awaiting shot");
  lcd.blink();       //display flashing cursor

  while (digitalRead(firstsensor_1) == 0);  //pellet timing
  while (digitalRead(firstsensor_1));
  time1 = micros();

  while (digitalRead(secondsensor_2));
  time2 = micros();

  printserial();

}       //****end of timing loop*****

void printserial()
{

  lcd.clear();
  lcd.setCursor(3, 0);
  lcd.print("Shot number: ");
  delay(300);
  lcd.print(++counter_shots);

  elap = time2 - time1;
 
  //fps = 196850 / elap;      // for 60mm sensor spacing distance   **********************
  fps = 262467 / elap;      // for 80mm sensor spacing distance **********************
  //fps = 328084 / elap;      // for 100mm sensor spacing distance **********************
   
    // Serial.print("FPS\t");
  delay(300);
  lcd.setCursor(0, 1);   //Start at character 0 on line 1
  lcd.print(fps );
  lcd.setCursor(6, 1);
  lcd.print("fps");

  delay(300);
  ms = fps * 0.3048;  //metres per second calculation
  lcd.setCursor(11, 1);  //Start at character 11 on line 1
  lcd.print(ms );

  lcd.setCursor(17, 1);
  lcd.print("mps");

  delay(300);

  ftlbs = (pWeight * fps * fps) / 450240;  //foot pounds and joules energy calculations

  joule = ftlbs * 1.35582;

  lcd.setCursor(1, 2);    //Start at character 1 on line 2
  lcd.print("Ft/Lbs:");
  delay(300);
  //Serial.print("Ft/Lbs\t");
  //Serial.println(ftlbs );
  lcd.print(ftlbs );

  lcd.setCursor(1, 3);
  lcd.print("Joules:");
  delay(300);
  lcd.print(joule );

  delay(5000);
  lcd.clear();

 
    fpstotal = fpstotal + fps;  // averaging code after 5 shots
    average = fpstotal / (counter_shots);
    ftlbstotal = ftlbstotal + ftlbs;
    energy = ftlbstotal / (counter_shots);
   
    if (counter_shots == 5) {
    lcd.setCursor(4, 0);    //Start at character 4 on line 0
    lcd.print ("Shot Average");
    lcd.setCursor(0, 1);
    lcd.print ("Velocity:");
    lcd.print(average);
    lcd.setCursor(17, 1);
    lcd.print ("FPS");
   
    lcd.setCursor(0, 2);
    lcd.print ("Energy:");
    lcd.print(energy);
    lcd.setCursor(14, 2);
    lcd.print ("Ft/Lbs");

  }
     
    if (counter_shots == 10) {   // repeat averaging code after 10 shots!
    lcd.setCursor(4, 0);    //Start at character 4 on line 0
    lcd.print ("Shot Average");
    lcd.setCursor(0, 1);
    lcd.print ("Velocity:");
    lcd.print(average);
    lcd.setCursor(17, 1);
    lcd.print ("FPS");

    lcd.setCursor(0, 2);
    lcd.print ("Energy:");
    lcd.print(energy);
    lcd.setCursor(14, 2);
    lcd.print ("Ft/Lbs");

  }


}

void reset_variables() {
  time1 = 0;
  time2 = 0;
}

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Hulp nodig bij aanpassen van code FPS naar m/s

Berichtdoor Koepel » 14 Mei 2020, 16:32

De variabelen om mee te rekenen zijn van het type 'float', dat maakt het eenvoudig.
Is het een display van 20 x 4 ?

De 'grains' misschien ook nog omzetten naar gram ?

Ik stel voor om niet de bestaande variabelen voor iets anders te gaan gebruiken, maar nieuwe toe te voegen. En die duidelijke namen geven, want het is nu al onduidelijk.

Dus dan krijg je bij de globale variabelen:
cpp code
// English
float fpstotal = 0; // total feet per second
float average = 0; // average feet per second
float ftlbstotal = 0; // total foot pounds
float energy = 0; // average foot pounds

// Normal
float ms_total = 0.0; // total of meter per second
float ms_average = 0.0; // average of meter per second
float joule_total = 0.0; // total of energy
float joule_average = 0.0; // averge of energy

Zet dat commentaar ook maar bij de bestaande variabelen, dan lukt het nog een beetje om ze uit elkaar te houden.

Bij de berekening laat je dit gewoon staan:
cpp code
fpstotal = fpstotal + fps;  // averaging code after 5 shots
average = fpstotal / (counter_shots);
ftlbstotal = ftlbstotal + ftlbs;
energy = ftlbstotal / (counter_shots);


En daar onder zet je:
cpp code
ms_total += ms;
ms_average = ms_total / float( counter_shots);
joule_total += joule;
joule_average = joule_total / float( counter_shots);


Daarna is het eenvoudigste om het even (in de sketch) neer te zetten hoe het display er uit gaat zien.
cpp code
//
// LCD layout
01234567890123456789
+--------------------
0| Shot Average
1|Velocity: m/s
2|Energy: Joule
3|

Zou je dat ook echt in de sketch willen zetten ? Ander heb ik het voor niets gemaakt :?

Kun je zelf de code aanpassen bij 5 en 10 counter_shots ?
Laatst gewijzigd door Koepel op 14 Mei 2020, 16:35, in totaal 1 keer gewijzigd.

Berichten: 10
Geregistreerd: 14 Mei 2020, 15:25

Re: Hulp nodig bij aanpassen van code FPS naar m/s

Berichtdoor Jasper » 14 Mei 2020, 16:35

Hoi,

Ja display is 20x4
Ik ga het er eens in zetten.
En even uitzoeken hoe sketch werkt, haha. ben er nog maar net mee begonnen. Voorheen alleen maar knippen plakken en uploaden.

Alleen moet ik nu natuurlijk de berekening aanpassen, Nu wordt ftlbs en joule zo berekent
Code: Alles selecteren
ftlbs = (pWeight * fps * fps) / 450240;  //foot pounds and joules energy calculations

  joule = ftlbs * 1.35582;


en de nieuwe toevoegingen worden nog niet gebruikt toch?

Berichten: 10
Geregistreerd: 14 Mei 2020, 15:25

Re: Hulp nodig bij aanpassen van code FPS naar m/s

Berichtdoor Jasper » 14 Mei 2020, 16:44

Code: Alles selecteren
/* BALLISTIC CHRONOGRAPH
 *** NOT FOR DISTRIBUTION ***
  20 character 4 line I2C Liquid Crystal Display
  Backpack Interface labelled "YwRobot Arduino LCM1602 IIC V1"
  Connect Vcc and Ground, SDA to A4, SCL to A5 on Arduino Nano
  Connect the menu UP button to pin A1
  Connect the menu DOWN button to pin A0
  First IR sensor (OPL550) input pin D10
  SecondIR sensor (OPL550) input pin D11

  ***ENSURE CORRECT SENSOR SEPARATION DISTANCE IS SELECTED BELOW *********
  NEW Code ADDED and old DELETED below should enable ANY serial LCD to operate
  ENSURE THAT ALL LIBRARIES ARE DOWNLOADED TO YOUR SYSTEM FIRST
  John Wells 06/02/2019  trailcam99@gmail.com
Addon door Koepel toegevoegd
*/

#include <Wire.h>
//#include <LiquidCrystal_I2C.h> (DELETED)
#include <EEPROM.h>
#include <hd44780.h>                       // main hd44780 header (ADDED)
#include <hd44780ioClass/hd44780_I2Cexp.h> // i2c expander i/o class header(ADDED)
hd44780_I2Cexp lcd; // declare lcd object: auto locate & config exapander chip(ADDED)


#define firstsensor_1 10   //D10 IR sensor (OPL550) input pin
#define secondsensor_2 11  //D11 IR sensor (OPL550)input pin
#define UP A1    //Set the menu up button to input A1
#define DOWN A0  //Set the menu down button to input A0

float fps = 0; //storage for feet per sec value
float ftlbs = 0; //storage for pellet energy value
float pWeight; //Pellet weight in grains
float elap, ms, joule;

// English
float fpstotal = 0;     // total feet per second
float average = 0;      // average feet per second
float ftlbstotal = 0;   // total foot pounds
float energy = 0;       // average foot pounds
 
// Normal
float ms_total = 0.0;      // total of meter per second
float ms_average = 0.0;    // average of meter per second
float joule_total = 0.0;   // total of energy
float joule_average = 0.0; // averge of energy


const int LCD_COLS = 20;  // LCD geometry (ADDED)
const int LCD_ROWS = 4;   // LCD geometry (ADDED)

int weightTens; //first two digits of pWeight
int weightDec; //Decimal part of Pellet weight
int one = 1;   //pellet weight loop control
int counter_shots = 0; //increment after each shot

unsigned long time1;
unsigned long time2;

// set the LCD address to 0x3F (or 0x27) for a 20 chars 4 line display
// Set the pins on the I2C chip used for LCD connections:
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
//LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address (DELETED)

void setup() {

  Serial.begin(9600);
  //lcd.begin (20, 4); // <<----- My LCD 20x4 lines  (DELETED)
  lcd.begin(LCD_COLS, LCD_ROWS); //(ADDED)

  weightTens = EEPROM.read(0); // retrieve pellet weight
  weightDec = EEPROM.read(1);
  pWeight = weightTens + float(weightDec) / 100;

  pinMode(UP, INPUT);
  pinMode(DOWN, INPUT);
  digitalWrite (UP, HIGH);  //turn on pullup resistor
  digitalWrite (DOWN, HIGH);

  pinMode (firstsensor_1, INPUT);
  pinMode (secondsensor_2, INPUT);
  digitalWrite(firstsensor_1, HIGH);
  digitalWrite(secondsensor_2, HIGH);
  reset_variables();

  lcd.setCursor(2, 0);  //Start at character 3 on line 0 (*****character 0 is the first(LH)character****line 0 is TOP LINE****)
  lcd.print("Chronograph V8.3");
  delay(2000);
}

void loop()
{
  if (one == 1)
  {
    firstTime ();
  }
  everyTime();
}

void firstTime() //this is pellet weight code, runs ONCE only
//**** WHEN 'UP' BUTTON IS HELD DOWN AT SWITCH-ON********

{
  one = 2;

  lcd.setCursor(1, 0);   //Start at character 1 on line 0
  lcd.print("Enter pellet weight");
  lcd.setCursor(4, 2);
  lcd.print(pWeight);
  lcd.setCursor(9, 2);  //Start at character 9 on line 2
  lcd.print("grains");
  lcd.setCursor(3, 3);
  delay(2000);

  while (digitalRead(UP) == LOW )
  {
    pWeight = pWeight + 0.01 ;
    lcd.setCursor(4, 2);
    lcd.print(pWeight);
    weightDec = (pWeight - int(pWeight)) * 100;
    delay(300);
    EEPROM.write(0, int(pWeight));
    EEPROM.write(1, weightDec);

  }
  delay(2000);
  while (digitalRead(DOWN) == LOW )
  {
    pWeight = pWeight - 0.01 ;
    lcd.setCursor(4, 2);
    lcd.print(pWeight);
    weightDec = (pWeight - int(pWeight)) * 100;
    delay(300);
    EEPROM.write(0, int(pWeight));
    EEPROM.write(1, weightDec);

  }
  delay(2000);
  while (digitalRead(UP) == LOW )    // repeats button read sequence again
  {
    pWeight = pWeight + 0.01 ;
    lcd.setCursor(4, 2);
    lcd.print(pWeight);
    weightDec = (pWeight - int(pWeight)) * 100;
    delay(300);
    EEPROM.write(0, int(pWeight));
    EEPROM.write(1, weightDec);

  }
  delay(2000);
  while (digitalRead(DOWN) == LOW )
  {
    pWeight = pWeight - 0.01 ;
    lcd.setCursor(4, 2);
    lcd.print(pWeight);
    weightDec = (pWeight - int(pWeight)) * 100;
    delay(300);
    EEPROM.write(0, int(pWeight));
    EEPROM.write(1, weightDec);

  }
  delay(1000);
}

void everyTime()  // this is pellet timing code loops everytime

{
  lcd.setCursor(3, 3);
  lcd.print("Awaiting shot");
  lcd.blink();       //display flashing cursor

  while (digitalRead(firstsensor_1) == 0);  //pellet timing
  while (digitalRead(firstsensor_1));
  time1 = micros();

  while (digitalRead(secondsensor_2));
  time2 = micros();

  printserial();

}       //****end of timing loop*****

void printserial()
{

  lcd.clear();
  lcd.setCursor(3, 0);
  lcd.print("Shot number: ");
  delay(300);
  lcd.print(++counter_shots);

  elap = time2 - time1;
 
  //fps = 196850 / elap;      // for 60mm sensor spacing distance   **********************
  fps = 262467 / elap;      // for 80mm sensor spacing distance **********************
  //fps = 328084 / elap;      // for 100mm sensor spacing distance **********************
   
    // Serial.print("FPS\t");
  delay(300);
  lcd.setCursor(0, 1);   //Start at character 0 on line 1
  lcd.print(fps );
  lcd.setCursor(6, 1);
  lcd.print("fps");

  delay(300);
  ms = fps * 0.3048;  //metres per second calculation
  lcd.setCursor(11, 1);  //Start at character 11 on line 1
  lcd.print(ms );

  lcd.setCursor(17, 1);
  lcd.print("mps");

  delay(300);

  ftlbs = (pWeight * fps * fps) / 450240;  //foot pounds and joules energy calculations

  joule = ftlbs * 1.35582;

  lcd.setCursor(1, 2);    //Start at character 1 on line 2
  lcd.print("Ft/Lbs:");
  delay(300);
  //Serial.print("Ft/Lbs\t");
  //Serial.println(ftlbs );
  lcd.print(ftlbs );

  lcd.setCursor(1, 3);
  lcd.print("Joules:");
  delay(300);
  lcd.print(joule );

  delay(5000);
  lcd.clear();

 
    fpstotal = fpstotal + fps;  // averaging code after 5 shots
    average = fpstotal / (counter_shots);
    ftlbstotal = ftlbstotal + ftlbs;
    energy = ftlbstotal / (counter_shots);
   
    ms_total += ms;
    ms_average = ms_total / float( counter_shots);
    joule_total += joule;
    joule_average = joule_total / float( counter_shots);

   
    if (counter_shots == 5) {
    lcd.setCursor(4, 0);    //Start at character 4 on line 0
    lcd.print ("Shot Average");
    lcd.setCursor(0, 1);
    lcd.print ("Velocity:");
    lcd.print(average);
    lcd.setCursor(17, 1);
    lcd.print ("FPS");
   
    lcd.setCursor(0, 2);
    lcd.print ("Energy:");
    lcd.print(energy);
    lcd.setCursor(14, 2);
    lcd.print ("Ft/Lbs");

  }
     
    if (counter_shots == 10) {   // repeat averaging code after 10 shots!
    lcd.setCursor(4, 0);    //Start at character 4 on line 0
    lcd.print ("Shot Average");
    lcd.setCursor(0, 1);
    lcd.print ("Velocity:");
    lcd.print(average);
    lcd.setCursor(17, 1);
    lcd.print ("FPS");

    lcd.setCursor(0, 2);
    lcd.print ("Energy:");
    lcd.print(energy);
    lcd.setCursor(14, 2);
    lcd.print ("Ft/Lbs");

  }


}

void reset_variables() {
  time1 = 0;
  time2 = 0;
}

Berichten: 10
Geregistreerd: 14 Mei 2020, 15:25

Re: Hulp nodig bij aanpassen van code FPS naar m/s

Berichtdoor Jasper » 14 Mei 2020, 19:58

O ja, de grains mogen blijven omdat dit een standaard is voor munitie. Eventueel gram erachter zou het wel compleet maken.

Berichten: 10
Geregistreerd: 14 Mei 2020, 15:25

Re: Hulp nodig bij aanpassen van code FPS naar m/s

Berichtdoor Jasper » 15 Mei 2020, 16:39

Ben aan het rommelen geweest en denk dat ik het wel een klein klein beetje snap nu.

Resultaat is dit na ieder schot
Afbeelding
En na 5 schoten een gemiddelde
Afbeelding

Oud was dit
Afbeelding
Afbeelding

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Hulp nodig bij aanpassen van code FPS naar m/s

Berichtdoor Koepel » 15 Mei 2020, 18:44

Heb je er nog aan gedacht om de layout van het scherm in de sketch te zetten ?
Koepel schreef:Daarna is het eenvoudigste om het even (in de sketch) neer te zetten hoe het display er uit gaat zien.
cpp code
//
// LCD layout
01234567890123456789
+--------------------
0| Shot Average
1|Velocity: m/s
2|Energy: Joule
3|

Zou je dat ook echt in de sketch willen zetten ? Ander heb ik het voor niets gemaakt :?


Als de getallen kloppen, dan zal het wel goed zijn.
Eventueel kun je die Engelse dingen niet naar het scherm te schrijven.
Op dit moment is het gemakkelijker om de (Engelse) berekeningen en de (Engelse) variabelen wel in de sketch te laten zitten.

De tekst "mps" of "MPS" klopt niet :o Dat is geen standaard notatie. Het is toch echt "m/s".
De tekst "mps" staat voor de Engelse "Miles per second" :lol:

Berichten: 10
Geregistreerd: 14 Mei 2020, 15:25

Re: Hulp nodig bij aanpassen van code FPS naar m/s

Berichtdoor Jasper » 15 Mei 2020, 21:08

Hey,

Ja die layout wil ik er nog in gaan zetten.

Ik had mps gedaan omdat ik dacht dat "/" niet zou kunnen als teken. Maar ik pas hem morgen even verder aan.
Zat te denken om hem gelijk toch maar op te schonen en wat ongebruikt Engels eruit te halen.

Berichten: 10
Geregistreerd: 14 Mei 2020, 15:25

Re: Hulp nodig bij aanpassen van code FPS naar m/s

Berichtdoor Jasper » 17 Mei 2020, 08:47

Oke, Nu inderdaad "MPS" en "mps" aangepast naar "m/s"
Ook "kmh" naar "km/h" gedaan.

Maar als ik die layout erin kopieer dan zegt hij: invalid digit "9" in octal constant

Dus ik denk dat ik daar iets verkeerd van begrepen heb dat dit dus niet knippen en plakken is.

Berichten: 10
Geregistreerd: 14 Mei 2020, 15:25

Re: Hulp nodig bij aanpassen van code FPS naar m/s

Berichtdoor Jasper » 17 Mei 2020, 09:03

Heb het er nu zo in gezet

Code: Alles selecteren
  /*
    LCD layout
    01234567890123456789
   +--------------------
  0|   Shot number:
  1|0.00   m/s
  2|0.00   km/h
  3|0.00   joule
  */


Code: Alles selecteren
  /*
    LCD layout
    01234567890123456789
   +--------------------
  0|    Shot Average
  1|Velocity:        m/s
  2|Energy:        joule
  3|
  */

Volgende

Terug naar Overige Software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 2 gasten