Ohm Rechner in JavaScript aber was bedeutet Power?

X

Xyz1

Gast
Endlich hats geklappt, nachdem ich es an Linux angeschlossen hatte, fragt mich aber nicht wieso....

12397

12398

Mit dem pots kann ich den Wert lesen und die Helligkeit ändern. Weihnachtlich oder? (nicht wundern, + ist ground)
 
X

Xyz1

Gast
mihe7, ich glaube es gibt einen Konflikt mit meiner Cygwin Installation und da speziell mit geteilten Libraries. :(
 
X

Xyz1

Gast
Noch eine Frage.... Nach dem Code aus dem Internet soll der pots Werte zwischen 0-1024 liefern, allerdings liefert er bei mir Werte zwischen 0-4096 (mit diesen Werten habe ich die map-Funktion aufgerufen). Kann es sein das der pots einen Vorwiderstand benötigt? Wie erwähnt, kein data/spec sheet dazu....
 
X

Xyz1

Gast
Sidefact: Es ist lustig, lang wohl an Windows/Cygwin nicht am USB Anschluss denn in einer VM kann ich ihn flashen....
 

mihe7

Top Contributor
Nach dem Code aus dem Internet soll der pots Werte zwischen 0-1024 liefern, allerdings liefert er bei mir Werte zwischen 0-4096 (mit diesen Werten habe ich die map-Funktion aufgerufen). Kann es sein das der pots einen Vorwiderstand benötigt? Wie erwähnt, kein data/spec sheet dazu....
Die Erklärung dürfte ganz einfach die sein, dass der Arduino lt. https://www.arduino.cc/reference/en/language/functions/analog-io/analogread/ einen 10-Bit ADC hat, während Dein Board lt. Datenblatt über einen 12-Bit ADC verfügt.
 

White_Fox

Top Contributor
Aber: wo ist @White_Fox ?

Da ist man nur mal ein einziges Wochenende weg... :(

@Tobias: Betreibe die LEDs lieber mit Vorwiderstand, und zwar EIN Widerling PRO LED.
Bei deiner jetzigen Konstruktion hast du eigentlich keine Kontrolle mehr, in welcher LED jetzt zuviel Strom fließt, die rote dürfte als erste über den Jordan gehen. Alle deine LEDs haben unterschiedliche Vorwärtsspannungen -> unterschiedliche Stromaufnahme.
Zudem haben LEDs einen negativen Temperaturkoeffizienten, d.h. wenn sie warm werden, dann sinkt der differentielle Widerstand nochmal. Das führt zu mehr Strom -> mehr Wärme -> Widerstand sinkt -> ...
Aber darauf wollte termi dich schon hinweisen.

Im Übrigen dimmt man LEDs per PWM. Pulsweitenmodulation. Nicht über den Strom.
 

White_Fox

Top Contributor
Das Potentiometer ist in diesem Fall der Vorwiderstand, andere Widerstände sehe ich auf deinem Foto nicht.

Die LEDs sind gar nicht an +3.3 V angeschlossen...
Ja, woran denn dann? Es macht keinen Unterschied ob die an 3,3V oder an GND zusammenlaufen, am Ende kommt es auf dasselbe raus: Ungleichmäßige Stromverteilung in den Strängen, und daraus folgend eine thermische Mitkopplung.
 

White_Fox

Top Contributor
PWM heißt doch nur, Ein- oder Auszuschalten. Das sagt nichts darüber aus, an welcher Spannung die LEDs verdrahtet sind, ob in Reihe oder parallel, ... und da hab ich eher auf dein Bild Bezug genommen.

Aber ja, das mihe7 PWM schonmal erwähnt hat, hab ich wohl überlesen, tut mir leid. Es wird höchste Zeit daß das Wochenende anfängt...

Und was meinst du mit Pots...ich denke immer, du hast ein 'r' vergessen und meinst Port, den Port(Pin) vom Mikrocontroller. Aber wahrscheinlich meinst du das Poti...? Wenn ja: Dem Poti ist die Spannung in gewisser Weise egal, es verträgt nur eine maximale Verlustleistung, bzw. einen maximalen Strom. Die kannst du errechnen, und hängt von der Potieinstellung sowie dem ab, was da noch angeschlossen ist. Deswegen ist Angabe einer Spannung meist ein bisschen witzlos.
 
X

Xyz1

Gast
Du hast das immernoch nicht ganz gelesen und widersprichst Dir auch etwas, wenn Du erst dimmen schreibst und dann ein/ausschalten.
Außerdem die - -Leiste ist hierbei +3.3V. Die +-Leiste gnd.
Die LEDs sind gefärbt, aber erzeugen nicht rotes, gelbes, grünes usw. Licht.
 

mihe7

Top Contributor
Da ist man nur mal ein einziges Wochenende weg... :(
Das scheint ein Naturgesetz zu sein. Kaum hat man den Fuß zur Tür hinaus gestellt, wird der Ruf laut :)

Also kein Widerstand? o_O
Das habe ich ganz übersehen und bin verwirrt: was hat die Auflösung des ADCs mit dem Widerstand zu tun?

wenn Du erst dimmen schreibst und dann ein/ausschalten.
Naja, LEDs schaltet man schnell ein und aus. Je länger aus, desto dunkel :)

Die LEDs ohne Widerstand direkt an PWM anzuschließen, halte ich für keine gute Idee. Das kann Dir @White_Fox sicher besser und korrekt erklären. Ich mache mir die Sache recht einfach: Halbleiter haben für mich praktisch keinen Widerstand, an ihnen fällt lediglich Spannung ab. Wenn der Widerstand gegen 0 geht, wird der Strom nicht begrenzt (I=U/R, also I->unendlich für R->0), was dazu führt, dass das Bauteil ruck-zuck über den Jordan geht. Die Widerstände dienen einfach dazu, den Strom zu begrenzen.

D. h. wenn Du an Deinen PWM-Ausgang einen Halbleiter ohne Widerstand anschließt, ist das praktisch ein Kurzschluss und entweder die LED oder Dein Controller (oder beides) geben den Geist auf :) Das ist nur meine Annahme, ob es tatsächlich so ist: KA. Dieses Elektronikzeug... Ich könnte mir auch vorstellen, dass die Frequenz eine Art Widerstand erzeugt aber wie gesagt: KA.
 
