Ta strona używa ciasteczek (plików cookies), dzięki którym może działać lepiej. Dowiedz się więcejRozumiem i akceptuję

Kurs Arduino II - #3 - syrena alarmowa, MOSFET w praktyce

Autor Wiadomość
ArczerMX 



Posty: 25
Otrzymał 3 piw(a)
Programuję w:
C, C++
Wysłany: 28-11-2016, 22:21   

Pytania do przykładu z mosfetem.
Jaka jest różnica między rezystorem podłączonym szeregowo do tranzystora, a podciągniętym do masy (ta jak na poniższym rysunku)?

Postaw piwo autorowi tego posta
 
 
Wojciech 



Posty: 121
Pomógł: 14 razy
Otrzymał 12 piw(a)
Programuję w:
C/C++
Wysłany: 01-12-2016, 23:32   

Podłączony szeregowo ogranicza prąd "ładujący bramkę", bo każdy tranzystor ma pewną pojemność, którą trzeba naładować do określonego napięcia, aby zaczął przewodzić.

Rezystor podłączony tak jak na rysunku - do masy sprawia, że w czasie gdy na pinie jest stan nieustalony (wysokiej impedancji) np. gdy pin jest wejściem albo procesor jest w stanie resetu/programowania napięcie na tym pinie nie "szaleje" (jest w przypadkowym stanie) tylko utrzymuje się na nim poziom masy. Zapobiega to dziwnym zachowaniom urządzenia sterowanego przez tranzystor w sytuacjach wspomnianych powyżej.

Ostatnio zmieniony przez Wojciech 01-12-2016, 23:33, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 
 
Więcej szczegółów
Wystawiono 1 piw(a):
Treker
dsk 



Posty: 1
Wysłany: 10-01-2017, 14:50   Buzzer nadal cichy po podpięciu MOSFET i opornika

Niestety po równoległym podpięciu opornika pod buzzer nadal dźwięk jest bardzo cichy. W kursie było napisane, że opornik powinien rozładować energię. Niestety nic takiego się nie dzieje. Ktoś spotkał się z podobnym problemem? Jeśli tak będę wdzięczny za umieszczenie rozwiązania.

Pozdrawiam
DSK

Postaw piwo autorowi tego posta
 
 
Treker 




Posty: 8506
Pomógł: 126 razy
Otrzymał 526 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 14-01-2017, 20:00   

dsk, napisałeś, że buzzer jest nadal "bardzo cichy", to dość niejednoznaczne określenie :) Kluczowe jest, czy słyszysz różnicę, gdy rezystor jest lub go nie ma? Jak dokładnie jest u Ciebie? Jeśli nie słyszysz różnicy, to obstawiam błąd w połączeniach.


Na udzielam odpowiedzi na pytania techniczne zadawane kanałami prywatnymi (maile, komunikatory, PW).
Sprawdź » Kurs ARDUINOKurs podstaw elektronikiZbuduj swojego robota - kurs!
Postaw piwo autorowi tego posta
 
 
orbit6 



Posty: 15
Skąd: Dwernik
Wysłany: 24-09-2017, 23:37   

Czemu używasz pinów Ax do zwykłych zadań?

Postaw piwo autorowi tego posta
 
 
Treker 




Posty: 8506
Pomógł: 126 razy
Otrzymał 526 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 24-09-2017, 23:40   

orbit6, a dlaczego nie :) ? Te piny mogą tak samo pracować jako piny cyfrowe. To, że mogą być wejściami analogowymi, to tylko ich druga funkcja (tak jak Rx/Tx/PWM w przypadku innych pinów).


Na udzielam odpowiedzi na pytania techniczne zadawane kanałami prywatnymi (maile, komunikatory, PW).
Sprawdź » Kurs ARDUINOKurs podstaw elektronikiZbuduj swojego robota - kurs!
Postaw piwo autorowi tego posta
 
 
Mellon 



Posty: 132
Pomógł: 1 raz
Otrzymał 3 piw(a)
Programuję w:
C#,C++,Arduino,STM32
Ostrzeżeń:
 1/3/4
Wysłany: 05-10-2017, 11:22   Wyższe napięcie

Bardzie sformułowałbym wyższe napięcie od napięcia zasilania układów cyfrowych. Mamy przecież wysokonapięciowe tranzystory mocy używane w energoelektronice np. IXTK32P60P Tranzystor: P-MOSFET; unipolarny; -600V; -32A; 890W; TO264
Producent: IXYS Oznaczenie producenta: IXTK32P60P.

