one way to get a heart scale in pokemon black is to go to Driftveil city. Use fly to get there and then go left from the pokemon center, there a girl will ask you to show her a pokemon that knows a certain move. Find a pokemon that knows the move and in return she'll give you a heart scale.
Chat with our AI personalities
U can only get heart scales in the pokeballs in the wild. Or you can made a Pokemon hold a heart scale at trade from a different game.
Heart Scales can sometimes be found on Luvdisc when they are caught.
In Pokemon Emerald Heart Scales can be found in various locations. However the main source of Heart Scales is Luvdisc which very commonly holds them.
underground
There are unlimited Heart Scales in Ruby because Luvdisc sometimes carry them around.