K

kneitzel

Gast
Die LEDs sind gefärbt, aber erzeugen nicht rotes, gelbes, grünes usw. Licht.
Doch, die LEDs erzeugen direkt Licht in der gewünschten Wellenlänge. Einzige Ausnahme können weisse LEDs sein, bei denen das erzeugte Licht von einer Phosphorverbindung aufgenommen und in langwellige dem Licht unterschiedlicher Wellenlängen wieder ausgegeben wird.

Aber das findet sich alles im Netz deutlich besser beschrieben z.B. auf https://www.led.de/led-funktionsweise
 

White_Fox

Top Contributor
Du hast das immernoch nicht ganz gelesen und widersprichst Dir auch etwas, wenn Du erst dimmen schreibst und dann ein/ausschalten.
Außerdem die - -Leiste ist hierbei +3.3V. Die +-Leiste gnd.
Die LEDs sind gefärbt, aber erzeugen nicht rotes, gelbes, grünes usw. Licht.
mihe7 vereinfacht zwar grob fahrlässig, aber im Kern hat er Recht: Das schnelle Ein-Ausschalten (mit mehreren kHz) sieht für dein Auge wie gleichmäßig gedimmt aus. Hättest du die Augen einer Fliege, hättest du ein Stroboskop gebaut.

Und wie ich schon sagte: Es ist wirklich völlig egal, was an den Leisten steht: Faktisch schaltest du die LEDs, bis auf das gemeinsame Poti, nackt an 3,3V. Das mögen LEDs nicht ewig.
 
X

Xyz1

Gast
Also nochmal, die 5 LEDs sind an die 5 pwm Pins/Ausgänge des mc angeschlossen. Ich weiß nicht, mit wie viel V. Aber sie leuchten verhältnismäßig dunkel. Zudem hatte ich sie gestern mehrere Stunden laufen.
Ich dimme sie mit
digitalWrite(LedPort, value);
wobei value zwischen 0 (aus) und 255 (sehr sehr hell).
Den Wert des Potentiometer lese ich mit
int val = analogRead(potsPort);
val = map(val, 0, 4096, 0, 255);

Vereinfacht gesagt, verstehe ich die Funktionsweise von digitalRead und analogRead noch nicht.

Laufen denn die LEDs oder das Potentiometer überlastet?
 
K

kneitzel

Gast
Also zum Verständnis der pwm Ausgänge ist dies hier vielleicht hilfreich:

Dann ist das Verständnis von Dioden wichtig:
Dioden haben keinen Widerstand, der über das Ohmsche Gesetz berechnet werden könnte.
 

temi

Top Contributor
Also nochmal, die 5 LEDs sind an die 5 pwm Pins/Ausgänge des mc angeschlossen. Ich weiß nicht, mit wie viel V.

Na ganz einfach mit der Betriebsspannung des IC, also 3,3V.

Es wurde schon mehrfach erwähnt, bzw. es gibt auch einen Link dazu, PWM = Pulsweitenmodulation. Das heißt einfach, das du das Verhältnis zwischen Einschalt- und Ausschaltphase veränderst. Je kürzer die Einschaltphase (in einer "Schwingung", bei PWM gibt es auch eine Frequenz) desto niedriger ist die durchschnittliche Leistung über die Schwingung betrachtet. Bei 50% liegen demnach eine halbe Schwingung 3,3 V an der LED an und die andere halbe Schwingung 0 V.

255 (sehr sehr hell)

Vermutlich ist 255 = 100%, d.h. die LED wird für die gesamte Schwingung mit 3,3 V betrieben.
 
X

Xyz1

Gast
Danke, dort wird es super erklärt. Dann erzeugt der Pin mit digitalWrite ein Rechteck Signal mit einer On-Time mit vollen 5V. analogWrite würde über einen gegeben Zeitraum bis zum nächsten analogWrite volle 5V erzeugen. In der Abb. ist auch zu sehen, das an die LED ein Vorwiderstand angeschlossen ist.
 
X

Xyz1

Gast
Nur Boards mit einem echten digital-analog-Wandler können die Spannung reduzieren...

Fragt sich nur wieso die LEDs noch alle funktionieren.
 
K

kneitzel

Gast
Nur Boards mit einem echten digital-analog-Wandler können die Spannung reduzieren...

Fragt sich nur wieso die LEDs noch alle funktionieren.
Die Ausgänge haben zum eigenen Schutz in der Regel auch Widerstände. Wenn sich die Leute ständig die Boards zerhauen würden, nur weil sie ein Kabel falsch angeschlossen hätten, würden sich sonst ärgern und die ganzen Bastelsysteme hätten sich so nie durchsetzen können. (Die Transistoren / ICs der Boards mögen so höhere Ströme ebenso wenig wie Deine LEDs.)