Postaw piwo autorowi tego posta
 
 
SOYER 



Posty: 346
Pomógł: 1 raz
Otrzymał 15 piw(a)
Skąd: Kryry
Wysłany: 14-01-2018, 13:18   

Cześć, poczytałem dzisiaj trochę o częstotliwościach poszczególnych tonów. Poniżej sketch z "gamą na buzzer bez generatora" :mrgreen: . Plus mała melodyjka :mrgreen: :mrgreen:
Gdyby ktoś potrzebował to proszę bardzo:
Kod programu: Zaznacz cały
void setup() {
  pinMode(A15, OUTPUT); //Konfiguracja A5 jako wyjście
}
 
void loop() {
nC();
nD();
nE();
nF();
nG();
nE();
nG();
nE();
nE();
nE();
nD();
nD();
nC();
delay(1000);
nE();
nE();
nD();
nD();
nE();
nE();
nF();
delay(200);
nE();
nE();
nD();
nD();
nE();
nE();
nF();
delay(200);
nE();
nE();
nD();
nD();
nC();
delay(2000);
}

void nC(){
   tone(A15, 1046);
  delay(300);
  noTone(A15);
  delay(20);
}
void nD(){
  tone(A15, 1174);
delay(300);
  noTone(A15);
  delay(20);
}
void nE(){
  tone(A15, 1318);
delay(300); 
  noTone(A15);
  delay(20);
}
void nF(){
  tone(A15, 1396);
delay(300); 
  noTone(A15);
  delay(20);
}
void nG(){
  tone(A15, 1568);
delay(300); 
  noTone(A15);
  delay(20);
}
void nA(){
  tone(A15, 1760);
delay(300); 
  noTone(A15);
  delay(20);
}
void nH(){
  tone(A15, 1975);
delay(300); 
  noTone(A15);
  delay(20);
}
void gC(){
  tone(A15, 2093);
delay(300);
  noTone(A15);
  delay(20);
}




Zrobione na szybko na delayach ale wszystko da się przerobić...
Pozdrawiam.

Ostatnio zmieniony przez SOYER 14-01-2018, 13:51, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 
 
Więcej szczegółów
Wystawiono 1 piw(a):
Treker
Gregorio 



Posty: 5
Otrzymał 1 piw(a)
Wysłany: 16-03-2018, 09:18   

Połączenie lekcji o czujniku odległości oraz buzzerach. Powietrzna struna :)
Trekker wykorzystałem Twoją funkcję zmierzOdleglosc() zmieniając zapis na bardziej czytelny dla mnie, mam nadzieję, że nie masz mi tego za złe :->

Kod programu:
Kod programu: Zaznacz cały

// Zmieniając odległość reki od czujnika odległości zmieniamy dżiwięk wydawany przez buzzer.

#define trig 12
#define echo 11
#define struna A5

// Dwuoktawowy zakres struny
#define NOTE_C4  262
#define NOTE_CS4 277
#define NOTE_D4  294
#define NOTE_DS4 311
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_FS4 370
#define NOTE_G4  392
#define NOTE_GS4 415
#define NOTE_A4  440
#define NOTE_AS4 466
#define NOTE_B4  494
#define NOTE_C5  523
#define NOTE_CS5 554
#define NOTE_D5  587
#define NOTE_DS5 622
#define NOTE_E5  659
#define NOTE_F5  698
#define NOTE_FS5 740
#define NOTE_G5  784
#define NOTE_GS5 831
#define NOTE_A5  880
#define NOTE_AS5 932
#define NOTE_B5  988


int dzwieki[24];  // Tabela z wartosciami czestotliwosci dzwieków
int prog;         // Aktualne polozenie palca na naszej powietrznej strunie
int odleglosc;
int poltony=1;      // Zmiana dźwieku co pół tonu.
int glissando=0;   // Płynna zmiana dźwięku.
                          // Możliwe zastosowanie przycisuku dla zmiany trybu.
void setup() {
  Serial.begin (9600);
  pinMode(trig, OUTPUT);
  pinMode(echo, INPUT);
  pinMode(struna, OUTPUT);
}

