new to arduino, want to run a dual display for 2 sensors

I'm new to the Arduino community.  wanting to set up a dual radar setup with 2 ultrasonic sensors,  (Ultrasonic Sensor Module HC-SR04), and outputting to a pair of 7 segment displays ( two 7 segment displays each).  I've found a code to do a single could use a lot of help to output two at the same time, basically 2 lanes without 2 units.  im using an arduino mega, ordered a unor3 and hopefully it can be made to run on one or the other.

code is as follows:
/* HC-SR04 Sensor

   The circuit:
    * VCC connection of the sensor attached to +5V
    * GND connection of the sensor attached to ground
    * TRIG connection of the sensor attached to digital pin 2
    * ECHO connection of the sensor attached to digital pin 4

 */
 
 /*
 This is a radar ping sensor that calcultates the speed of an
 object traveling away or towards the sensor. I took some of this
 code for the HC-SR04 Sensor implementation by Tautvidas Sipavicius. The rest
 is original code from me. I know that the seven segment display
 code is not the best to look at or the most optimized but it
 serves its purpose just fine and is easy to understand.
 
 Written by Matthew Ladd
 */
 
const int trigPin = 2;
const int echoPin = 4;
 
void setup() {
  // initialize serial communication:
  Serial.begin(9600);
  //First 7 segment (ones place)
  pinMode(30,OUTPUT);//F
  pinMode(31,OUTPUT);//G
  pinMode(32,OUTPUT);//E
  pinMode(33,OUTPUT);//D
  pinMode(34,OUTPUT);//C
  pinMode(35,OUTPUT);//B
  pinMode(36,OUTPUT);//A
  //Second 7 segment (tens place)
  pinMode(37,OUTPUT);//F
  pinMode(38,OUTPUT);//G
  pinMode(39,OUTPUT);//E
  pinMode(40,OUTPUT);//D
  pinMode(41,OUTPUT);//C
  pinMode(42,OUTPUT);//B
  pinMode(43,OUTPUT);//A

}
void zerofirst(){
  digitalWrite(30,LOW);
  digitalWrite(31,HIGH);
  digitalWrite(32,LOW);
  digitalWrite(33,LOW);
  digitalWrite(34,LOW);
  digitalWrite(35,LOW);
  digitalWrite(36,LOW);
}
void onefirst(){
  digitalWrite(30,HIGH);
  digitalWrite(31,HIGH);
  digitalWrite(32,HIGH);
  digitalWrite(33,HIGH);
  digitalWrite(34,LOW);
  digitalWrite(35,LOW);
  digitalWrite(36,HIGH);
}
void twofirst(){
  digitalWrite(30,HIGH);//F
  digitalWrite(31,LOW);//G
  digitalWrite(32,LOW);//E
  digitalWrite(33,LOW);//D
  digitalWrite(34,HIGH);//C
  digitalWrite(35,LOW);//B
  digitalWrite(36,LOW);//A
}
void threefirst(){
  digitalWrite(30,HIGH);//F
  digitalWrite(31,LOW);//G
  digitalWrite(32,HIGH);//E
  digitalWrite(33,LOW);//D
  digitalWrite(34,LOW);//C
  digitalWrite(35,LOW);//B
  digitalWrite(36,LOW);//A
}
void fourfirst(){
  digitalWrite(30,LOW);//F
  digitalWrite(31,LOW);//G
  digitalWrite(32,HIGH);//E
  digitalWrite(33,HIGH);//D
  digitalWrite(34,LOW);//C
  digitalWrite(35,LOW);//B
  digitalWrite(36,HIGH);//A
}
void fivefirst(){
  digitalWrite(30,LOW);//F
  digitalWrite(31,LOW);//G
  digitalWrite(32,HIGH);//E
  digitalWrite(33,LOW);//D
  digitalWrite(34,LOW);//C
  digitalWrite(35,HIGH);//B
  digitalWrite(36,LOW);//A
}
void sixfirst(){
  digitalWrite(30,LOW);//F
  digitalWrite(31,LOW);//G
  digitalWrite(32,LOW);//E
  digitalWrite(33,LOW);//D
  digitalWrite(34,LOW);//C
  digitalWrite(35,HIGH);//B
  digitalWrite(36,LOW);//A
}
void sevenfirst(){
  digitalWrite(30,HIGH);//F
  digitalWrite(31,HIGH);//G
  digitalWrite(32,HIGH);//E
  digitalWrite(33,HIGH);//D
  digitalWrite(34,LOW);//C
  digitalWrite(35,LOW);//B
  digitalWrite(36,LOW);//A
}
void eightfirst(){
  digitalWrite(30,LOW);//F
  digitalWrite(31,LOW);//G
  digitalWrite(32,LOW);//E
  digitalWrite(33,LOW);//D
  digitalWrite(34,LOW);//C
  digitalWrite(35,LOW);//B
  digitalWrite(36,LOW);//A
}
void ninefirst(){
  digitalWrite(30,LOW);//F
  digitalWrite(31,LOW);//G
  digitalWrite(32,HIGH);//E
  digitalWrite(33,HIGH);//D
  digitalWrite(34,LOW);//C
  digitalWrite(35,LOW);//B
  digitalWrite(36,LOW);//A
}
void zerosecond(){
  digitalWrite(37,LOW);
  digitalWrite(38,HIGH);
  digitalWrite(39,LOW);
  digitalWrite(40,LOW);
  digitalWrite(41,LOW);
  digitalWrite(42,LOW);
  digitalWrite(43,LOW);
}
void onesecond(){
  digitalWrite(37,HIGH);
  digitalWrite(38,HIGH);
  digitalWrite(39,HIGH);
  digitalWrite(40,HIGH);
  digitalWrite(41,LOW);
  digitalWrite(42,LOW);
  digitalWrite(43,HIGH);
}
void twosecond(){
  digitalWrite(37,HIGH);//F
  digitalWrite(38,LOW);//G
  digitalWrite(39,LOW);//E
  digitalWrite(40,LOW);//D
  digitalWrite(41,HIGH);//C
  digitalWrite(42,LOW);//B
  digitalWrite(43,LOW);//A
}
void threesecond(){
  digitalWrite(37,HIGH);//F
  digitalWrite(38,LOW);//G
  digitalWrite(39,HIGH);//E
  digitalWrite(40,LOW);//D
  digitalWrite(41,LOW);//C
  digitalWrite(42,LOW);//B
  digitalWrite(43,LOW);//A
}
void foursecond(){
  digitalWrite(37,LOW);//F
  digitalWrite(38,LOW);//G
  digitalWrite(39,HIGH);//E
  digitalWrite(40,HIGH);//D
  digitalWrite(41,LOW);//C
  digitalWrite(42,LOW);//B
  digitalWrite(43,HIGH);//A
}
void fivesecond(){
  digitalWrite(37,LOW);//F
  digitalWrite(38,LOW);//G
  digitalWrite(39,HIGH);//E
  digitalWrite(40,LOW);//D
  digitalWrite(41,LOW);//C
  digitalWrite(42,HIGH);//B
  digitalWrite(43,LOW);//A
}
void sixsecond(){
  digitalWrite(37,LOW);//F
  digitalWrite(38,LOW);//G
  digitalWrite(39,LOW);//E
  digitalWrite(40,LOW);//D
  digitalWrite(41,LOW);//C
  digitalWrite(42,HIGH);//B
  digitalWrite(43,LOW);//A
}
void sevensecond(){
  digitalWrite(37,HIGH);//F
  digitalWrite(38,HIGH);//G
  digitalWrite(39,HIGH);//E
  digitalWrite(40,HIGH);//D
  digitalWrite(41,LOW);//C
  digitalWrite(42,LOW);//B
  digitalWrite(43,LOW);//A
}
void eightsecond(){
  digitalWrite(37,LOW);//F
  digitalWrite(38,LOW);//G
  digitalWrite(39,LOW);//E
  digitalWrite(40,LOW);//D
  digitalWrite(41,LOW);//C
  digitalWrite(42,LOW);//B
  digitalWrite(43,LOW);//A
}
void ninesecond(){
  digitalWrite(37,LOW);//F
  digitalWrite(38,LOW);//G
  digitalWrite(39,HIGH);//E
  digitalWrite(40,HIGH);//D
  digitalWrite(41,LOW);//C
  digitalWrite(42,LOW);//B
  digitalWrite(43,LOW);//A
}
long distanceOverTime(long first,long second){
 return ((first-second)/.1)*.0223693629;//taking cm/s to mph
}

