Sounds like you're trying to simulate a non-homogeneous Poisson process where lambda(t) is being defined in piece-wise segments to the nearest minute.
The correct way to do this is with "thinning". Basically, find the maximum lambda(t) and generate pseudo-arrivals at times t1, t2, t3,... at rate lambdamax. For each pseudo-arrival at time ti, accept it as a an actual arrival with probability lambda(ti) / lambdamax. The result is a sequence of the times at which vehicles arrive at the tunnel.