Forum: Mikrocontroller und Digitale Elektronik PWM Lüfter parallel zum Code laufen lasssen


von Malaps (Gast)


Lesenswert?

Hallo zusammen,
und zwar möchte ich ein PWM gesteierten Computer Lüfter parallel zu 
meinen Hauptcode des Arduinos laufen lassen.
Der Lüfter soll mittels einer Transistor Schaltung per PWM angesteuert 
werden.
Das klappt alles. Der PWM pin ist zB PIN 2.
Wo müsste ich jetzt den Befehl analogWrite(2,115); für den Lüfter in den 
Code schreiben damit er unabhängig vom anderen Code nicht beeinflusst 
oder geprüft wird und die ganze Zeit mit dem Signal 115 läuft?



void setup() {
}

void loop() {

CODE…....…............…….…
}

MfG

von Karl M. (Gast)


Lesenswert?

Hallo,

also in meiner C Umgebung gibt es keine Procedure analogWrite(.,.);
Was ist das ?

von Christian S. (roehrenvorheizer)


Lesenswert?

Hallo,

den PWM code fügst Du vor loop ein. Der Timer läuft von alleine, wenn 
zuvor alles richtig initialisiert wurde.

MfG

von Malaps (Gast)


Lesenswert?

Natürlich gibt es

analogWrite(Gate,115);

für Gate kann man denn jeweiligen Pin einsetzen. Das funktioniert 
einwandfrei.

OK danke Christian also vor loop
Alles klar

MfG

von Rene K. (xdraconix)


Lesenswert?

Malaps schrieb:
> Natürlich gibt es
>
> analogWrite(Gate,115);
>
> für Gate kann man denn jeweiligen Pin einsetzen. Das funktioniert
> einwandfrei.
>
> OK danke Christian also vor loop
> Alles klar
>
> MfG

Das mag es vielleicht in Arduino geben, aber eine void function(void) 
ist nunmal eben eine Funktion in C. Wenn dann der Hilfesuchende zu 
erwähnen vergisst, das es sich bei seiner Umgebung um Arduino oder 
sonstwas handelt - kann sich kein Mensch denken.

Deswegen wird grundsätzlich von Plain C ausgegangen. Übrigens gibt es 
auch kein void loop oder void setup in C... Auch so nen Arduinogedöns...

von Malaps (Gast)


Lesenswert?

Ich habe geschrieben  das es sich um einen Arduino handelt, also müsste 
das doch ganz eindeutig sein das es sich hierbei um die Arduino 
prognammierungs Umgebung handelt.
Das wäre immerhin die nächst logische Rückfolgerung des menschlichen 
Denkens.

MfG

von Thomas E. (thomase)


Lesenswert?

Karl M. schrieb:
> also in meiner C Umgebung gibt es keine Procedure analogWrite(.,.);
> Was ist das ?

Rene K. schrieb:
> Das mag es vielleicht in Arduino geben, aber eine void function(void)
> ist nunmal eben eine Funktion in C. Wenn dann der Hilfesuchende zu
> erwähnen vergisst, das es sich bei seiner Umgebung um Arduino oder
> sonstwas handelt - kann sich kein Mensch denken

Was soll das Arduino Bashing?
Wenn er ihm nicht helfen wollt, dann lasst es einfach. Ihr seit einfach 
nur Stinkstiefel.

Malaps schrieb:
> meinen Hauptcode des Arduinos laufen lassen.

von Rene K. (xdraconix)


Lesenswert?

Wo hab ich denn bitte schön gegen Arduino gebasht, keineswegs.

von Martin H. (horo)


Lesenswert?

Thomas E. schrieb:
> Was soll das Arduino Bashing?

Fällt Dir nicht auch auf, dass gerade unter den Arduino-Anwendern viele 
Leute (sagen wir mal vorsichtig) seltsame Fragen stellen. Vielleicht 
sollte man erstmal das Laufen lernen, bevor man rennt.

von Wolfgang (Gast)


Lesenswert?

Karl M. schrieb:
> also in meiner C Umgebung gibt es keine Procedure analogWrite(.,.);

Die Funktion stammt aus dem Code des Arduino Frameworks, den du dann in 
deiner C Umgebung wohl nicht zur Verfügung hast - tut mir leid für dich.

Zum Glück findet Google die Beschreibung der Funktion und wirft sie als 
ersten Treffer aus:
https://www.arduino.cc/en/Reference/AnalogWrite

von Wolfgang (Gast)


Lesenswert?

