Skocz do zawartości

Buzzer bez generatora a funkcja millis


Merasuke

Pomocna odpowiedź

#define BUZ A5
 
int stanBUZ = LOW;

 
unsigned long aktualnyCzas = 0;
unsigned long zapamietanyCzasBUZ = 0;

 
void setup(){
  Serial.begin(9600);
  pinMode(BUZ, OUTPUT);
  
}
 
void loop(){
  //Pobierz liczbe milisekund od startu
  aktualnyCzas = millis();
  
  //Jeśli różnica wynosi ponad 1 sekundę
  if (aktualnyCzas - zapamietanyCzasBUZ >= 1000UL) {
    //Zapamietaj aktualny czas
    zapamietanyCzasBUZ = aktualnyCzas;
    //Zmieniamy stan diody na przeciwny
    stanBUZ = !stanBUZ;
    //ustawiamy nowy stan na diodzie
    digitalWrite(BUZ, stanBUZ);
  }
  
    
  
}

Witam, 

Mam taki problem, iż chce zrobić sygnalizację z buzzera bez generatora ale nie chcę używać funkcji delay(). W tym programie próbowałem użyć funkcji millis() ale nie wiem jak w tą funkcję wstawić funkcje tone() by generować dźwięk.

Czy mógłby ktoś podpowiedzieć jak to zrobić?

 

Link do komentarza
Share on other sites

Jak chcesz uzywac funkcje tone() to uzywasz normalnie...opcjonalnie mozesz dodac czas dzwieku..a jesli chcesz tak jak wyzej to musisz skrocic te czasy...1kHz to tysiac przelaczen na sekunde wiec musi byc np. 

if (aktualnyCzas - zapamietanyCzasBUZ >= 1UL) {
  

(Tutaj jest 500Hz) lepiej sie przerzucic na micros() bo na millis() guzik zrobisz...

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zamiast digitalWrite wstawiasz wywołanie tone/noTone. Ewentualnie korzystasz z możliwości funkcji tone i ustawiasz czas, wtedy noTone nue jest potrzebny.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.