everything works independitly but not together. Piezo not generating a tone My goal with the code is simple. Let the Piezo buzz when temperature reaches 25 degrees. My piezo is hooked up correctly, because It makes a buzz when the arduino boots or when I put this line of code anywhere else in my code.

I also checked if the If statement was called. And yes it is! So the if statements is happening yet I don't hear a buzz. 

I am aware that I am breaking my seven segmented screen by using the delay. But I don't mind the screen working when the buzzer is. 

void loop()
{
  //local vars
  if (millis() % 5000 &lt;= 10) {
      float lm35TempC = lm35.getTempC();
      sevseg.setNumber(lm35TempC, 2);
      if (lm35TempC &gt; 25.00) {
        tone(1,500,1000);
        delay(3000);  &lt;------- WHERE IT PROBABLY GOES WRONG
      }
      if (lm35TempC &lt; 25.00) {
        noTone(1);
      }
  }
  sevseg.refreshDisplay(); // Must run repeatedly; don't use blocking code (ex: delay()) in the loop() function or this won't work right
}


To conclude: The If-statement is working yet I don't hear a buzz. How does this happen? 

Thanks in Advance!
You connected the piezo to pin 1? Chose other pin. Pin 1 is Serial TX. You 'pump' PWM to USB.

tone() function will make sound no matter if you have a delay there. You set 1 sec with 1000 as third parameter. It will sound 1 sec and the turn of. You do not need the delay() and noTone().

500 is low frequency. If it sounds only one second, can you catch it?

try tone(TONE_PIN, 4500, 500). with speaker it is a nice beeeep