Wenn Du also mehr Leistung haben willst aus einem Ausgang, dann musst Du Dir dafür selbst eine entsprechende Ansteuerung schreiben z.B. mit entsprechenden Leistungs-(MOS)FETs und so.
 
K

kneitzel

Gast
Evtl. hilft dies bei der RWTH Aachen: https://www.medit.hia.rwth-aachen.de/fileadmin/MSP430Buch/msp_html_buchse8.html

Da wird beschrieben, wie so Ausgänge regelgerecht betrieben werden (sprich: Spezifikation wird genommen und dann wird darauf aufbauend alles beschrieben.

Bezüglich meiner Aussage zu dem Schutz der Ausgänge konnte ich jetzt aber auf Anhieb nichts finden. Kann also sein, dass RasPi und Adruino diesbezüglich nichts haben und ich da einfach etwas durcheinander gebracht habe (Vorlesung Technische Informatik ist schon etwas länger her bei mir und kann sein, dass ich da dann jetzt etwas nicht ganz korrekt in Erinnerung habe oder dass sich da Änderungen ergeben haben im Doing.)

Aber bei der RWTH wird dort erläutert, wie man den Ausgang ansprechen kann entweder innerhalb der vorgegebenen Leistungsgrenzen (Dein Beispiel mit LED incl. Berechnung des korrekten Widerstandes) bis hin zu Leistungsstufen.
 

White_Fox

Top Contributor
Vereinfacht gesagt, verstehe ich die Funktionsweise von digitalRead und analogRead noch nicht.
Der ADC liefert eine Ganzzahl zurück, das Ganze funktioniert folgendermaßen:
1. Der ADC vergleicht die zu messende Spannung mit einer Referenzspannung, diese mußt du wissen. Das kann die Betriebsspannung sein, manche ADCs stellen intern eine kalibrierte Referenzspannung zur Verfügung, und in der Regel kann man außen eine eigene Referenzspannung anlegen. Wie das bei dir gehandhabt wird, steht im Datenblatt von Chip und Board.

2. Die Referenzspannung stellt sozusagen das obere Ende des Meßbereichs dar. Der Bereich zwischen 0V und der Referenzspannung wird in lauter etwa gleichgroße Teilbereiche zerlegt, die Anzahl der Teilbereiche entspricht der Auflösung des ADCs. Die Ganzzahl, die der ADC liefert, entspricht dann dem Teilbereich. In eine Formel gegossen: Eingangsspannung = (Wandlungsergebnis / Auflösung) * Referenzspannung.


Hmm... für grobe Fahrlässigkeit müsste ich es besser wissen (können), was nicht der Fall ist :)
Die Aussage, daß Halbleiter keinen Widerstand hätten, ist etwas irreführend: LEDs haben einen differentiellen Widerstand, eine Funktion mit Temperatur und angelegter Spannung als Eingangsparameter (und sicher noch ein paar weiteren).
Theoretisch (aber nur theoretisch) könnte man schon eine Spannung so einstellen, daß nur der gewünschte Strom fließt.

Tatsächlich ist es so, daß die Differentielle-Widerstandsfunktion (e-funtionsartig) so blöd verläuft, daß relativ geringe Spannungsschwankungen und Ungenauigkeiten, die es ja immer gibt, zu relativ hohen Stromänderungen führen.
Deine Erklärung (HL mit 0Ω trotz Spannungsfall annehmen und einen Widerstand über gewünschten Strom und verbleibende Restspannung auslegen) führt immerhin zum richtigen Ergebnis.

Nur: Anfänger probieren es halt trotzdem anders und stellen fest: funktioniert trotzdem (zumindest vorläufig), und ziehen daraus die falschen Schlüsse (alles Quatsch, was die Großen da sagen).
 
X

Xyz1

Gast
Also wer möchte kann sich das mal ansehen ich habe noch einen Temp and Humi Sensor (DHT11) angeschlossen:
C:
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>

int pins[] = {
    PF_2, PF_3, PB_3, PC_4, PC_5};

DHT_Unified dht(PE_4, DHT11);

int potValue;
float t, h;
int t1, t2, h1, h2;

void setup()
{
  // put your setup code here, to run once:
  pinMode(PF_2, OUTPUT);
  pinMode(PF_3, OUTPUT);
  pinMode(PB_3, OUTPUT);
  pinMode(PC_4, OUTPUT);
  pinMode(PC_5, OUTPUT);
  pinMode(A11, INPUT);
  Serial.begin(9600);

  dht.begin();
  // Print temperature sensor details.
  sensor_t sensor;
  dht.temperature().getSensor(&sensor);
  Serial.println(F("------------------------------------"));
  Serial.println(F("Temperature Sensor"));
  Serial.print(F("Sensor Type: "));
  Serial.println(sensor.name);
  Serial.print(F("Driver Ver:  "));
  Serial.println(sensor.version);
  Serial.print(F("Unique ID:   "));
  Serial.println(sensor.sensor_id);
  Serial.print(F("Max Value:   "));
  Serial.print(sensor.max_value);
  Serial.println(F("°C"));
  Serial.print(F("Min Value:   "));
  Serial.print(sensor.min_value);
  Serial.println(F("°C"));
  Serial.print(F("Resolution:  "));
  Serial.print(sensor.resolution);
  Serial.println(F("°C"));
  Serial.println(F("------------------------------------"));
  // Print humidity sensor details.
  dht.humidity().getSensor(&sensor);
  Serial.println(F("Humidity Sensor"));
  Serial.print(F("Sensor Type: "));
  Serial.println(sensor.name);
  Serial.print(F("Driver Ver:  "));
  Serial.println(sensor.version);
  Serial.print(F("Unique ID:   "));
  Serial.println(sensor.sensor_id);
  Serial.print(F("Max Value:   "));
  Serial.print(sensor.max_value);
  Serial.println(F("%"));
  Serial.print(F("Min Value:   "));
  Serial.print(sensor.min_value);
  Serial.println(F("%"));
  Serial.print(F("Resolution:  "));
  Serial.print(sensor.resolution);
  Serial.println(F("%"));
  Serial.println(F("------------------------------------"));
}

