First project, almost there. Need help with delay

I made a bath water temperature alarm to set off, when my water gets to the desired temp and so I dont have to keep monitoring it.

Technically it does what it's supposed to do, but Im using a "delay(1000)" in the code because I want to read the temperature to the serial port (9600 baud rate). However, I think this delay is messing up my buzzer timing; meaning, it buzzes at 1second intervals rather than the 500milliseconds that I've set in the "interval" constant.

Any clues on how to keep the baud rate, but get my buzzer to buzz at the interval I want?

Thanks!

Code below:

// code for bath water temperature alarm.

//include Max6675 library
#include "max6675.h"

//include RunningAverage library
#include "RunningAverage.h"

//Constants won't change

const int tempset = 114; //temp alarm setpoint
const int buzzerPin = 9; //buzzer pin

const int thermoDO = 4; //these are for MAX6675
const int thermoCS = 5;
const int thermoCLK = 6;

MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
const int vccPin = 3;
const int gndPin = 2;

//Variables will change:
int buzzerState = LOW; //buzzerState used to set the buzzer
long previousMillis = 0; // will store last time buzzer was updated

long interval = 500; // interval at which to buzz buzzer (milliseconds) for primary alarm

RunningAverage myRA(20); //Running Average
int samples = 0;

void setup() {

Serial.begin(9600);
myRA.clr(); // explicitly start clean

// use Arduino pins
pinMode(buzzerPin, OUTPUT);
pinMode(vccPin, OUTPUT); digitalWrite(vccPin, HIGH);
pinMode(gndPin, OUTPUT); digitalWrite(gndPin, LOW);

// wait for MAX chip to stabilize
delay(500);
}

void loop() {

myRA.add(thermocouple.readFarenheit());
samples++;

Serial.print("Running Average F = ");
Serial.println(myRA.avg());

if (samples == 300)
{
samples = 0;
myRA.clr();
}

delay(1000);

//check average temp versus tempset and buzz alarm if so

if (myRA.avg() < tempset){
unsigned long currentMillis = millis();

if(currentMillis - previousMillis > interval) {

// save the last time buzzed buzzer
previousMillis = currentMillis;

// if the buzzer is off turn it on and vice-versa:
if (buzzerState == LOW)
buzzerState = HIGH;
else
buzzerState = LOW;

// set the buzzer with the buzzerState of the variable:
digitalWrite(buzzerPin, buzzerState);
}

}
else
buzzerState = LOW;

}

You have put a delay(1000); in the loop so what ever happens there is always a seconds delay going round the loop, that's why your buzzer seems to be going at half the rate.
Look at the blink without delay tutorial example of how to solve this.