Aktív beeper hiba?!?!

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
karolyia
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2017. április 14. péntek, 7:47

Aktív beeper hiba?!?!

HozzászólásSzerző: karolyia » 2017. április 14. péntek, 7:55

Sziasztok!
Vettem egy aktív beepert. Nem itt, hanem a HESTORE-ban. Erős a gyanúm, hogy hibás. Egy pakkban vettem egy csomó mindennel és az RTC modul is rossz volt (elem halott volt és az óra nem csinál semmit, 2222-12-12-00:00:00 folyamatosan), de kellet egy csomó nem arduino projektes alkatrész, ami itt nem kapható és sajnos tőlük rendeltem.

Próbáltam uno-val, megával és nano-val is.
5V-ot megkapja, 7-es pinre megy az out.
Akármit csinálok, folyamatosan sípol, ha kell, ha nem.
Még ez a kód is!!!

Kód: Egész kijelölése

int buzzPin =  7;   
void setup() 

{       
  pinMode(buzzPin, OUTPUT);     
}

void loop()                     
{
   
}


Aktív buzzert még sosem használtam, lehet én vagyok a béna, de szerintem, ha nem adok ki jelet az adott pinen, akkor néma csöndet kéne produkáljon...

vargham
Tranzisztorgyógyász
Hozzászólások: 150
Csatlakozott: 2014. január 8. szerda, 8:32
Kapcsolat:

Re: Aktív beeper hiba?!?!

HozzászólásSzerző: vargham » 2017. április 14. péntek, 8:11

Buzzer adatlapja? Hogyan kötötted be? Mit csinál, ha közvetlenül kötsz rá 5 Voltot?

karolyia
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2017. április 14. péntek, 7:47

Re: Aktív beeper hiba?!?!

HozzászólásSzerző: karolyia » 2017. április 14. péntek, 10:51

5v-ot megkapja és a 7-es pinen van a "data". Ha csak az áramot kapja, és a "data" nincs bekötve, nem visít.
Amúgy róla lenne szó: https://www.hestore.hu/prod_10035570.html

vargham
Tranzisztorgyógyász
Hozzászólások: 150
Csatlakozott: 2014. január 8. szerda, 8:32
Kapcsolat:

Re: Aktív beeper hiba?!?!

HozzászólásSzerző: vargham » 2017. április 14. péntek, 12:02

"ha nem adok ki jelet az adott pinen, akkor néma csöndet kéne produkáljon..."
Nem igaz. A linken ott van a rajza. https://www.hestore.hu/prod_getfile.php?id=8146
Egy tranzisztor kapcsolja (nem FET), ennek megfelelően (negálva) kellene neked is kiadni a jelet.
A nem adsz ki jelet nem pontos megfogalmazás. Egy mikrokontroller lába általában háromféle állapotot vehet fel.
  • Bemenet, ilyenkor nagyon nagy az ellenállása, szinte egyáltalán nem folyik áram.
  • Kimenet, alacsony szint, ilyenkor folyhat áram, az MCU a nyelő.
  • Kimenet, magas szint, ilyenkor folyhat áram, az MCU a forrás.

Képzeld el, hogy LED-et kötsz a mikrokontrollerre! Kötheted úgy is, hogy a negatív oldala van az MCU fele, a pozitív oldala pedig a tápfeszültség fele. Ilyenkor a digitalWrite(PIN, LOW) utasítás fogja bekapcsolni, a HIGH pedig ki. Kötheted úgy is, hogy a pozitív oldala van az MCU fele, a negatív oldala pedig a GND felé. Ilyenkor HIGH-ra bekapcsol, LOW-ra pedig ki.

"Akármit csinálok, folyamatosan sípol, ha kell, ha nem."
Ezt próbáltad már belerakni a setup-ba?
digitalWrite(buzzPin, HIGH);

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9737
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Aktív beeper hiba?!?!

HozzászólásSzerző: Robert » 2017. április 14. péntek, 13:29

Processzor nélküli teszt:
+5 és GND beköt.
Vezérlést kösd GNDre majd 5Vra.

Ha elhallgat, majd sípol - aktív meghajtást tartalmazó buzzer (sípoló)
Ha csak mintha "koppanna" akkor tranzisztor + hangszóró. Ekkor a Low/High szint gyors változásával lesz hangod belőle.
Ettől eltérő viselkedés : hibás bekötés vagy hibás eszköz.

Teszt: Tedd a D13-ra a vezérlését és töltsd le a BLINK programot.

Egy mikrokontroller lába általában háromféle állapotot vehet fel.
Bemenet, ilyenkor nagyon nagy az ellenállása, szinte egyáltalán nem folyik áram.
Kimenet, alacsony szint, ilyenkor folyhat áram, az MCU a nyelő.
Kimenet, magas szint, ilyenkor folyhat áram, az MCU a forrás.

És a negyedik: Bemenet, de a felhúzóellenállást ki/bekapcsolod:
A lábon igaz kisebb áram (0.1mA alatt) képes folyni....


Blink:

Kód: Egész kijelölése

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}



Passzív buzzer esetén:

Kód: Egész kijelölése

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1);              // wait for a second
}
http://www.tavir.hu - a gazda :)