void readpots()
{
  potValue = analogRead(A11);
  potValue = map(potValue, 0, 4096, 0, 255);
  // Serial.println(potValue);
}

void readtempandhumi()
{
  sensors_event_t event;
  dht.temperature().getEvent(&event);
  t = event.temperature;
  dht.humidity().getEvent(&event);
  h = event.relative_humidity;

  t1 = (int)t;
  t2 = ((int)(t * 10)) % 10;
  h1 = (int)h;
  h2 = ((int)(h * 10)) % 10;
  Serial.print(t1);
  Serial.print(" ");
  Serial.print(t2);
  Serial.print("   ");
  Serial.print(h1);
  Serial.print(" ");
  Serial.println(h2);
}

void loop()
{
  // pins
  readpots();
  for (int i = 0; i < 5; i++)
  {
    analogWrite(pins[i], potValue);
  }
  delay(10000);
  readtempandhumi();
  readpots();
  // temp
  for (int i = 0; i < 5; i++)
  {
    if (t1 & (1 << i))
    {
      analogWrite(pins[i], potValue);
    }
    else
    {
      analogWrite(pins[i], 0);
    }
  }
  delay(10000);
  readpots();
  for (int i = 0; i < 5; i++)
  {
    if (t2 & (1 << i))
    {
      analogWrite(pins[i], potValue);
    }
    else
    {
      analogWrite(pins[i], 0);
    }
  }
  delay(10000);
  readpots();
  // humi
  for (int i = 0; i < 5; i++)
  {
    if ((h1 - 40) & (1 << i))
    {
      analogWrite(pins[i], potValue);
    }
    else
    {
      analogWrite(pins[i], 0);
    }
  }
  delay(10000);
}
 

mihe7

Top Contributor
LEDs haben einen differentiellen Widerstand, eine Funktion mit Temperatur und angelegter Spannung als Eingangsparameter (und sicher noch ein paar weiteren).
Ah, verstehe, wobei... Dieses Halbleitergedöns ist echt strange.

Nehmen wir mal an, wir könnten Spannung/Strom einer LED konstant halten, also z. B. 2 V/20 mA. Würde das dann nicht bedeuten, dass man die LED mit einem "Ersatzwiderstand" von 100 Ohm darstellen könnte, so dass bei direktem Betrieb unter 2 V die LED selbst den Strom auf 20 mA begrenzen würde?

Was anderes: wenn ich das richtig lese (Google hilft :)), könnte man eine Diode in Sperrichtung über der Durchbruchspannung betreiben, wenn man den Strom begrenzt. Aber wozu sollte man das tun? Um Überspannungen abzufedern?
 
X

Xyz1

Gast
Hier nochmal in Schön:
C:
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>

int pins[] = {
  PF_2, PF_3, PB_3, PC_4, PC_5
};

DHT_Unified dht(PA_5, DHT11);

int potValue;
float t, h;
int t1, t2, h1, h2;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);

  pinMode(PF_2, OUTPUT);
  pinMode(PF_3, OUTPUT);
  pinMode(PB_3, OUTPUT);
  pinMode(PC_4, OUTPUT);
  pinMode(PC_5, OUTPUT);
  pinMode(A11, INPUT);
  // pinMode(PA_5, INPUT);

  dht.begin();
  // Print temperature sensor details.
  sensor_t sensor;
  dht.temperature().getSensor(&sensor);
  Serial.println(F("------------------------------------"));
  Serial.println(F("Temperature Sensor"));
  Serial.print  (F("Sensor Type: ")); Serial.println(sensor.name);
  Serial.print  (F("Driver Ver:  ")); Serial.println(sensor.version);
  Serial.print  (F("Unique ID:   ")); Serial.println(sensor.sensor_id);
  Serial.print  (F("Max Value:   ")); Serial.print(sensor.max_value); Serial.println(F("°C"));
  Serial.print  (F("Min Value:   ")); Serial.print(sensor.min_value); Serial.println(F("°C"));
  Serial.print  (F("Resolution:  ")); Serial.print(sensor.resolution); Serial.println(F("°C"));
  Serial.println(F("------------------------------------"));
  // Print humidity sensor details.
  dht.humidity().getSensor(&sensor);
  Serial.println(F("Humidity Sensor"));
  Serial.print  (F("Sensor Type: ")); Serial.println(sensor.name);
  Serial.print  (F("Driver Ver:  ")); Serial.println(sensor.version);
  Serial.print  (F("Unique ID:   ")); Serial.println(sensor.sensor_id);
  Serial.print  (F("Max Value:   ")); Serial.print(sensor.max_value); Serial.println(F("%"));
  Serial.print  (F("Min Value:   ")); Serial.print(sensor.min_value); Serial.println(F("%"));
  Serial.print  (F("Resolution:  ")); Serial.print(sensor.resolution); Serial.println(F("%"));
  Serial.println(F("------------------------------------"));

  readtempandhumi();
}

