
Сообщение от
basurman971
Лучше сразу бы сказал- застрелись.

Это не решит задачу подключения бузера к ардуино))
Поскольку не было сформулировано, когда, как и сколько раз должен работать излучатель, и, особенно, источник со встроенным генератором или нет, я и написал только общие рекомендации.
PHP код:
#include <avr/interrupt.h>
#include <avr/io.h>
#define BUTTON 2
#define RELAY 3
#define PAUSE 4
#define BUZZER 4
byte time=0;
boolean state=false;
boolean a=false;
boolean buz=false;
ISR(TIMER1_COMPA_vect)
{
TCNT1H=0x00;
TCNT1L=0x00;
if (digitalRead(BUTTON) == LOW)
{
time++;
if(time>PAUSE && !a)
{
buz=true;
if(!state)
{
digitalWrite(RELAY, HIGH);
state=true;
a=true;
}
else
{
digitalWrite(RELAY, LOW);
state=false;
a=true;
}
}
}
}
void setup()
{
pinMode(RELAY,OUTPUT);
pinMode(BUZZER,OUTPUT);
pinMode(BUTTON,INPUT);
digitalWrite(BUTTON, HIGH); //подключить внутренний подтягивающий резистор
TCCR1A=0x00;
TCCR1B=0x04;
TCNT1H=0x00;
TCNT1L=0x00;
OCR1AH=0x7A;
OCR1AL=0x12;
TIMSK1=0x02;
}
void loop()
{
if (digitalRead(BUTTON) == HIGH)
{
a=false;
time=0;
}
if(buz)
{
//здесь управляем ногой бузера
//Например:
digitalWrite(BUZZER, HIGH);
delay(1000);
digitalWrite(BUZZER, LOW);
buz=false;
}
}