Rene K. schrieb:
> Wenn dann der Hilfesuchende zu
> erwähnen vergisst, das es sich bei seiner Umgebung um Arduino oder
> sonstwas handelt - kann sich kein Mensch denken.

Was kann der TO für deine Schwäche beim Verständnis einfachster Texte?

Malaps schrieb:
> ... und zwar möchte ich ein PWM gesteierten Computer Lüfter parallel zu
> meinen Hauptcode des Arduinos laufen lassen.

von Thomas E. (thomase)


Lesenswert?

Martin H. schrieb:
> Fällt Dir nicht auch auf, dass gerade unter den Arduino-Anwendern viele
> Leute (sagen wir mal vorsichtig) seltsame Fragen stellen.

Wenn einer dumme Fragen stellt, das meintest du doch sicherlich mit 
seltsam, muß man doch nicht auch dumme Antworten geben, oder? Wenn man 
sich selbst nicht dazu herablassen kann, lässt man es einfach und 
überlässt es anderen.

von Stefan F. (Gast)


Lesenswert?

Du kannst deine Zeile in die setup() Funktion schreiben, dort wird sie 
nur einmal beim Programmstart aufgerufen. Das PWM Signal wird ab diesem 
Moment fortlaufend erzeugt, bis zu einen anderen "analogen" Wert 
ausgibst.

Ich möchte hier auch mal was zum Arduino Bashing sagen:

Wer in den letzten Jahren nicht völlig geschlafen hat, der hat 
inzwischen mitbekommen, dass das Arduino Framework trotz seiner 
technischen schwächen extrem populär geworden ist und das man Arduino 
Programme an den beiden Funktionen setup() und loop() erkennt.

Ja, man kann in Arduino stattdessen auch main() verwenden und man kann 
natürlich auch in anderen nicht-Arduino basierten Programmen seine 
Funktionen setup() und loop() nennen. Aber DAS wären aussergwöhnliche 
Sonderfälle.

Seid bitte so nett behandelt Arduino Nutzer nicht immer so von oben 
herab. Und nehmt zur Kenntnis, dass die Welt sich weiter dreht. Sonst 
landet ihr bald im Altersheim, wo ihr von den goldenen 80er Jahren 
plappern dürft.

> also in meiner C Umgebung gibt es keine Procedure analogWrite(.,.);
> Was ist das ?

Wenn du wirklich klug wärst, wie du tust, hättest du danach gegoogelt. 
Die gesamte erste Seite der Suchergebnisse bezieht sich ganz deutlich 
auf Arduino.

> Wenn dann der Hilfesuchende zu erwähnen vergisst, das es sich
> bei seiner Umgebung um Arduino oder
> sonstwas handelt - kann sich kein Mensch denken.

Er hat von "meinem Arduino" geschrieben. Reicht das nicht? Wenn ich 
"meinen Honda" fahre, ist auch klar, dass ich damit sehr wahrscheinlich 
ein Auto meine, nicht einen Rasenmäher. Es ist nicht nötig, sich 
absichtlich doof zu stellen, um mit diesem selbst konstruiertem völlig 
abwegigen Missverständnis andere zu beschimpfen.

> Was soll das Arduino Bashing?
> Wenn ihr ihm nicht helfen wollt, dann lasst es einfach. Ihr seit einfach
> nur Stinkstiefel.

Ja, sehe ich auch so.

> Fällt Dir nicht auch auf, dass gerade unter den Arduino-Anwendern
> viele Leute (sagen wir mal vorsichtig) seltsame Fragen stellen.

Na und? Freue Dich lieber darüber, dass das Programmieren dank Arduino 
für viele Leute attraktiv geworden ist, die sich sonst nicht damit 
beschäftigen würden. Selbst zahlreiche Regierungen der Welt haben 
festgestellt, dass dies der richtige Weg ist, um den wirtschaftlichen 
Anschluss nicht zu verpassen.

Übrigens: Auch in anderen Foren sind Laien unterwegs, die mit 
erschreckend wenig Fachwissen sogar gefährliche Dinge anfangen. Zum 
beispiel in Auto-Schrauber Foren.

So ein harmloser Arduino kann wenigstens niemandem ernsthaft weh tun.

von Nikolas (Gast)


Lesenswert?

Schreib das analogWrite(..) einfach in die setup()-Funktion. Dann wird 
der Arduino am entsprechenden Pin eine PWM mit entsprechendem 
Tastverhältnis erzeugen

von Johann Babl (Gast)


Lesenswert?

Hallo Stefan,

Danke für deine treffenden Worte zum "Arduino Bashing". Dem ist nichts 
mehr hinzuzufügen.

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.