Hi zusammen, ich suche einen Bauplan oder Ideen für nachstehende Idee: In meinem Computer werkelt seit kurzem eine Wasserkühlung. Ich dachte mir, die Wassertemperatur nicht nur durch einfache LCDs oder Programme abzulesen sondern optisch mit einer RGB LED oder einer blauen und roten LED darzustellen. Praktisch umgesetzt sollte es dann so ausschauen, dass ein RGB LED oder eben 2 einzelne eingesetzt werden und diese der Wassertemperatur entsprechend mit Strom versorgt werden. Je wärmer das Wasser je heller die rote und dunkler die blaue. In Umkehrrichtung entsprechend andersherum. Ist sowas generell im bezahlbaren Segment machbar oder braucht es dafür extrem aufwendige Schaltungen und teuer Bauteile?
Es gibt im Prinzip zwei Lösungsansätze: - Analog: Analoger Fühler, zwei OpAmps, einer mit positivem Ausgang für die rote LED, einer mit invertiertem Ausgang für die blaue LED. - Digital: Digitaler Temperaturfühler (z.B. DS1820), kleiner Microcontroller (z.B: ATTiny-Serie von AVR) und daran dann die LEDs anschließen. Ich wäre für die digitale Lösung, da man dann ganz einfach auch so Sachen wie z.B. blinkende LED als Warnhinweis ab einer bestimmten Temperatur oder irgendwelche Gimmicks beim booten machen kann. Bei Reichelt gibts so nette Bargraph-Anzeigen, z.B. die RGBG 1000, die hat 7 grüne LEDs und 3 rote LEDs, wie wäre es damit? Markus
Im großen und ganzen sollte es in einem Ausgleichsbehälter verbaut werden. Dort wären die beiden LEDs durch eine Linse ins Wasser leuchtend platziert und das Wasser würde ähnlich einem Infrarotbild entsprechend blau, blaurot gemischt und rot leuchten, nach Möglichkeit mit feiner Nuancierung. Ein OpAmp schaltet doch nur on/off oder sehe ich das falsch? Wichtig ist mir, dass je nach Temperatur zu Beginn die rote aus ist und je wärmer das Wasser wird, die Intensität der roten zu- und der blauen ab-nimmt und bei einem festen Wert die blaue gänzlich abschaltet. Praktisch gesehen wird folgendes Bauteil einer Wasserkühlung von innen ausgeleuchtet: http://www.aqua-computer-systeme.de/images/aquatube/1.jpg Das Bullauge ist vorn im Rechner zu sehen und dann einen netten Farbwechsel darin zu sehen je nach Temperaturwert wäre praktisch die Vollendung meiner Kühlung.
Noch ein Bild zur Verdeutlichung, lediglich mit grüner Ausleuchtung: http://www.aqua-computer-systeme.de/images/aquatube/10.jpg
Natürlich schaltet ein OP nicht nur einfach ON/OFF, dann wär es doch kein Analoges IC mehr, sondern ein Digitales! Man kann zwar einen OP auch so beschalten, dass er bei einem bestimmten Schwellwert voll aussteuert, aber das hängt nicht vom OP sondern von der äußeren Beschaltung ab.
Hi ATtiny12 plus einem Temperatursensor z.B. LM75 Kann ich dir entwickeln wenn du willst. Alles weitere per PM. Matthias
Ein MC (z.B ATTINY15) sollte es auf alle Fälle sein. Das Auge nimmt die Helligkeit nämlich logarithmisch war, d.h. um sichtbare Helligkeitsänderungen zu erzeugen, mußt Du sie logarithmisch abstufen und das geht am einfachsten mit einer Wertetabelle im MC. Nichtlineare Funktionen mit Analogrechnern macht heute keiner mehr, weil zu teuer. Als Sensor ist der DS18B20 (Transistorbauform) wesentlich besser zu montieren als der LM75 (SMD-IC). Peter
Hui, so langsam bin ich als blutiger Etechnik Amateur mit den Bezeichnungen überfordert. Offenbar scheinen die genannten Chips programmierbar zu sein. Was die einzelnen Bauteil leisten kann ich mir zwar aus Datenblättern entnehmen, aber die Umsetzung der Schaltung wird mich sicher überfordern. Wäre super wenn mir da einer Hilfestellung zu dem geplanten Projekt geben könnte. Zur Info: Das Wasser hat ein Temperaturspektrum von min. 10° C bis 60° C. Im Normalfall ist das Wasser beim starten des Rechners zimmerwarm, also um die 20° und steigt dann fortwährend im Betrieb nicht über 50° hinaus.
Hallo zusammen, ich studiere Wirtschaftsingenieurwesen und bin nun im dritten Semester. In der Uni habe ich ein Semester lang Elektrotechnik gehabt, jedoch kein Programmieren. Nun ist unser Dozent auf die Idee gekommen, wir könnten uns das Programmieren bis zum nächsten Semester ja mal eben selber beibringen und eine Wetterstation bauen... Meine Bauteile sind folgende: - Node MCU - DHT 22 - DS18B20 - MPL3115A2 - RGB LED Die Hardware ist so weit fertig und ich konnte mit der Arduino IDE (ja, viele finden die sch***e, mir bleibt derzeit aber nichts anderes über als vollkommen ahnungslose) bereits die Sensoren einzeln und mittlerweile auch gemeinsam auslesen. So weit so gut. Auch die Datenübertragung bzw. der Datenabruf über eine IP-Adresse klappt mittlerweile. Meine letzte Aufgabe ist nun: Die RGB-LED soll unter 18°C blau, über 22°C rot und dazwischen grün blinken. Mein Code ist grob ohne die anderen Sensoren folgender (kann sein, dass ich noch was beim Löschen vergessen habe): #include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 2 #define TEMPERATURE_PRECISION 9 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); DeviceAddress insideThermometer; void setup() { Serial.begin(115200); sensors.getAddress(insideThermometer, 0); sensors.setResolution(insideThermometer, TEMPERATURE_PRECISION); Wire.begin(); sensors.begin(); } void loop() { delay(500); sensors.requestTemperatures(); float tempC = sensors.getTempC(insideThermometer); Serial.print("Temperature(DS1820): "); Serial.print(tempC); Serial.println("*C "); } die RGB-LED zum blinken bekomme ich damit: int redPin = D5, greenPin = D6, bluePin = D8; void setup() { pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void loop() { digitalWrite(redPin, LOW); delay(500); digitalWrite(redPin, HIGH); delay(500); digitalWrite(greenPin, LOW); delay(500); digitalWrite(greenPin, HIGH); delay(500); digitalWrite(bluePin, LOW); delay(500); digitalWrite(bluePin, HIGH); delay(500); } Ich habe mein Glück versucht, die RGB-LED je nach Temperatur blinken zu lassen, aber es nicht geschafft.. Ich hoffe sehr, dass ihr mir helfen könnt! Ich danke euch bereits im Voraus und bitte auch noch einmal zu bedenken, dass ich eine absolute Anfängerin bin. Also bitte Verständnis dafür zeigen :) Liebe Grüße, Melina
Melinamell schrieb: > Meine letzte Aufgabe ist nun: > Die RGB-LED soll unter 18°C blau, über 22°C rot und dazwischen grün > blinken. > Mein Code ist grob ohne die anderen Sensoren folgender (kann sein, dass > ich noch was beim Löschen vergessen habe): > void loop() { > delay(500); > sensors.requestTemperatures(); > float tempC = sensors.getTempC(insideThermometer); > Serial.print("Temperature(DS1820): "); > Serial.print(tempC); > Serial.println("*C "); > } > void setup() { > [...] > void loop() { > digitalWrite(redPin, LOW); delay(500); > digitalWrite(redPin, HIGH); delay(500); > digitalWrite(greenPin, LOW); delay(500); > digitalWrite(greenPin, HIGH); delay(500); > digitalWrite(bluePin, LOW); delay(500); > digitalWrite(bluePin, HIGH); delay(500); > } > > void setup() { > [...] Wieso hast Du zweimal loop() und zweimal setup()? > Ich habe mein Glück versucht, die RGB-LED je nach Temperatur blinken zu > lassen, aber es nicht geschafft.. Ich hoffe sehr, dass ihr mir helfen > könnt! > Ich danke euch bereits im Voraus und bitte auch noch einmal zu bedenken, > dass ich eine absolute Anfängerin bin. Also bitte Verständnis dafür > zeigen :) Ich frage mich gerade, wo da nun konkret Dein Problem liegen könnte - das erwähnst Du leider nicht. Denn dem Code-Fragment nach zu schliessen hast Du es ja bereits geschafft, die RGB-LED in rot, grün und blau blinken zu lassen; weiterhin hast Du es offenbar bereits geschafft, die aktuelle Temperatur als float-Wert auszulesen. Wo also liegt Dein Problem, ist Dir die "if"-Anweisung schlicht unbekannt?
Joachim S. schrieb: > Wo also liegt Dein Problem Er wollte einfach mal was an einen 14 Jahre alten Thread anhängen!?
Melinamell schrieb: > Die Hardware ist so weit fertig und > ich konnte mit der Arduino IDE > bereits die Sensoren einzeln und > mittlerweile auch gemeinsam auslesen. > So weit so gut. Auch die Datenübertragung bzw. der > Datenabruf über eine IP-Adresse klappt mittlerweile. Damit bist Du schon erheblich weiter als die Masse der Fragesteller hier - klingt gut. > [Arduino IDE] > (ja, viele finden die sch***e, mir bleibt derzeit > aber nichts anderes über als vollkommen ahnungslose) Die sind doof, Arduino hat seine Berechtigung und es ist keine Schande, das zu benutzen. Du hast Meßwerte, ein paar Abfragen "if temperatur größer als gehe zu Unterprogramm rot" bekommst Du sicher auch hin? Implementiere dabei eine Hysterese: If größer 22° Rot ein, aber erst if kleiner 21,5° blinken, sonst flattert die Umschaltung im Grenzbereich. Für solche Spielereien (Übung) hatte ich mir ein Drehpoti an einen Analogpin gehängt und meine LEDs damit durchgespielt. Ohne Deine Software im Detail zu begucken: Die "delay" sind kritisch, weil während dieser Zeit nichts anderes getan werden kann. Suche mal im Internet nach "Arduino Blink ohne delay".
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.