I've done something very similar to this: listening to the sound of a wood utility pole when struck with a hammer, to see if it's possible to identify when internal decay is present.
I've got to agree with @MrMark; what you are trying to do is non-trivial. The very short duration of the impact sound makes analysis harder. Likewise, variations between individual sounds on the same material again makes it harder. You obviously need to identify some kind of signature which is a reliable differentiator between the two sounds.
It may be as simple as the presence or absence of energy in particular frequency bands. On the other hand, it might have to be some kind of power profile over frequency, and you must do some research to identify the shape of that profile. You also need to decide what to do with signals that are ambiguous - force them to the nearest metal/wood signature? Or declare them as "uncertain" so the operator must try again?
You might also find a difference in the duration of the sounds - wood and metal have different internal damping. But that will require you to normalise for the initial sound level of the strike (moving the microphone closer will make the sounds appear to last longer because it can hear them for longer above the background noise).
That is why @MrMark recommended developing the algorithm on a PC first, and then porting it to a microcontroller once you've got it buttoned down.
If there is a really big difference which is very obvious on the output of an FFT, then you might get lucky and not need to mess with a PC. But I doubt it. I hope you can prove me wrong!