and a function generator to drive it (a 500 Hz sine wave would do).
The basic arduino has no DAC so it cannot create a sine wave itself so you need an external DAC (e.g. from sparkfun.com).
If you want an arduino to generate a sine wave of 500Hz it needs to send all individual values to the DAC. if you want a smooth sine you need lets say 360 values per wave making 180.000 signals per second!! This is on the edge of what is possible with arduino -> Use lookup tables, no float math etc