long holder;//store the cm from last time through loop.
long temp;//used to store the speed value after changes
int counter;

void loop()
{
  // establish variables for duration of the ping,
  // and the distance result in inches and centimeters:
  long duration, inches, cm;
  int tens;
  int ones;
  long Speed;
  // The sensor is triggered by a HIGH pulse of 10 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  pinMode(trigPin, OUTPUT);
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
 
  // Read the signal from the sensor: a HIGH pulse whose
  // duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
  pinMode(echoPin, INPUT);
  duration = pulseIn(echoPin, HIGH);
 
  // convert the time into a distance
  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);

  Speed=distanceOverTime(holder,cm);
  holder=cm;//after speed caclulation so take the cm value for another calculation
  Speed=abs(Speed);
  if(Speed!=0 || counter==10){
    temp=Speed;
    counter=0;
  }else{
    counter++;
  }
  if(temp>=100){
   zerofirst();
   zerosecond();
  }else{
    ones=temp%10;
    tens=temp/10;
  }
  if(ones == 0){
    zerofirst();
  }else if(ones==1){
    onefirst();
  }else if(ones==2){
    twofirst();
  }else if(ones==3){
    threefirst();
  }else if(ones==4){
    fourfirst();
  }else if(ones==5){
    fivefirst();
  }else if(ones==6){
    sixfirst();
  }else if(ones==7){
    sevenfirst();
  }else if(ones==8){
    eightfirst();
  }else if(ones==9){
    ninefirst();
  }
  if(tens == 0){
    zerosecond();
  }else if(tens==1){
    onesecond();
  }else if(tens==2){
    twosecond();
  }else if(tens==3){
    threesecond();
  }else if(tens==4){
    foursecond();
  }else if(tens==5){
    fivesecond();
  }else if(tens==6){
    sixsecond();
  }else if(tens==7){
    sevensecond();
  }else if(tens==8){
    eightsecond();
  }else if(tens==9){
    ninesecond();
  }
 
 
  Serial.print(inches);
  Serial.print(" in, ");
  Serial.print(cm);
  Serial.print(" cm, ");
  Serial.print(Speed);
  Serial.print(" mph");
  Serial.println();
 
  delay(100);
}
 
long microsecondsToInches(long microseconds)
{
  // According to Parallax's datasheet for the PING))), there are
  // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per
  // second).  This gives the distance travelled by the ping, outbound
  // and return, so we divide by 2 to get the distance of the obstacle.
  // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
  return microseconds / 74 / 2;
}
 
long microsecondsToCentimeters(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}

again, all your help and thought are appricated

I don't have a solution out of my head but maybe a way to get you going:
Since you got it working with one I assume you mean one sensor and one display.
If I understand correctly you want to use two 7 segment display to display duble digits.
Your code reflects tow displays already, so do you need help getting two segments to work or getting two modules AND two segments to work on one Ardunio?
For the later there is a way of many:
Simply copy the required code and add the required variables and pins to your code.
So instead of defining pins for one module and two segments you do so for two modules and four segments.
Match the variables so they match the different modules and outputs.
You can clean it all by combining corresponding tasks instead of simply adding them to the end of your code - as you must do anyway for the definitions and pins.