Arduino Projekt: LED Würfel (Teil2)

Den LED Würfel habe ich im ersten Teil Arduino Projekt: elektronischer LED Würfel auf einer Lochrasterplatine erstellt und betrieben, im Beitrag Eigene Platinen (PCBs) mit PCBWay.com habe ich das Layout nun auf eine eigene „richtige“ Platine erzeugen können.

Fertige PCBs von PCBWay.com
Fertige PCBs von PCBWay.com

In diesem Beitrag möchte ich nun diese Platine bestücken und am Arduino UNO betreiben.

Benötigte Bauelemente & Werkzeuge

Bauelemente

Werkzeuge

Hinweise zum Layout

Im Layout sind mir zwei Fehler unterlaufen welche jedoch den Betrieb nicht beeinflussen.

Fehler Nr.1 – kein gemeinsamer Minuspol

Die LEDs können theoretisch über einen gemeinsamen Minuspol verfügen, hier hätte man sich etwas Platz und arbeit sparen können.

Fehler Nr.2 – Stiftleiste nicht im Rastermaß 2,54mm

Die Lötpunkte für die Stiftleisten sind nicht im Rastermaß von 2,54mm dadurch kann man nicht bequem die Stiftleiste anlöten sondern muss jeweils immer einzelne Stücke anlöten.

Zusammenbau

Als erstes werden die 14 Stifte der Stiftleiste einzeln abgetrennt und die restlichen Bauteile griffbereit auf der Unterlage angeordnet.

Bauteile für den LED Würfel
Bauteile für den LED Würfel

Nun werden die Widerstände eingesteckt und die Beine auf der Rückseite ca. 45° abgewinkelt. Das abwinkeln der Beine hat den Vorteil das die Widerstände nun nicht mehr hinausfallen können.

Bestückung der Platine mit den 220 Ohm Widerständen (Rückseite)
Bestückung der Platine mit den 220 Ohm Widerständen (Rückseite)

Das gleiche wird nun auch mit den Leuchtdioden (LEDs) gemacht und danach werden die Bauteile nacheinander angelötet.

Nachdem nun also die Stifte, die LEDs und die Widerstände angelötet wurden, ist die Platine fertig.

Fertige Platine mit den Bauelementen für den LED Würfel
Fertige Platine mit den Bauelementen für den LED Würfel

Anschließen & Betrieb

Wem das Tutorial Arduino Projekt: elektronischer LED Würfel bekannt ist, dem wird der nachfolgende Aufbau sehr bekannt vorkommen denn hier wird sich nichts ändern.

Die obere „Pinleiste“ wird mit den digitalen Eingängen des Arduino’s verbunden. Ich wähle hier die Pins 7 bis 13.

Da die Platine eine andere Reihenfolge der LEDs hat musste ich den Sketch bzw. die Steckerreihenfolge anpassen.

/**
 * Dieses Sketch ist für einen LED Würfel mit 6 Augen.
 * 
 * Die LEDs für diesen Sketch müssen wiefolgt angeordnet sein:
 * 
 * [LED1]           [LED5]
 * [LED2]  [LED4]   [LED6]
 * [LED3]           [LED7]
 * 
 * Eine Beschreibung findest du unter : https://draeger-it.blog
 */
 
const int LED1 = 7; //LED1 am digitalen PIN 7
const int LED2 = 8; //LED2 am digitalen PIN 8
const int LED3 = 9; //LED3 am digitalen PIN 9
const int LED4 = 10; //LED4 am digitalen PIN 10
const int LED5 = 11; //LED5 am digitalen PIN 11
const int LED6 = 12; //LED6 am digitalen PIN 12
const int LED7 = 13; //LED7 am digitalen PIN 13
 
/**
 * Das Array mit den Augenpaaren für den Würfel.
 */
int zahlen[6][6] = {{LED5},
                  {LED2, LED1},
                  {LED2, LED5, LED1},
                  {LED2, LED4, LED6, LED1},
                  {LED2, LED4, LED6, LED1, LED5},
                  {LED2, LED3, LED4, LED6,LED7, LED1}};
 
/**
 * Zufallszahl.
 */
long randomValue;
 
void setup() {
  //Setzen der digitalen PINs als Ausgänge am Arduino.
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);
  pinMode(LED5, OUTPUT);
  pinMode(LED6, OUTPUT);
  pinMode(LED7, OUTPUT);
  
  Serial.begin(9600); //Begin der seriellen Kommunikation mit 9600 Baud
  //Initialisieren des Zufallszahlen generators.
  //Wenn dieses nicht geschieht wird immer die gleiche Zahl gewählt.
  randomSeed(analogRead(0));
 
  //Erzeugen einer Zufallszahl zwischen 1 und 6.
  randomValue = random(1, 6);
 
  //Ausgabe der Zufallszahl auf der seriellen Schnittstelle.
  Serial.print("Zufallszahl: ");
  Serial.println(randomValue);
}
 
void loop() {
  //Anzeigen der Zufallszahl.
  showNumber(randomValue);
  //Pause von 15000 Millisekunden.
  delay(15000);
}
 
/**
 * Setzt die PINs der LEDs aus dem Array auf High.
 * @value - erwartet eine Zahl zwischen 1 und 6
 */
void showNumber(int value){
 for(int i=0;i<value;i++){
    //Da ein Array immer bei 0 beginnt müssen wir von der Zahl -1 rechnen.
    int led = zahlen[value-1][i];
    digitalWrite(led,HIGH);
 }
}

Aufbau der Schaltung

Dadurch das ich keinen gemeinsamen Minuspol eingebaut habe musste ich ein extra Steckbrett wählen. Jedoch hat die Platine super funktioniert und der LED Würfel leuchtet auf.

Aufbau der Schaltung mit dem Arduino UNO
Aufbau der Schaltung mit dem Arduino UNO

 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.