This file is indexed.

/usr/share/fritzing/sketches/core/Fritzing Creator Kit DE+EN/creator-kit-de/Fritzing Creator Kit/Uebung3_2/Uebung3_2.ino is in fritzing-data 0.9.2b+dfsg-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*
  Matrix Übung
  LED-Matrix zeigt eine kleine Animation
  
  Dieses Beispiel aus dem Fritzing Creator Kit: www.fritzing.org/creator-kit.
*/

// Pinbelegung für Arduino UNO
int reihenPins[8] = {9,3,2,12,15,11,7,6};      // Anschlüsse der Reihenpins am Arduino
int spaltenPins[8] = {13,8,17,10,5,16,4,14};   // Anschlüsse der Spaltenpins am Arduino


// Pinbelegung für Arduino MEGA
// int reihenPins[8] = {9,3,2,12,55,11,7,6};      // Anschlüsse der Reihenpins am Arduino
// int spaltenPins[8] = {13,8,57,10,5,56,4,54};   // Anschlüsse der Spaltenpins am Arduino

int imageNr=0;                                 // welches Bild wird gerade angezeigt

long timer=0;                                  // Timervariable
int timeOut=200;                               // wie lange soll jedes Bild angezeigt werden (ms)

int image[2][8][8]={{           // erstes Bild, das auf der Matrix gezeigt wird
  
{0,1,0,0,0,0,1,0},  
{1,1,1,0,0,1,1,1},
{0,1,0,0,0,0,1,0},
{0,0,0,1,1,0,0,0},
{0,0,0,1,1,0,0,0},
{1,0,0,0,0,0,0,1},
{0,1,1,1,1,1,1,0},
{0,0,1,1,1,1,0,0}

},{                              // zweites Bild, das auf der Matrix gezeigt wird
  
{1,0,1,0,0,1,0,1},  
{0,1,0,0,0,0,1,0},
{1,0,1,0,0,1,0,1},
{0,0,0,1,1,0,0,0},
{0,0,0,1,1,0,0,0},
{1,0,0,0,0,0,0,1},
{0,1,1,1,1,1,1,0},
{0,0,1,1,1,1,0,0}

}
};                                              

void setup(){
  for (int i=0; i<8; i++){                       // Alle Pins werden als OUTPUT deklariert 
    pinMode(reihenPins[i],OUTPUT);
    pinMode(spaltenPins[i],OUTPUT);
  }
}

void loop(){
  if (timer+timeOut<millis()){                   // Timervariable wird überprüft
    timer=millis();                              // Timer wird neu gestartet
    if (imageNr==0) imageNr=1;                   // wenn Bild 0 angezeigt wird, soll nur Bild 1 angezeigt werden
    else imageNr=0;                              // wenn Bild 1 angezeigt wird, soll nur Bild 0 angezeigt werden
  }
  for (int y=0; y<8; y++){                       // zeilenweise werden 
    for (int x=0; x<8; x++){                     // von links nach rechts alle Einträge des Arrays geprüft
      if (image[imageNr][x][y]==1){              // ist der Eintrag = 1
        digitalWrite(spaltenPins[x],HIGH);       // wird der Spaltenpin eingeschalten
      } else {                                   // sonst
        digitalWrite(spaltenPins[x],LOW);        // abgeschalten
      }
    }
    digitalWrite(reihenPins[y],LOW);             // nun wird der Reihenpin auf LOW geschalten (da es die Kathode der LED betrifft bedeutet LOW eingeschalten: LOW = GND)
    delayMicroseconds(100);                      // das Programm hällt 100 Mikrosekunden an
    digitalWrite(reihenPins[y],HIGH);            // danach wird der Reihenpin wieder auf HIGH (in diesem Fall also abge-) schalten
  }
}