Sternenhimmel programieren

Hallo Leute,

Bin neu auf dem Gebiet des Programmierens.

Vielleicht kann mir einer von euch ja sagen wie ich mein Vorhaben realisieren kann.

Habe einen Arduino Uno Board. Es sind an den digitalen Pins jeweils 1 Led angeschlossen.

Jetzt möchte ich jeden einzelnen Pin ansteuern und die Leds automatisch dimmen und hochfahren lassen.

Einen kleinen Sketch habe ich auch schon geschrieben. Das Problem ist, dass ich jede Led einzeln ansteuern möchte, sodass z.B die Led1 schneller und intensiver gedimmt wird als die 2. Led.

Desweiteren soll das Programm erst gestartet werden, sobald eine 5V Spannung am analogen Pin anliegt.

Hier der Sketch:

int led1 = 3;
int brightness = 25;
int fadeAmount = 5;
int brightness2 = 20;
int led2 = 5;
int fadeAmount2 = 5;


void setup() {

 pinMode (led1, OUTPUT);
 pinMode (led2, OUTPUT);
}

void loop() {

 analogWrite (led1, brightness);
 analogWrite (led2, brightness2);
 


 brightness = brightness + fadeAmount;




 if (brightness == 25 || brightness == 255) {
   fadeAmount = -fadeAmount ;


    brightness2 = brightness2 + fadeAmount2;

 if (brightness2 == 20 || brightness2 == 255) {
    (fadeAmount2 ) = -fadeAmount2 ;
   
 }
  }
 delay(100);
 
}

Wie kann ich das erreichen?

Bin wirklich absolouter Neuling und würde mich freuen wenn mir jemand helfen kann.

Danke schonmal im Vorraus

Hi

Bei zwei LEDs wird Das noch nicht sonderlich ins Gewicht fallen, aber: werfe delay() raus.
Suche dazu die Nachtwächter-Erklärung hier im Forum und/oder schaue Dir das Beispiel Blink_without_delay in der IDE an.

Deine Startbedingung (5V an Eingang) fragst Du nicht ab - somit wüsste ich auch nicht, weshalb der Arduino darauf warten sollte.

Wie viele LEDs sollen später an dem Arduino (welcher?) hängen?
Wie viel Strom brauchen Diese?
Wahrscheinlich kann der Arduino nicht alle LEDs gleichzeitig treiben - wenn im Programm ein Fehler auftritt und alle LEDs eingeschaltet würden, schmilzt Dir der Arduino - zumindest wird Er sehr heiß und kann zerstört werden.

MfG

Wenn ich in den echten Sternehimmel schaue, so sehe ich da sehr viele Sterne. Wenn ich dies mit den Pins eines Arduino vergleiche, so frage ich mich, wie Du damit einen Sternenhimmel zaubern willst.

Es wäre nett, wenn Du zwei bauen würdest, meine Frau wünscht sich auch einen :slight_smile:

Also es sollen insgesamt 8 Leds an das Board angeschlossen werden.

Es sind insgesamt ca. 120 mA bei ungefähr 3 Volt. Denkst du, dass würde das Bord verkraften?

Der Skript soll erst starten sobald die 5 V von der Innenraumbelechtung meines Autos an einen analogen Pin des Boards fließen? Geht das überhaupt? Und wie mache ich das genau?

An agmue:
An die Led´s kommen noch ungefähr 250 Lichtleiter, die dann einzeln an den Dachhimmel meines Autos befestigt werden. Hoffentlich kann mir hier einer mit dem Script helfen, dann erstelle ich hier mal ne genaue bebilderte Anleitung rein.

Hi

Je nach verwendetem µC sind 20mA pro Pin, 100mA pro Port und 200mA pro Chip möglich.
(Im Datenblatt nachlesen)
Mit Deinen 15mA/LED wären in diesem Beispiel maximal 6 an einem Port möglich, wobei es nicht schadet, wenn man von dem Max-Wert 'ein Stück weg bleibt'.

Versorgung des Arduino vom KFZ-Netz aus?
Während der Fahrt? Schutzbeschaltung eingeplant?
Innenraumbeleuchtung - Diese darf nicht von Außen sichtbar sein, da sonst andere Verkehrsteilnehmer irritiert werden könnten - die Exekutive könnte sich recht schnell dafür interessieren.
Müsste also bei Fahrt eh aus sein - somit könnte man den Arduino während laufendem Motor komplett abklemmen - würde direkt die Schutzbeschaltung entfallen lassen, da Du bei stehendem Motor ein wesentlich saubereres Bordnetz hast.

MfG

sonert:
Also es sollen insgesamt 8 Leds an das Board angeschlossen werden.

Beim UNO sehe ich nur 6 PWM Pins für analogWrite.

An den Arduino lassen sich auch ICs anschließen, die PWM machen.

sonert:
An die Led´s kommen noch ungefähr 250 Lichtleiter, ...

Reicht da eine LED von 15 mA aus? Sonst Arduino-Ausgang -> MOSFET -> PowerLED

Danke erstmal für die Antwort.

Das Board wird aus dem Schaltkasten aus mit einer 10 A Sicherung versorgt.
Ich habe bei mir noch einen freien Steckplatz im Schaltkasten gefunden welches nicht verwendet wird.

Von außen werden die Leuchten denke ich mal nicht sichtbar sein. So hell leuchten die Leds nicht.

Der Rolce Royce hat ja auch so eine ähnliche Beleuchtung im Himmel. Von daher denke ich das es noch im legalen Rahmen ist. Ich erkundige mich da aber noch einmal. Ansonsten mache ich einen Schalter zwischen Schaltkasten und Board. Wie müsste ich den Programmieren, dass das Board erst die Leds einschaltet wenn eben diese 5 V an dem analogen Pin anlegen?
Kann das Board eigentlich die Stromschwankung im Bordnetz ausgleichen?

Hi

Die normalen Schwankungen sind dem Arduino egal.
Aber die Elektronik im Allgemeinen ist nicht darauf ausgelegt, SPannungsimpulse von mehreren 100V zu verkraften.
Jeder schaltende Relais-Kontakt produziert Störungen, die Zündung ununterbrochen, die Pumpe der Scheibenwaschanlage hört man sogar im Radio.
Das Alles musst Du vom Arduino abschirmen.
dse-faq, KFZ-Bordnetz
Den Spannungseinbruch beim Starten oder die Ladeschlußspannung der Lichtmaschine sind hier unerheblich, Das kann der Arduino mit an Sicherheit grenzender Wahrscheinlichkeit problemlos ab.

MfG

sonert:
Kann das Board eigentlich die Stromschwankung im Bordnetz ausgleichen?

Nein, auch nicht eventuelle Spannungsspitzen, es sind saubere 5 V verlangt.

sonert:
Der Skript soll erst starten sobald die 5 V von der Innenraumbelechtung meines Autos an einen analogen Pin des Boards fließen? Geht das überhaupt? Und wie mache ich das genau?

if(analogRead(A0) > 1000)
{
  // tu was
}

Arduino könntest Du zusammen mit der Innenbeleuchtung versorgen. Ansonsten tuts auch ein digitaler Eingang. Aber dimmt die Innenbeleuchtung vieleicht langsam hoch und runter? Das muß berücksichtigt werden

sonert:
Also es sollen insgesamt 8 Leds an das Board angeschlossen werden.
Es sind insgesamt ca. 120 mA bei ungefähr 3 Volt. Denkst du, dass würde das Bord verkraften?

LED werden mit Strom gesteuert und nicht mit Spannung. Deswegen ist mir Dein Satz suspekt.

Grüße Uwe