Die Adafruit SSD1306
Vermute mal, das siehst du faslch. Die analogen Pins können nur analog lesen, aber kein PWM.
Nein, ich würde es so lassen. Die analogen Pins messen von 0 bis 1023, das heisst die Ausgabe einer Spannung ist ebenfalls von 0 bis 5V auf 0 bis 1023 aufgeteilt. Das macht einen Lüfter steuerbar.
Sehe ich das falsch, dass es gar keine PWM Steuerung ist? Es wird doch lediglich eine variable Spannung zur Ansteuerung ausgegeben an A3?!
Du bringst da etwas durcheinander.
AnalorWrite gibt den Wert für PWM an einem spez. digitalen Ausgang raus.
Das geht nicht am analogen Pin.
Sorry, hast Recht! Mein Fehler.
Das passt so, analog.write() gibt am digitalen Pin 3 die PWM Steuerung aus.
Also kann der Lüfter an D3 angeschlossen bleiben wenn ich das richtig verstanden habe. Und änder muss ich dies auch nicht im code.
Ja, alles so lassen, aber wie oben schon gesagt wurde, ist der wohl grösste Fehler im Diagramm der vertauschte Anschluss des Temperaturmoduls. VCC und GND sind vertauscht!
Und die i2c Adresse ändern!
Ja ist Richtig , nur meiner läuft ja zumindest mit einem anderen Code bekomme ich temperaturen ausgegeben auf dem Display. Also sind VCC und GND bei mir richtig angeschlossen. Werde noch die adresse vom Display ändern heute abend dann gebe ich euch ein rückmeldung.
Die Ansteuerung des Lüfters gefällt mir gar nicht. Da wird einerseits versucht eine analoge Regelung zu machen ( mit dem Filter R1 C1) dies wird aber durch den fehlenden Basiswiderstand zunichte gemacht. Falls da wirklch eine analoge Ansteuerung gewollt ist braucht der Transistor Q1 einen Kühlkörper.
DC Ventilatoren mögen es nicht gerne daß die Versorgungsspannung gepulst ist da der Lüfter eigentlich eine Bürstenloser Motor mit Elektronischer Ansteuerung ist. Das PWM bringt möglicherweise die elektronische Steuerung durcheinander.
Ich rate Dir zu einem 4 poligen PC Lüfter. Der hat einen PWM Eingang den Du direkt mit dem Arduino ansteuern kannst.
Auch ist dazu zu sagen daß Lüfter mit kleinen Spannungen schlecht anlaufen. Da ist es ratsam den Lüfter für einige Sekunden mit 100% anzusteuern und dann auf den gewünschten Wert herunterfahren.
Grüße Uwe
Unsinn wen bei analogWrite() analog stecht, bedeutet nicht das es Analoger Pin sein muss, analogWrite() erzeugt ein PWM Signal. Extra für dich.
@tomtom86 D3 ist schon OK
Nein analogWrite(Fan, FanSpeed);
ist schon OK. und so wie @uwefed schreibt raus mit dem Kondensator, eigentlich für solche zwecke ist MOSFET besser, -Muss aber LowLevel sein z.B. IRLZ44N
Also ich habe diese schalter an dem arduino. Fasizi 5 Stück FR120N MOS-MODUL MOSFET-Steuermodul Feldeffektmodul https://amzn.eu/d/j6HmAPe
Weiter habe ich 3 4 pin lüfter und 3 normale.
Der sollte tun was er soll ist besser als als der BD139, und drauf ist ein LowLevel MOSFET
Wenn du den 4Pin nimmst brauch man kein Transistor, Rot = VCC, Schwarz= GND, Blau PWM, Gelb ist Tacho-> wird nicht benutzt, außer du willst die RPM auslesen, was bei deinem Projekt nicht erforderlich ist.
Noch was mit dem DHT11 wirst du nicht Glücklich ist einfach nur Schrot, such dir was Anderes z.B HTU21, BMP 280, SHT21 sind aber I2C Module was nicht stört, am I2C können mehrere Dinger drauf sein ist ja ein Bus, einziger nachteil der darf nicht weit vom Nano sein max 30cm
Also alles richtig. Gut, werde heute abend mal testen.
Habe den DHT22 und noch einen anderen wenn nicht nehme ich den anderen wäre dad eine große änderung im code. Habe ja geschrieben das ich mich da schwer tue. Danke euch für die viele und schnelle hilfe
Bin auch noch junger Vogel dafür sind Beispiele da, auf den bauche ich danach meine Projekte, einziges wo ich mich schon einigermaßen gut eingearbeitet habe, sind Displays mit fast allen möglichen Libraries.
Dann verstehe ich nicht, warum du nicht in kleinen Schritten anfängst und lernst daran.
Z.B. erst den Sensor testen und am seriellen Monitor auslesen.
Dann das Display anschließen und einfachen Text ausgeben.
Danach beides zusammen schalten und zusammen testen.
Beides geht mit den Beispielen in der Library.
Und zum Schluss kommt der Lüfter.
Damit machst du es dir einfachen und lernst sogar etwas dabei.
Das ist das größte Problem bei fast allen Anfängern was noch nie mit Programmieren zu tun hatten --> alles auf einmal und sofort.
Wen man schon mal zB mit irgend einem BASIC (C64, Spektrum, Atari) zu tun gehabt hat geht das Denken in anderer Richtung, vor allem das die Funktionen, und Begriffe haben ähnlichen Nahmen
Ich sehe das Problem in den zahlreichen Videos und Beschreibungen im Web, die es vermeintlich einfach machen.
Ist ja alles dabei: Code, Bauteilliste und kurze Beschreibung was es machen kann.
Wir sehen ja leider immer wieder, das reicht meist nicht.
Zumal leider auch viel Müll im Web verbreitet wird.