I'm trying to make a code for earning points every 5 seconds

So, this is my code, but everytime it gets to 5 seconds it adds a lot more than just 1 point (humidity). I know it’s because the game runs by milliseconds, or faster, but i don’t know what i could do to solve this.
What else can I use or what can I do to fix this code?

using UnityEngine;
using UnityEngine.UI;

public class Points : MonoBehaviour
{
    [SerializeField] private int humidity = 0, seconds = 0;
    private float timer;
    public Text timeText;

    public void Update()
    {
        timer += Time.deltaTime;
        seconds = (int)(timer % 60);
        timeText.text = "Time: " + seconds;
        if(seconds % 5 == 0)
        {
            AddHumidity();
        }
    }

    public void AddHumidity()
    {
        humidity+=1;
    }

}