Всем привет, уже давно хотелось сделать имитатор сирены ГО(гражданской обороны), ну и вот наконец-то дошли руки, сделал по быстренькому на ардуино про мини(Arduino Pro Mini), вот видео:
Схему подключения можете посмотреть на картинке вначале.
А вот собственно код:
#define Speaker_pin 10 // пин к которому подключен динамик #define Speed_up_down_frequency 8000 // скорость нарастания и убывания частоты #define Vooooo_wait_sec 10 // сколько с. длиться гудение на макс. частоте void setup() { pinMode(Speaker_pin, OUTPUT); } void loop() { for(int f = 7000; f >= 800; f--){ // нарастание частоты Vooooo(f,Speed_up_down_frequency); } Vooooo(800, Vooooo_wait_sec*1000000); // сколько с. длиться гудение на максимальной частоте for(int f = 800; f <= 7000; f++){ // убывание частоты Vooooo(f,Speed_up_down_frequency); } //delay(5000); // 5 сек пауза, для тестов } void Vooooo(int freq, long duration){ // первый параметр частота, чем ниже он тем выше частота, второй длительность long time = duration/2/freq; for(long t = 0; t < time; t++) { digitalWrite(Speaker_pin, HIGH); delayMicroseconds(freq); digitalWrite(Speaker_pin, LOW); delayMicroseconds(freq); } }Как видите код не сложный, цифры 7000 и 800 подобрал экспериментальным путём.
Ключевые слова: своими руками, программирование, AVR, ардуино про мини,Arduino Pro Mini, сделай сам, DIY.
Комментариев нет:
Отправить комментарий