void readpots() {
  potValue = analogRead(A11);
  potValue = map(potValue, 0, 4096, 0, 255);
  // Serial.println(potValue);
}

void readtempandhumi() {
  sensors_event_t event;
  dht.temperature().getEvent(&event);
  t = event.temperature;
  dht.humidity().getEvent(&event);
  h = event.relative_humidity;

  t1 = (int) t;
  t2 = ((int) (t * 10)) % 10;
  h1 = (int) h;
  h2 = ((int) (h * 10)) % 10;

  Serial.println(t);
  // Serial.println(h);
}

void blink(int v) {
  for (int i = 0; i < 5; i++) {
    if (v & (1 << i)) {
      analogWrite(pins[i], potValue);
    } else {
      analogWrite(pins[i], 0);
    }
  }
}

void longDelay(int v) {
  for (int i = 0; i < 10; i++) {
    readpots();
    blink(v);
    delay(500);
  }
}

void loop() {
  // pins
  longDelay(31);
  // temp
  readtempandhumi();
  longDelay(t1);
  longDelay(t2);
  // humi
  longDelay(h1 - 40);
}


mihe7 , ich unterbreche nur ungern den Monolog, aber muss ich nicht einfach nur 5mal 60 Ohms Vorwiderstände anschließen?
 

mihe7

Top Contributor
mihe7 , ich unterbreche nur ungern den Monolog, aber muss ich nicht einfach nur 5mal 60 Ohms Vorwiderstände anschließen?
Den "noch Monolog", so viel Zeit muss sein :) Du musst (solltest) vor jede LED den entsprechenden Vorwiderstand schalten. Wenn ich rechnerisch 65 Ohm brauche, würde ich allerdings lieber erstmal 80 oder sogar 100 Ohm verwenden. Das Zeug muss ja nicht maximal hell leuchten.
 

White_Fox

Top Contributor
Nehmen wir mal an, wir könnten Spannung/Strom einer LED konstant halten, also z. B. 2 V/20 mA. Würde das dann nicht bedeuten, dass man die LED mit einem "Ersatzwiderstand" von 100 Ohm darstellen könnte, so dass bei direktem Betrieb unter 2 V die LED selbst den Strom auf 20 mA begrenzen würde?
Ja, aber wie gesagt: theoretisch. Denn wenn die Spannung statt 2V z.B. 2,1V beträgt, steigt der Strom z.B. auf 23mA, was dann z.B. nur noch etwas über 90Ω sind. Und dann kommt ja noch die Temperaturabhängigkeit hinzu. Und die Exemplarstreuung nicht vergessen, kein Halbleiter ist wie der andere.

Aber: wenn du eine LED mit 25mA anstatt der 20mA aus den Absolute Maximum Ratings des Datenblatts betreibst, geht sie auch nicht sofort kaputt. Sie hält dann anstatt der möglichen 100.000 Betriebsstunden vielleicht nur noch 10.000. Oder 5.000, genau weiß das normalerweise niemand. Oft fallen die auch nicht schlagartig aus, sondern liefern immer weniger Licht.

Ich hab mal die LEDs einer LCD-Hintergrundbeleuchtung mit 15V betrieben (eigentlich sollten es max. 5V sein), mit einem Netzteil das auch 10A liefern konnte. Ich glaube, in der Spitze flossen da 1A oder 2A durch die LEDs, und die sind nicht schlagartig kaputt gegangen. Sie wurden nur immer schwächer, wechselten ihre Farbe von grün nach amber und orange, aber bis die wirklich kaputt waren hat das bestimmt 20min gedauert. Ich weiß im Nachhinein gar nicht mehr genau, ob ich nicht sogar aufgegeben habe als sie nur noch schwach geglimmt haben oder ob die wirklich duster waren am Ende.


Was anderes: wenn ich das richtig lese (Google hilft :)), könnte man eine Diode in Sperrichtung über der Durchbruchspannung betreiben, wenn man den Strom begrenzt. Aber wozu sollte man das tun? Um Überspannungen abzufedern?
Ja, um Überspannungen zu begrenzen macht man sowas, dazu gibt es spezielle TVS-Dioden. Oder schau dir mal an, was man mit Zenerdioden macht. Bei LEDs sollte man sowas unterlassen, Sperrspannung deutlich über ihrer Durchlaßspannung mögen die gar nicht gerne. Sie sind halt auf andere Zwecke optimiert.
Kapazitätsdioden bereibt man übrigens auch in Sperrichtung (und erhält eine spannungsverstellbare Kapazität).
 
X

Xyz1

Gast
Wie sind eigentlich die Spezifikationen für einen USB 2/3 -Anschluss?

Oh - einfache Suche: https://gizmodo.com/can-i-use-the-same-charger-for-multiple-devices-510829339 :
"Thankfully, the advent of USB changed all that and has provided an easy, standardized platform for charging devices. All USB cords carry the same 5V, regardless of if it's got a 30-pin head or a microUSB plug, whether it's first-party or third."
 
Zuletzt bearbeitet von einem Moderator:
X

Xyz1

Gast
Habe noch eine Frage, darf ich fragen?

Möchte ein lcd Display anschließen und habe drei verschiedene Grafiken aus denen immer eine unterschiedliche Belegung hervorgeht....
 

White_Fox

Top Contributor
Habe noch eine Frage, darf ich fragen?
Was für eine Frage... ;)

