You should use the Bounce library to read the button, rather than digitalRead(). Then it's easy to respond to only the change, sending only 1 update when it happens.

Look at File > Examples >...