suono continuo buzz

salve, ho bisogno di una spiegazione, devo fare suonare un buzz, se lo collego ad un pin e come uscita lo setto HIGH lui suona sempre, a me interessa che suoni come una sirena intermittente come posso fare lo sketch...qualcuno mi dice di inserire un Void e frequenz.... ma non saprei da dove iniziare...

grazie

Per fare un suono intermittente devi fare un ciclo in cui lo accendi e passato x tempo lo spegni ... ... in una fare iniziale, [u]tanto per provare[/u], puoi mettere il pin HIGH, fare una delay() di X millisecondi (1 secondo = 1000 millisecondi) e poi mettere il pin a LOW il tutto nel loop().

Guglielmo

Secondo me conviene usare la funzione Tone().

Qui la documentazione https://www.arduino.cc/en/Reference/Tone

Qui un esempio di “sirena”, il programma funziona perché è stato testato, ma per avere un suono simile
a una sirena, bisogna GIOCARE-REGOLARE frequenza e durata fino ad ottenere il suono voluto.

#define sirena 10
#define pulsante 2

void setup(){

        Serial.begin(9600);
        pinMode(sirena,OUTPUT);
        pinMode(pulsante, INPUT_PULLUP);
        
}


void loop(){

        if(digitalRead(pulsante)==LOW){//Premendo il pulsante entra nel ciclo for e fa 20 suoni 
                                                    // visto chè ci sono durata 500 + pausa 1000 =1500x20, suona per 30 secodi 
         
            for(int i=0; i<20; i++){
        
                tone(sirena, 700, 500); // sirena suona a 700 Herz per 1/2 secondo
                
                delay(1000);//pausa di un 1 secondo tra un suono e l'altro
             }
        }

        
}

torn24: Secondo me conviene usare la funzione Tone().

Ma [u]da quanto scrive lui[/u] ha già un oggetto che emette un suono quando alimentato e vuole solo accenderlo e spegnerlo ... non so se lo può/vuole modulare in frequenza, dipende cosa è/cosa vuole ... :)

Guglielmo

Non avevo capito, ma mi sembrava strano che mettendo HIGH un pin emettesse un suono :o

Ci sono due tipi di buzzer: quelli attivi con un oscillatore interno e quelli passivi che contengono il solo trasduttore piezoelettrico.

Nel primo caso è sufficiente dare alimentazione, mentre nel secondo bisogna fornire un segnale tipo tone().

cyberhs: Nel primo caso è sufficiente dare alimentazione, mentre nel secondo bisogna fornire un segnale tipo tone().

... e dato che lui dice :

marcadue: ...devo fare suonare un buzz, se lo collego ad un pin e come uscita lo setto HIGH lui suona sempre ...

... probabilmente rientra nel primo modello ::)

Guglielmo