Schriftzug 2018

Ich habe einen 2018-Schriftzug gebaut und programmiert. Man drückt 5 Minuten vor Neujahr auf einen Taster woraufhin die Status-LED (RGB-LED) auf Rot springt und das Programm 5 Minuten wartet, dann geht eine Lichtshow mit Sound an und die LED schaltet auf Grün. Wenn das Programm (void loop) 5-mal durchlaufen wurde, wird die Status LED auf blau geschaltet und die 2018 schaltet auf dauerleuchten.

Kommentare siehe unten.

Material

  • Arduino (z.B. UNO)
  • Steckboard
  • RGB-Leuchtdiode (Farben müssen einzeln ansteuerbar sein.)
  • Taster(-modul)
  • Lautsprecher
  • 3mm Sperrholz
  • viele, bunte LEDs (bei mir waren es ungefähr 80)
  • Farbe (weiß und schwarz)
  • Jumper-Kabel

 

Werkzeug

  • Laubsäge
  • Bleistift
  • Lötstation (Man braucht ein bisschen Übung beim Löten um die ganzen Beinchen kurzschlussfrei zu verlöten, ein Durchgangsprüfer macht es leichter)
  • Arduino IDE, zum herunterladen hier klicken (keine Haftung!)
  • Bohrmaschine mit 5mm Bohrer
  • Heißkleber
  • Seitenschneider

Anleitung

Zuerst zeichnet man eine Vorlage für die 2018. Dann nimmt man die Sperrholzplatte und sägt mit einer Laubsäge die Zahl aus. Als nächstes bohrt man mit einem 5mm Bohrer Löcher für die LEDs (Abstand siehe Bild). Jetzt malt man die Zahlen weiß an. und die Verbinder Schwarz. Alles trocknen lassen. Dann steckt man in die 2 die ersten beiden LEDs, biegt die Beinchen um und verlötet sie (jeweils Anode(+) an Anode und Kathode(-) an Kathode). Nun nimmt man die 3. LED und biegt die Beinchen mit der richtigen Polung an die 2. usw.. Das gleiche macht man auch mit den anderen Zahlen. Es ist gut ab und zu mal die Polung und die LEDS zu prüfen, das geht z.B. mit meinem Durchgangsprüfer.  Dann lötet man an jede Zahl, an den Pluspol, einen auf einer Seiten abgeschnittenen und abisolierten Jumper. Anschließend verbindet man die Kathoden der Zahlen miteinander und lötet an eine Zahl einen gemeinsamen Minuspol Jumper (der kommt später an GND siehe auch "Schaltung") Jetzt kann man von Hinten alles mit Heißkleber befestigen. Danach verbindet man alles nach dem Schaltplan (weiter unten).

Als letztes nur noch den Code schreiben oder kopieren und hoffen das alles funktioniert☺.

Schaltung

Pinbelegung

Ziffer 2 : D2

Ziffer 0 : D10

Ziffer 1 : D11

Ziffer 8:  D8

Taster:  D5

RGB-LED-r: D12

RGB-LED-g: D7

RGB-LED-b: D3

Lautsprecher: A5

Code

int BUZZER = A5;
int R = 12;
int G = 7;
int B = 3;
void setup() {
//Einmalig ausgeführter Code
  pinMode(5, INPUT); //Definition von Eingängen und Ausgängen
  pinMode(2, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(R, OUTPUT);
  pinMode(G, OUTPUT);
  pinMode(B, OUTPUT);
}



void loop() {


  if (digitalRead(5) == LOW) { // Abfrage ob der Taster gedrückt ist.
    digitalWrite(B, LOW);
    tone(BUZZER, 1000);
    delay(100);
    noTone (BUZZER);
    digitalWrite(R, HIGH);
    delay (300000); //wartet bis Mitternacht


Label1:
    {
      digitalWrite(R, LOW); // Die Lichtshow geht los!
      digitalWrite(G, HIGH);
      for (int zaehler1 = 1; zaehler1 < 5; zaehler1 = zaehler1 + 1) { //Zähler der gesamten Show
        for (int zaehler = 1; zaehler < 3; zaehler = zaehler + 1) { //Zähler des ersten Segments
          digitalWrite(2, LOW);
          digitalWrite(10, LOW);
          digitalWrite(11, LOW);
          digitalWrite(8, LOW);
          digitalWrite(2, HIGH);
          tone(BUZZER, 500);
          delay (1000);
          digitalWrite(10, HIGH);
          tone(BUZZER, 700);
          delay (1000);
          digitalWrite(11, HIGH);
          tone(BUZZER, 500);
          delay (1000);
          digitalWrite(8, HIGH);
          tone(BUZZER, 700);
          delay (1000);
          noTone(BUZZER);
          delay(2000);


          digitalWrite(2, LOW);
          digitalWrite(10, LOW);
          digitalWrite(11, LOW);
          digitalWrite(8, LOW);
          delay (500);
        }

        for (int zaehler = 1; zaehler < 18; zaehler = zaehler + 1) { //Zähler des zweiten Segments (blinken)

          digitalWrite(2, HIGH);
          digitalWrite(10, HIGH);
          digitalWrite(11, HIGH);
          digitalWrite(8, HIGH);
          tone(BUZZER, 1000);

          delay(150);

          digitalWrite(2, LOW);
          digitalWrite(10, LOW);
          digitalWrite(11, LOW);
          digitalWrite(8, LOW);
          noTone(BUZZER);

          delay (150);

        }

        digitalWrite(2, HIGH);
        digitalWrite(10, HIGH);
        digitalWrite(11, HIGH);
        digitalWrite(8, HIGH);
        tone(BUZZER, 200);


        delay (2000);

        digitalWrite(2, LOW);
        digitalWrite(10, LOW);
        digitalWrite(11, LOW);
        digitalWrite(8, LOW);
        noTone(BUZZER);


        digitalWrite(2, HIGH);
        delay (500);
        digitalWrite(11, HIGH);
        delay (500);
        digitalWrite(10, HIGH);
        delay (500);
        digitalWrite(8, HIGH);

        delay (500);
        digitalWrite(2, LOW);
        digitalWrite(10, LOW);
        digitalWrite(11, LOW);
        digitalWrite(8, LOW);
        delay(500);

        digitalWrite(8, HIGH);
        delay (500);
        digitalWrite(11, HIGH);
        delay (500);
        digitalWrite(10, HIGH);
        delay (500);
        digitalWrite(2, HIGH);


      }
      digitalWrite(G, LOW);
      digitalWrite(B, HIGH);
    }
  }
  

}


Kommentare: 2
  • #2

    Frauke (Montag, 01 Januar 2018 18:05)

    Ja, das war super!! Und vielen Dank für die Anleitung - aber wenn ich mal etwas Vergleichbares brauche, würde ich mich an dich wenden:-)

  • #1

    KathiL (Montag, 01 Januar 2018 16:41)

    Ich kann nur sagen: Hat super funktioniert, ich war live dabei!!
    Bin schon gespannt was wir nächstes Jahr geboten bekommen ;-)