Re: can I say"a small boy's shaking heart"?
No, I don't think you can use "shaking heart." That sounds like a horrible medical condition.
I don't think there's much difference between convince and persuade, except that convince may be mental (convince you to change your mind, to agree that someone is the best choice) while persuade may be physical (persuade you to go with me or to try something new).
I'm not a teacher, but I write for a living. Please don't ask me about 2nd conditionals, but I'm a safe bet for what reads well in (American) English.