Go Down

Topic: Problem med PWM, transistor till led. (Read 11344 times) previous topic - next topic

Brute

Hej,

Jag har försökt få fyra stycken led att pulsera med hjälp av en transistor enligt det här schemat fast med en UNO rev 3 och inte en MEGA.

Problemet som uppstår är att de inte slocknar, de pulserar men slocknar aldrig.
Jag har sökt en del men inte hittat något som hjälpt.

Är det någon som kan förklara detta?

olof_n

Hej!

Du behöver ett "pull down" motstånd på utgången.
Sätt ett 10K motstånd ifrån basen på transistorn till GND.

Sedan är det en bra idé att begränsa strömmen på dina LED:ar annars kan dom brinna upp.

/Olof

Msquare

Och ...

Programmeringsmæssigt skal du i setup() ha
pinMode(LED,OUTPUT) ;
istället för analogWrite. Det gäller jo bare några mikrosekunder til loop börjar.

Hur længe schickar du 0 ut på din analogWrite i loopen.? Et tiotal mikrosekunder, så er  For-loopen kommet videre med 1, 2, .... Dom slocknar säkert, du hinner bare inte se det.

Kalveo

felet ligger i din beräkning av out.

Code: [Select]
out = sin(in) * 127.5 + 127.5;

eftersom multiplikation går före addition kommer du alltid att addera 127.5 till out. Detta gör att ditt minimivärde blir 127.5 och max blir 255.

Detta borde ge dig det du söker:
Code: [Select]
out = sin(in) * 255;

Msquare

@Kalevo: Nej det han har funkar - det ger värden mellan 0 og 255. Ditt förslag ger mellem -255 og +255. Prova. (Skriv ett litet program som skriver til Serial.print)


Hipsu

int led = 9;
float in;
float out;

void setup()
{
  pinMode(led,OUTPUT);
  Serial.begin(1200);
}

void loop()
{
  for (in = 0.00; in <= 6.283; in = in + 0.001)
  {
  out = sin(in)*127.5 +127.5;
   analogWrite(led, out);
  }   
}
Ei se toimi ellei sitä ohjelmoi toimivaksi.

Go Up