Möchte ein lcd Display anschließen und habe drei verschiedene Grafiken aus denen immer eine unterschiedliche Belegung hervorgeht....
Was für ein LCD? Zu fast* jedem LCD gibt es ein Datenblatt. Was sagt es?

*LCDs, die billig verramscht werden, können auch schonmal ohne Datenblatt daherkommen. Meine ersten LCD-Versuche habe ich mit so einem billig-LCD gemacht. Und zwei Wochen damit zugebracht, das Teil zu reverse engineeren - in Assembler.
 
X

Xyz1

Gast
12402

12403

Was muss ich denn alles wo anschließen?
Untere Abb. db4 bis db7 sind nicht angeschlossen, obere Abb. db0 bis db3 sind nicht angeschlossen.
Wieso VSS an gnd und VDD an 5V - nicht umgekehrt?
Wieso sind die digitalen Eingänge/Ausgänge am Pwm angeschlossen?

Dann
C:
  LiquidCrystal(uint8_t rs, uint8_t enable,
        uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
        uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7);
  LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable,
        uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3,
        uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7);
  LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable,
        uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3);
  LiquidCrystal(uint8_t rs, uint8_t enable,
        uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3);

Welchen Konstruktor kann ich da nehmen?

Das Display (LCD1602) leuchtet jedenfalls nicht
 

White_Fox

Top Contributor
Wieso sind die digitalen Eingänge/Ausgänge am Pwm angeschlossen?
Der PWM-Ausgang KANN PWM liefern. Er kann aber auch als normaler I/O verwendet werden.

Ansonsten schau mal her:

Welchen Konstruktor kann ich da nehmen?
Keine Ahnung, vom Arduinogeraffel lass ich die Finger, das ist Teufelszeug.

Das Display (LCD1602) leuchtet jedenfalls nicht
Kontrast richtig eingestellt?
 

White_Fox

Top Contributor
Bis jetzt nicht, geht das nur mit Potentiometer?
Theoretisch geht es auch mit zwei Festwiderständen, aber das ist eher schlecht, gerade für Anfänger ist es hilfreicher, wenn man einfach mal rumdrehen und einen brauchbaren Kontrast suchen kann. Stell den Kontrast so ein, daß ganz leicht die Kästchen zu sehen sind wenn das LCD nichts anzeigt.
 

White_Fox

Top Contributor
Täuscht mich das Bild (Schematic) oder sind hier die 5V des Arduino direkt mit GND verbunden?!?
Nein, das ist korrekt (also das, was du schreibst, nicht der Schaltplan), sogar gleich an zwei Stellen.
Vor allem wird die Hintergrundbeleuchtung des LCDs ohne Vorwiderstand betrieben (das sind auch nur ein paar LEDs).

Die ganze Konstruktion ist einfach nur grausig, ich sag ja: Teufelszeug.
 
X

Xyz1

Gast
Theoretisch geht es auch mit zwei Festwiderständen, aber das ist eher schlecht, gerade für Anfänger ist es hilfreicher, wenn man einfach mal rumdrehen und einen brauchbaren Kontrast suchen kann. Stell den Kontrast so ein, daß ganz leicht die Kästchen zu sehen sind wenn das LCD nichts anzeigt.
Wie bekomm ich denn 5V auf 1V?

Aber egal was ich mache das Display bleibt dunkel... Ich habe erstmal genug davon...

Achso hier wäre der Code:
C:
#include<LiquidCrystal.h>

LiquidCrystal lcd(2, 3, 4, 5, 6, 7, 8);

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("helloo");
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("Halloo");
  delay(1000);
  lcd.setCursor(0, 1);
  lcd.print(millis() / 1000);
}
 

mihe7