karolyia
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2017. április 14. péntek, 7:47

Re: Aktív beeper hiba?!?!

HozzászólásSzerző: karolyia » 2017. április 14. péntek, 19:47

vargham írta:"ha nem adok ki jelet az adott pinen, akkor néma csöndet kéne produkáljon..."
Nem igaz. A linken ott van a rajza. https://www.hestore.hu/prod_getfile.php?id=8146
Egy tranzisztor kapcsolja (nem FET), ennek megfelelően (negálva) kellene neked is kiadni a jelet.
A nem adsz ki jelet nem pontos megfogalmazás. Egy mikrokontroller lába általában háromféle állapotot vehet fel.
  • Bemenet, ilyenkor nagyon nagy az ellenállása, szinte egyáltalán nem folyik áram.
  • Kimenet, alacsony szint, ilyenkor folyhat áram, az MCU a nyelő.
  • Kimenet, magas szint, ilyenkor folyhat áram, az MCU a forrás.

Képzeld el, hogy LED-et kötsz a mikrokontrollerre! Kötheted úgy is, hogy a negatív oldala van az MCU fele, a pozitív oldala pedig a tápfeszültség fele. Ilyenkor a digitalWrite(PIN, LOW) utasítás fogja bekapcsolni, a HIGH pedig ki. Kötheted úgy is, hogy a pozitív oldala van az MCU fele, a negatív oldala pedig a GND felé. Ilyenkor HIGH-ra bekapcsol, LOW-ra pedig ki.

"Akármit csinálok, folyamatosan sípol, ha kell, ha nem."
Ezt próbáltad már belerakni a setup-ba?
digitalWrite(buzzPin, HIGH);


Azt hiszem értem mit mondasz/írsz és próbáltam már. Vinnyog azonnal. :(

Ahogy kimenetre váltom a pin funkcióját, onnantól kezdve visít szerencsétlen. Ugyanez a helyzet, ha analóg kimenetet használok, bár ha outputra állítom, akkor mindegy.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9737
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Aktív beeper hiba?!?!

HozzászólásSzerző: Robert » 2017. április 14. péntek, 19:50

Aktív buzzer: frekvenciameghajtással is rendelkezik.

A TavIR oldalon _normális_ leírás van róla :P
http://shop.tavir.hu/product_info.php/m ... zzer-p-262
http://www.tavir.hu - a gazda :)

karolyia
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2017. április 14. péntek, 7:47

Re: Aktív beeper hiba?!?!

HozzászólásSzerző: karolyia » 2017. április 14. péntek, 20:00

Robert írta:Processzor nélküli teszt:
+5 és GND beköt.
Vezérlést kösd GNDre majd 5Vra.

Ha elhallgat, majd sípol - aktív meghajtást tartalmazó buzzer (sípoló)
Ha csak mintha "koppanna" akkor tranzisztor + hangszóró. Ekkor a Low/High szint gyors változásával lesz hangod belőle.
Ettől eltérő viselkedés : hibás bekötés vagy hibás eszköz.

Teszt: Tedd a D13-ra a vezérlését és töltsd le a BLINK programot.

Egy mikrokontroller lába általában háromféle állapotot vehet fel.
Bemenet, ilyenkor nagyon nagy az ellenállása, szinte egyáltalán nem folyik áram.
Kimenet, alacsony szint, ilyenkor folyhat áram, az MCU a nyelő.
Kimenet, magas szint, ilyenkor folyhat áram, az MCU a forrás.

És a negyedik: Bemenet, de a felhúzóellenállást ki/bekapcsolod:
A lábon igaz kisebb áram (0.1mA alatt) képes folyni....


Blink:

Kód: Egész kijelölése

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}



Passzív buzzer esetén:

Kód: Egész kijelölése

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1);              // wait for a second
}


Köszönöm! Reggel esek neki :)
7 és 13 pin között mi a különbség? Ha jól látom, akkor a szoftver rész ugyanaz, amit én írtam, csak én általában változóként kezelem a pint.
Annyit tudok, hogy a 7 nem tud pwm-et. Lehet ez a bibi??

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9737
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Aktív beeper hiba?!?!

HozzászólásSzerző: Robert » 2017. április 14. péntek, 20:09

Aktív buzzernek minek PWM? Valamit nagyon sikerül keverni.... :oops:

AnalogOut (pontosabban PWM out) - semmi keresnivalója csipogóknál.

A 7-es lábat is simán Digitális Outként használtad, nem PWM kimenetként....
http://www.tavir.hu - a gazda :)

vargham
Tranzisztorgyógyász
Hozzászólások: 150
Csatlakozott: 2014. január 8. szerda, 8:32
Kapcsolat:

Re: Aktív beeper hiba?!?!

HozzászólásSzerző: vargham » 2017. április 15. szombat, 6:31

Próbáld meg azt is, hogy váltogatod, hogy a láb ki vagy bemenet.


Vissza: “Arduino / C-nyelvű programozás (AVR-Duino, EthDuino, Arduino, Diecimila)”

Ki van itt

Jelenlévő fórumozók: Bing [Bot] valamint 2 vendég