Compute e using Euler's expansion
Your definition of d is not quite right.  It produces incorrect results for some values of i and it has two special cases which are not necessary.  A possible definition is:

  (define (d i)
    (cond
      ((divisible? (+ i 1) 3) 
       (* (/ (+ i 1) 3) 2))
      (else 1)))


This is because i is 1-indexed (series begins with i = 1).  If you want a decimal instead of a fraction as your result, change the multiplier to 2.0 and the else value to 1.0.

Another way to write d is:

  (define (d i)
    (let
        ((d-value (* (/ (+ i 1) 3) 2)))
      (if (integer? d-value) d-value 1)))