Top Contributor
Vor allem wird die Hintergrundbeleuchtung des LCDs ohne Vorwiderstand betrieben (das sind auch nur ein paar LEDs).
Das lustige ist: "Falls eine Hintergrundbeleuchtung vorhanden ist. Bei einigen Modulen muss 5 V angelegt werden, bei anderen ist der Strom durch einen Vorwiderstand zu begrenzen." (https://de.wikipedia.org/wiki/HD44780)

Wieso sind die digitalen Eingänge/Ausgänge am Pwm angeschlossen?
Die Pins können verschiedene Funktionen übernehmen, je nachdem wie Du den AVR programmierst. Standardmäßig dürften sie als digitale Eingänge konfiguriert sein, müsstest Du im Datenblatt nachschauen. Für PWM werden sie als Ausgang konfiguriert und nach der PWM-Aktivierung von der Hardware (im Chip) ein- und ausgeschaltet.
 

mihe7

Top Contributor
Wie bekomm ich denn 5V auf 1V?
Im einfachsten (aber ineffizienten) Fall mittels Spannungsteiler. Achtung, Killergrafik:
Code:
+5V --------[R1]---*---[R2]---*--- GND
                   |          |
                   |          |
                    
                    <-- 1V -->

Der Widerstand R1 muss 4x so groß sein wie R2.

Rges = R1 + R2
Iges = 5V / Rges

Durch die Widerstände R1 und R2 fließt der Strom Iges. D. h. am Widerstand R1 fällt die Spannung U1 = R1 * Iges ab. U1 sollen 4V sein, also 4V = R1 * Iges <=> R1 = 4V/Iges und somit analog R2=1V/Iges
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Hilfe - Javascript geht auf meinem Rechner nicht. Angular, React, JQuery - Fragen zu JavaScript 2
C Rechner erstellen Angular, React, JQuery - Fragen zu JavaScript 58
D BMI Rechner mit fehler Angular, React, JQuery - Fragen zu JavaScript 3
M fetch - API - Probleme? JavaScript Angular, React, JQuery - Fragen zu JavaScript 3
M JavaScript - Fetch Probleme Angular, React, JQuery - Fragen zu JavaScript 0
M Fetch Probleme - JavaScript? Angular, React, JQuery - Fragen zu JavaScript 1
M JavaScript Hilfe dringend (v.2) Angular, React, JQuery - Fragen zu JavaScript 1
P Cypress Test mit javascript ergibt [object Undefined] Meldung Angular, React, JQuery - Fragen zu JavaScript 0
F Javascript Problem bei mehrere ID's Angular, React, JQuery - Fragen zu JavaScript 7
B JavaScript - Array mit Objekten anhand des Object-keys sortieren Angular, React, JQuery - Fragen zu JavaScript 2
I JavaScript: Array umgekehrt von vorn auffüllen Angular, React, JQuery - Fragen zu JavaScript 7
B Kommunikation zwischen Javascript und Java? Angular, React, JQuery - Fragen zu JavaScript 7
A Problem bei Sortierung von Rechnungsnummern mit JavaScript Angular, React, JQuery - Fragen zu JavaScript 1
B Besseres Arbeitsmanagement bei Javascript Programm? Angular, React, JQuery - Fragen zu JavaScript 19
I Fehler im JavaScript? Angular, React, JQuery - Fragen zu JavaScript 2
B Rich Text Editor With Javascript Angular, React, JQuery - Fragen zu JavaScript 1
B nodeJS JavaScript Object require Angular, React, JQuery - Fragen zu JavaScript 12
Aartiyadav Annotation in Javascript and Typescript Angular, React, JQuery - Fragen zu JavaScript 2
B Javascript Tutorial für DOM Manipulationen? Angular, React, JQuery - Fragen zu JavaScript 0
Q Mit JavaScript Daten aus einer Textdatei verarbeiten Angular, React, JQuery - Fragen zu JavaScript 2
H RegExp in Javascript String Angular, React, JQuery - Fragen zu JavaScript 1
B php Datei in JavaScript öffnen Angular, React, JQuery - Fragen zu JavaScript 9
M Einkaufswagen JavaScript Angular, React, JQuery - Fragen zu JavaScript 4
Zeppi Javascript JSON in ein Array Angular, React, JQuery - Fragen zu JavaScript 1
Cellsplitter Api auslesen und in Json Datei speichen - Javascript (node js) Angular, React, JQuery - Fragen zu JavaScript 10
B DOM Baum in JavaScript document.body.childNodes[1] Angular, React, JQuery - Fragen zu JavaScript 10
Noahscript [Frage]: Wie erstelle ich eine htmlspecialchars_decode mit JavaScript? Angular, React, JQuery - Fragen zu JavaScript 1
A Javascript validateInput Angular, React, JQuery - Fragen zu JavaScript 0
Zeppi Javascript URL als Link Angular, React, JQuery - Fragen zu JavaScript 2
T Javascript x-Axis fortlaufendes Datum eintragen Angular, React, JQuery - Fragen zu JavaScript 0
P Editor- mit javascript Sonderzeichen beim schreiben vorschlagen Angular, React, JQuery - Fragen zu JavaScript 0
Jose Merchan JavaScript and SEO Angular, React, JQuery - Fragen zu JavaScript 0
B JavaScript Button hinzufügen Angular, React, JQuery - Fragen zu JavaScript 2
A Ich habe eine frage zu JavaScript adblock detector? Wenn jemand auf OK Klick soll die Sete neu geladen werden Angular, React, JQuery - Fragen zu JavaScript 1
d.lumpi in javascript input erstellen Angular, React, JQuery - Fragen zu JavaScript 4
Martob282 Belegnummerierungsstempel mit JavaScript erstellen Angular, React, JQuery - Fragen zu JavaScript 34
N Javascript: mehrere Textfelder prüfen ob es sich um eine Zahl handelt und diese zwischen 1 und 49 liegt Angular, React, JQuery - Fragen zu JavaScript 10
S Javascript Canvas RadialGradient -> SVG Gradient Angular, React, JQuery - Fragen zu JavaScript 0
C JavaScript in Siri-Shortcuts zur Webseiten Bedienung Angular, React, JQuery - Fragen zu JavaScript 8
N TypeScript zu JavaScript Angular, React, JQuery - Fragen zu JavaScript 1
M Taste mit Javascript simulieren Angular, React, JQuery - Fragen zu JavaScript 6
B Rauch per Javascript auf Bild packen? Angular, React, JQuery - Fragen zu JavaScript 4
ruutaiokwu JavaScript in Angular 8-Anwendung verwenden Angular, React, JQuery - Fragen zu JavaScript 11
T Ich möchte einen Button mit JavaScript ausblenden Angular, React, JQuery - Fragen zu JavaScript 5
J Html Button mit JavaScript ausführen Angular, React, JQuery - Fragen zu JavaScript 5
L [JavaScript] Mehrere Variablen für Live-Suche in MySql-DB Angular, React, JQuery - Fragen zu JavaScript 0
D Java Tool um HTML und Javascript zu analysieren Angular, React, JQuery - Fragen zu JavaScript 3
P Hashes in JavaScript Angular, React, JQuery - Fragen zu JavaScript 7
P Zahlen in JavaScript Angular, React, JQuery - Fragen zu JavaScript 3
M Spalte verlinken mit JavaScript Angular, React, JQuery - Fragen zu JavaScript 9
P Angular vor JavaScript lernen? Angular, React, JQuery - Fragen zu JavaScript 1
S Unterstützung in Javascript Angular, React, JQuery - Fragen zu JavaScript 2
W Javascript + couchDB Angular, React, JQuery - Fragen zu JavaScript 2
T Grafische und tabellarische Datendarstellung mit JavaScript Angular, React, JQuery - Fragen zu JavaScript 2
E Javascript wenn Variable aktualisiert wird, dann prüfe Angular, React, JQuery - Fragen zu JavaScript 0
D Javascript um eine Seite in einem PDF Formular ein-/Ausblenden zu lassen Angular, React, JQuery - Fragen zu JavaScript 3
ARadauer JavaScript und replace... Angular, React, JQuery - Fragen zu JavaScript 1
P Richtiges Auslesen von mehreren Daten im JSON Format via JavaScript Angular, React, JQuery - Fragen zu JavaScript 2
n00b4u JavaScript Daten lokal Speichern Angular, React, JQuery - Fragen zu JavaScript 7
C per Javascript auf S4 nach Sensordaten fragen? Angular, React, JQuery - Fragen zu JavaScript 2
B Fehler im JavaScript Angular, React, JQuery - Fragen zu JavaScript 3
C In Wordpress unter Custom-Js mit Javascript den ursprünglichen Code deaktivieren Angular, React, JQuery - Fragen zu JavaScript 0
K Javascript "Bild mit Pfeiltasten automatisch bewegen" HILFE Angular, React, JQuery - Fragen zu JavaScript 0
M Javascript Höhe Angular, React, JQuery - Fragen zu JavaScript 2
N Problem - Google Analytics Tracking Javascript Datei von eigenen Server laden Angular, React, JQuery - Fragen zu JavaScript 1
C Javascript Image.getRGB(x,y) Angular, React, JQuery - Fragen zu JavaScript 1
K Proxy PAC File Javascript Angular, React, JQuery - Fragen zu JavaScript 2
F Von JavaScript "Spaghetticode" zu Backbone.js Angular, React, JQuery - Fragen zu JavaScript 0
H Javascript für wordpress "open new window" Angular, React, JQuery - Fragen zu JavaScript 1
F JavaScript replace funktion Angular, React, JQuery - Fragen zu JavaScript 1
T JavaScript Variable in Klasse ändern Angular, React, JQuery - Fragen zu JavaScript 2
N JavaScript für Touch Devices bei DropDown Menü Angular, React, JQuery - Fragen zu JavaScript 4
T Javascript - Polygon, wieviel % sind gefüllt Angular, React, JQuery - Fragen zu JavaScript 1
K JavaScript Banner Syntax Error Angular, React, JQuery - Fragen zu JavaScript 4
D JavaScript jTable Angular, React, JQuery - Fragen zu JavaScript 2
Fab1 [SUCHE] JavaScript Buch für Umsteiger Angular, React, JQuery - Fragen zu JavaScript 4
T html code per javascript einfügen Angular, React, JQuery - Fragen zu JavaScript 7
nrg RegExp Split \r\n in Javascript Angular, React, JQuery - Fragen zu JavaScript 5
J JavaScript und "import"? Angular, React, JQuery - Fragen zu JavaScript 10
B [Javascript] bytearray to file Angular, React, JQuery - Fragen zu JavaScript 2
L Javascript Maus Funktion Angular, React, JQuery - Fragen zu JavaScript 4
K JavaScript Kontaktformulare Angular, React, JQuery - Fragen zu JavaScript 2
B Javascript popup Angular, React, JQuery - Fragen zu JavaScript 5
D Sontag ? JavaScript fehler ? Angular, React, JQuery - Fragen zu JavaScript 12
L JavaScript for-Schleife Angular, React, JQuery - Fragen zu JavaScript 5
D Nachladen von JavaScript Angular, React, JQuery - Fragen zu JavaScript 7
F JSON Datei in JavaScript einbinden Angular, React, JQuery - Fragen zu JavaScript 1
F Node.js und JavaScript Angular, React, JQuery - Fragen zu JavaScript 3
Chris81T Java <> DWR <> JavaScript/HTML Angular, React, JQuery - Fragen zu JavaScript 2
F Hilfe Button mit Javascript Angular, React, JQuery - Fragen zu JavaScript 2
F Dropdownmenü für JavaScript Angular, React, JQuery - Fragen zu JavaScript 5
F [S] Hilfe beim JavaScript auf Homepage Angular, React, JQuery - Fragen zu JavaScript 4
M JavaScript Objekt .play .reload? Angular, React, JQuery - Fragen zu JavaScript 10
N warum kann ich kein javascript und css in mein html script einbinden Angular, React, JQuery - Fragen zu JavaScript 3
Gossi Frage zu Html (evtl. auch JavaScript?) Angular, React, JQuery - Fragen zu JavaScript 10
L JavaScript Array Angular, React, JQuery - Fragen zu JavaScript 4
C JavaScript: Adresszeile aulesen wenn, dann Angular, React, JQuery - Fragen zu JavaScript 6
C Daten von Java an Javascript übergeben möglich? Angular, React, JQuery - Fragen zu JavaScript 5
K JavaScript tooltip-Frage Angular, React, JQuery - Fragen zu JavaScript 8
P Javascript auf Website aufrufen Angular, React, JQuery - Fragen zu JavaScript 5

Ähnliche Java Themen

Neue Themen


Oben