if(currentMillis - previousMillis == interval) {
This is an error waiting to happen. Maybe not in this code on this Arduino but keep using that and you'll see.
What error? Well, what happens if the exact milli where that is true is missed for any reason? That error.