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.
In diesem Beitrag möchte ich jetzt diese Platine bestücken und am Arduino UNO betreiben.
Benötigte Bauelemente & Werkzeuge
Bauelemente
- 7x LED 5 mm*, rund
- 7x 220 Ohm Widerstand*,
- 14x Stiftleiste* (einzeln)
Werkzeuge
- Lötkolben*,
- Lötzinn*,
- dritte Hand*,
- Hitzebeständige Unterlage*,
- Pinzette*,
- Seitenschneider*,
- Biegelehre* (für die Widerstände)
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
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,54 mm
Die Lötpunkte für die Stiftleisten sind nicht im Rastermaß von 2,54 mm 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.
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.
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.
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 haben musste ich ein extra Steckbrett wählen. Jedoch hat die Platine super funktioniert und der LED Würfel leuchtet auf.