String CritterCry::startPlayCry()
{
int numCries = 5; // For example, make 5 cries
generateCryPattern(numCries);
String result = "CRY_PATTERN:";
for (int i = 0; i < numCries * 2; i++) {
result += String(cryPattern[i]);
if (i < (numCries * 2 - 1)) {
result += ","; // Add comma between values
}
}
return result;
}
void CritterCry::generateCryPattern(int numCries)
{
for (int i = 0; i < numCries; i++) {
int cryDuration = random(100, 300); // Cry time in ms
int pauseDuration = random(200, 600); // Pause time in ms
cryPattern[i * 2] = cryDuration;
cryPattern[i * 2 + 1] = pauseDuration;
// Play the cry
digitalWrite(activeBuzzerPin, HIGH);
delay(cryDuration);
digitalWrite(activeBuzzerPin, LOW);
delay(pauseDuration);
}
}