J, <s>37</s> 34 bytes
=

    ('O\/-|'{.@#~0=+&|,-,+,[,])"*/~@i:

Usage:

       (('O\/-|'{.@#~0=+&|,-,+,[,])"*/~@i:) 2
    \ | /
     \|/ 
    --O--
     /|\ 
    / | \

I will add explanation tomorrow.

[Try it online here.][1]


  [1]: http://tryj.tk/