Arduino Mega - Output Fragen

vor 31 weeks 5 days von CojaX

Hallo,

bin neu im Reich der Arduino's.

Habe heute ein DFRobot Mega bekommen, ein Clon vom Arduino Mega 1280.

Der Board kommuniziert schon mit meinem Windows 7, habe auch schon bissl LED's zum leuchten gebracht.

Würde gerne einen beleuchteten Tisch bauen, aber ohne Matrix (noch nicht ;-) ). Dazu bin ich zu neu und habe diese "TLC 5640" oder wie die genau heisen nicht.

Meine Frage: Bisher habe ich mit den PWM 2-13 gearbeitet.

Können die anderen Ports, diese Digital Outs, sprich #22-53 auch LEDs getrennt ansteuern?

Also ich hätte gerne einen Tisch mit 9x6 Feldern = 54 LED's.

Geht das mit dem Mega auch ohne Matrix?

Ähnliche Posts

6 Antworten auf “Arduino Mega - Output Fragen”


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
  1. CojaX sagt:

    NACHTRAG:

    Ich stelle mir das ganze so vor:

    Erst gehen LED #1 - #54 getrennt nacheinander an und aus, also immer nur eine leuchtet, wie hier mit diesem Code:

    const int lowestPin = 8;
    const int highestPin = 13;

    void setup() {
    // set pins 2 through 13 as outputs:
    for (int thisPin =lowestPin; thisPin <= highestPin; thisPin++) {
    pinMode(thisPin, OUTPUT);
    }
    }

    void loop() {
    // iterate over the pins:
    for (int thisPin =lowestPin; thisPin <= highestPin; thisPin++) {
    // fade the LED on thisPin from off to brightest:
    for (int brightness = 0; brightness < 255; brightness++) {
    analogWrite(thisPin, brightness);
    delay(2);
    }
    // fade the LED on thisPin from brithstest to off:
    for (int brightness = 255; brightness >= 0; brightness--) {
    analogWrite(thisPin, brightness);
    delay(2);
    }
    // pause between LEDs:
    delay(100);
    }

    Und dannach sollen nochmal paar Reihen aufleuchten, also die erste Reihee mit 6 LEDs, dann Reihe zwei, ...

    digitalWrite(13, HIGH); // set the LED on
    digitalWrite(8, HIGH); // set the LED on
    delay(10000); // wait for a second
    digitalWrite(13, LOW); // set the LED off
    digitalWrite(8, LOW); // set the LED off
    delay(3000); // wait for a second

    Ich hoffe ihr versteht was ich meine ;-)

    Login or register to post comments

  1. Spot sagt:

    Hallo

    Klar geht das ganze auch ohne Marix!
    Ohne Matrix brauchst du nur sehr viel mehr Pins vom µC und für 54 Pins musst du schon ein bisschen Tricksen das du die Analog In auch als Ausgangspins benutzt. Das nächste Problem ist das du nicht alle LED´s gleichzeitig einschalten darfst weil du dann zu viel Strom über den µC fließen hast. Du brauchst also erst recht wieder Treiber.
    Du kannst auch nur auf den PWM Pins die Helligkeit der LED´s regeln, auf den Digitalen gibt es nur ein oder aus.

    Wenn du nur ganze Zeilen ansteuern willst dann kann man es so machen, dann bekommt jede Zeile einen FET/Transistor und dann geht das ganze sogar noch zum dimmen.

    Wenn du die LED´s einzeln steuern willst dann lohnt sich der Aufwand nicht, dann nimm am besten einen fertigen IC zu Hilfe.

    mfg
    Spot

    Login or register to post comments

  1. CojaX sagt:

    Ich bin kompletter Neuling, wie kann ich denn wenigstends die Digitalen Out Pins benutzen?

    Also LED an/aus würde mir reichen?

    Hast du da nen Codebeispiel für mich?

    Funktioniert das in etwa so!?:


    const int ledPin = 50; // the number of the LED pin

    void setup() {
    // initialize the LED pin as an output:
    pinMode(ledPin, OUTPUT);

    }

    void loop()
    { digitalWrite(ledPin, HIGH); }
    { delay(3000); // wait for a second }
    { digitalWrite(ledPin, LOW); }
    }

    Login or register to post comments

  1. Spot sagt:

    Hallo

    Fast sollte es funktionieren. Du hast beim loop() nur zu viele { und }.
    Die Klammern brauchst du so wie beim setup().

    mfg
    Spot

    Login or register to post comments

  1. CojaX sagt:

    Ok, das ist ja schonmal gut.

    Auf den PWM Pins sind 12V und auf den Digital Pins nur 5V ist das richtig?

    Login or register to post comments

  1. Spot sagt:

    Hallo

    Nein du hast immer nur 5V!
    Wenn du dir bei so was nicht sicher bist kannst du ja immer einfach mit einem Multimeter nachmessen.

    meg
    Spot

    Login or register to post comments