I agree, Rhonda, about giving them a business card whenever they beg to get something for free or whenever they don't realize that you are not just wasting your time. Make them realize you do valuable work.
And no, don't worry, your attitude is not hard or cold, just professional.
You don't let people take advantage of you anymore. That is not cold or hard, that is a good thing.
I used to give away most of my work for free too (before I had a shop). Nothing wrong with that, untill you decide to make a business out of your hobby.
My compromise: family and friends get a 20% discount.
Besides the products in my shop I make lots of other things, for example cards. When family/friends buy 3 of my cards, they get to choose a 4th card for free.
Perhaps you could introduce a family/friends discount too.