Forum: Mikrocontroller und Digitale Elektronik ATMEGA328 analoge frequenz ausgeben


von daniel (Gast)


Lesenswert?

wahrscheinlich ist das für viele eine einfache frage, aber ich müsste 
einen ATMEGA328 auf einem arduino board ne frequenz von 10HZ auf einem 
digitalen ausgang ausgeben und bin mir nicht sicher, ob ich das richtig 
mache:


digitalWrite(ledPin2, HIGH);
   for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5)
   {
     analogWrite(analogOutPin, fadeValue);
     delay(0.5);
   }

  for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5)
  {
    analogWrite(analogOutPin, fadeValue);
    delay(0.5);

von Benedikt K. (pille1990)


Lesenswert?

das sieht mir ja stark nach pwm aus...
dafür kannst du im atmega einen timer im pwm modus verwenden. wie das 
geht steht im 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Die_Timer_und_Z%C3%A4hler_des_AVR#Die_PWM-Betriebsart 
tutorial.
da die pwm dann nebenbei im timer läuft, kannst du mit dem controller 
auch noch andere sachen machen.

gruß
pille

von Martin G. (mager)


Lesenswert?

Der Code erzeugt einen Sägezahn mit Hilfe einer im Hintergrund benutzten 
PWM-Funktion. Geht eher nicht so!
Welche Signalform soll das Signal haben? Rechteck? Sinus?
Was passiert mit dem Signal?

von Floh (Gast)


Lesenswert?

fals nur Rechteck und sonst nichts zu tun:

Endlosschleife
{
  Ausgang auf 1 setzen
  100 ms warten
  Ausgang auf 0 setzen
  100 ms warten
}

von Purzel H. (hacky)


Lesenswert?

Das waeren dann 5Hz ...

von daniel (Gast)


Lesenswert?

gefordert ist eigentlich ne sinus spannung. soll eine LED ansteuern, bzw 
ist da ein transistor im schalterbetrieb eingebaut. die sinusspannung 
liegt dann an der basis an und steuert

ob das mit der PWM klappt weiß ich nicht. habe gelesen, dass das nur 
gewisse pins sind und hier soll der ausgang = pin 13 sein

von micha (Gast)


Lesenswert?

daniel schrieb:
> gefordert ist eigentlich ne sinus spannung. soll eine LED ansteuern, bzw
> ist da ein transistor im schalterbetrieb eingebaut. die sinusspannung
> liegt dann an der basis an und steuert

Wozu denn das?? Bzw. Warum dann Sinus???? Ich denke mal Du willst die 
LED dimmen. Das geht mit reiner PWM (AN/AUS). Die (scheinbare) 
Helligkeit der LED ergibt sich durch die Trägheit des Auges. Schau dir 
in diesem Fall mal http://www.mikrocontroller.net/articles/LED-Fading 
an!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.