Arduino kontrollerade Beehive Fumigator / Air Freshener (7 / 9 steg)
Steg 7: Varning ljud
I ett projekt som detta, kan vi aldrig ha tillräckligt varning ljud, oavsett om de är Piper, sirener eller andra specialeffekter lånat från NASA hemsida.
Vissa riktigt cool pipande ljud kan göras på arduino uno med hjälp av följande kod som jag skrev själv:
göra pipande ljud vid ökande frekvenser beroende på temperatur: Freq = startfrequency; Piper = 0; beepBeepThreshold = beepthreshold; While(beeps < numberofbeepsmax) { IF(Heat > beepBeepThreshold) tonen (A2, freq, 9); spela en anteckning från stift 2 på freq för 9ms Piper ++; |
beepBeepThreshold = beepBeepThreshold + 10.
Freq = freq + 100.
Delay(10);
}
Tidigare i koden, K typ temperaturgivaren lästes och dess värde förklaras vara "heat". Arduinoen nu producerar en serie pipande ljud av allt oftare, baserat på den temperaturavläsningen. När enheten blir varmt, en dramatisk snabb serie högljudda signaler av ökande pitch produceras varje sekund för att indikera hur varmt det är utan att behöva titta på en skärm.
Funktionen "ton" verkar tyvärr inte fungera på en Arduino förfallodatumet.
För extra drama trodde jag att en andra världskriget air raid siren och vissa NASA raket lanseringen ljud kan vara kul. Detta var sydde ihop "Fruity Loops" och windows movie maker (se videon).
Jag la ett par audio styrelser till projektet, en, Adafruit Stereo 20W klass D förstärkare - MAX9744 och två, den Adafruit ljud FX ljudkort - WAV/OGG Trigger med 16 MB Flash. Jag ville ha min hemgjorda bleeps och NASA ljudeffekter att vara riktigt högt! Konstigt nog bleeps slutade att vara mycket högre än ljudfiler, även om de skulle komma via olika kanaler av samma amp. Jag kan bara tänka att detta beror på pip är pure sine vågor?
Förångare är nu redo för en slutlig testning med oxalsyra och alla varning ljud och förångning nedräkningen.