- Labornetzteil AliExpress    Werbung      
Ergebnis 1 bis 5 von 5

Thema: 8x8 LED Matrix Smiley soll zwinkern

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Vergleiche mal hiermit:
    Code:
    ...
    void loop() {
        const byte ZWINKERLAENGE = 255; // hier Zwinkerlaenge einstellbar
        static byte a = 0; // byte -> max 256 loop-Zyklen
        static bool b = false; // schaltvariable fuers Zwinkern
        int i;
        
        a++;
        if (a == ZWINKERLAENGE) {
            a = 0;
            b = !b; 
        }
        
        for (i = 0; i<8; i++) {  
          digitalWrite(LATCH, LOW);
          shiftOut(DATA, CLOCK, MSBFIRST, b? ~smile[i] : ~smile1[i]);
          shiftOut(DATA, CLOCK, MSBFIRST, binary[i]);
          digitalWrite(LATCH, HIGH);
          delay(1);
        }
    }
    Geändert von Sisor (09.05.2016 um 07:44 Uhr) Grund: Fehler im Code nach Einwand behoben

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    58
    Beiträge
    2.814
    Der Denkfehler ist die Trägheit des menschlichen Auges.
    Alles was schneller als 25 mal pro Sekunde passiert, wird nicht mehr als Einzelbild wahrgenommen.
    Deshalb siehst Du auch einen Smily und nicht einzelne LED Zeilen leuchten.
    Das blinzelnde Auge müsste etwas dunkler sein als andere.
    Sissor lässt in seinem Code 256 mal das eine Bild refeshen und 256 mal das andere (mit je 1ms Delay).
    Gibt ungefähr 3,4 Wechsel pro Sekunde.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    04.05.2015
    Beiträge
    41
    Und wieder einmal muss ich mich bedanken, nach der Änderung des Codes hat mein Smiley nun angefangen zu zwinkern und meine Tochter freut es. Danke an euch. Wäre mein Code zu falsch gewesen bzw. es lag nur an der Trägheit des Auges?

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    58
    Beiträge
    2.814
    Für das menschliche Auge war der Code falsch. Der Smily hat mit knapp 500Hz geblinzelt. Mit einer entsprechenden Kamera hätte man das aufnehmen können.
    Im Prinzip hast Du einen Film mit 2 verschiedenen Bildern und knapp 1000 Bildern pro Sekunde.(nur die Delays ohne die eigentliche Zeit zum Codeausführen gerechnet)

Ähnliche Themen

  1. Aus der Zahl 8 wird ein Smiley
    Von pinsel120866 im Forum Anregungen/Kritik/Fragen zum Forum und zum Wiki RN-Wissen
    Antworten: 3
    Letzter Beitrag: 21.05.2013, 07:52
  2. der :) smiley !
    Von da_miez3 im Forum Offtopic und Community Tratsch
    Antworten: 14
    Letzter Beitrag: 18.02.2013, 22:04
  3. LED MATRIX
    Von Beta im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 01.06.2009, 21:47
  4. 8x8 Matrix ?
    Von whynot im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 13.07.2008, 22:33

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

    Werbung      12V Akku bauen