void loop()

    if (poltony==1) // Praca w trybie półtonowym
    { 
      int a;
      a=zmierz_odleglosc();
      if(a>50)a=50;           // Ograniczenie działania czujnika odległosci do 50 cm. Mozna zwiększyć tę wartośc aby moc łatwiej trafiac w dzwieki
     
      prog=map(a,0,50,0,23);  // Skalowanie odleglosci z czujnika na polozenie palca na odpowiednim progu/dzwieku
     
      int dzwieki[]={NOTE_C4, NOTE_CS4, NOTE_D4, NOTE_DS4, NOTE_E4, NOTE_F4, NOTE_FS4, NOTE_G4, NOTE_GS4, NOTE_A4, NOTE_AS4, NOTE_B4,NOTE_C5, NOTE_CS5, NOTE_D5, NOTE_DS5, NOTE_E5, NOTE_F5, NOTE_FS5, NOTE_G5, NOTE_GS5, NOTE_A5,NOTE_AS5, NOTE_B5};

      tone(struna,dzwieki[prog]);
      delay(200);
    }
   
    if (glissando==1) //// Praca w trybie glissando
    { 
      int a;
      a=zmierz_odleglosc();
      if(a>50)a=50;
      prog=map(a,0,50,262,988);
      tone(struna,prog);
      delay(100);
    }
}
int zmierz_odleglosc()
{
  long czas, odleglosc;
  digitalWrite(trig, LOW);
  delayMicroseconds(2);
  digitalWrite(trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig, LOW);
  czas = pulseIn(echo, HIGH);
  odleglosc = czas / 58;
  return odleglosc;
}

Ostatnio zmieniony przez Gregorio 16-03-2018, 09:20, w całości zmieniany 2 razy  
Postaw piwo autorowi tego posta
 
 
Treker 




Posty: 8506
Pomógł: 126 razy
Otrzymał 526 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 18-03-2018, 20:39   

Gregorio, niestety do muzyki mam wybitny antytalent, więc od tej strony na pewno programu nie ocenię. Jednak od strony Arduino wszystko wygląda bardzo fajnie. Powodzenia z dalszymi eksperymentami :)


Na udzielam odpowiedzi na pytania techniczne zadawane kanałami prywatnymi (maile, komunikatory, PW).
Sprawdź » Kurs ARDUINOKurs podstaw elektronikiZbuduj swojego robota - kurs!
Postaw piwo autorowi tego posta
 
 
noniwoo 



Posty: 5
Wysłany: 12-04-2018, 10:50   

Próbuje podłączyć zewnętrzne źródło sygnału audio, wzmocnić za pomocą mosfeta i wyprowadzić na buzzer bez generatora, ale nie bardzo wiem jak się do tego zabrać.

Sygnał audio podaję przez minijack wpięty do telefonu z jednej strony. Z drugiej mam piny wpięte w płytkę stykową. Jak podłączyć jeden z kanałów audio z minijacka do schematu przedstawionego na stronie (Arduino + mosfet + buzzer)?

Z tego co czytałem w internecie należy łączyć uziemienia dwóch urządzeń, w tym przypadku GND Arduino i jacka, jednak sygnał audio jest prądem zmiennym, czy więc nie zaszkodzi to Arduino?

Ostatnio zmieniony przez noniwoo 12-04-2018, 10:51, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 
 
Treker 




Posty: 8506
Pomógł: 126 razy
Otrzymał 526 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 17-04-2018, 00:19   

noniwoo, w komentarzach do kursów staramy się rozmawiać tylko o sprzęcie omawianym w artykułach. Pisanie o rzeczach niezwiązanych bezpośrednio z kursem prowadzi do powstawania zamieszania i może zmylić innych czytelników w przyszłości. Jeśli masz problem z innymi elementami, to załóż proszę osobny temat na forum w odpowiednim dziale. Z góry dziękuję za zrozumienie i pomoc w utrzymaniu porządku :)


Na udzielam odpowiedzi na pytania techniczne zadawane kanałami prywatnymi (maile, komunikatory, PW).
Sprawdź » Kurs ARDUINOKurs podstaw elektronikiZbuduj swojego robota - kurs!
Postaw piwo autorowi tego posta
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Wersja do druku

Skocz do:  

Nie rozwiązałeś swojego problemu? Zobacz podobne tematy: Kurs Arduino - #8 - ... Kurs Arduino - #9 - ... Kurs STM32 - #3 - Pł... Kurs STM32 - #2 - Po...
lub przeszukaj forum po wybranych tagach: elektronika, komentarze, majsterkowanie, robotyka


Powered by phpBB modified by Przemo © 2003 phpBB Group
Popularne kursy: Arduinopodstawy elektroniki