Im folgenden Projekt möchte ich einen einfachen LED Würfel (kein LED Cube) erzeugen. Dieser Würfel soll mit 7 LED’s die Augen eines normalen Würfels repräsentieren.
Was wird benötigt?
Für dieses Projekt werden folgende Bauteile benötigt:
- 7x 5mm LED rot,
- 7x 220 Ohm Widerstand,
- 1x Lochrasterplatine,
- Lötzinn,
- Lötfett,
- Arduino UNO,
- Breadboardkabel
Bezug der benötigten Teile
Die elektronischen Bauteile (LEDs, Widerstände, Lochrasterplatine, Lötfett, Lötzinn) kann über zbsp. Conrad Elektronik bezogen werden. Die Preise sind etwas höher als, wenn man diese über ebay.de kauft, jedoch stimmt da die Qualität. Die Teile für dieses Projekt habe ich über ebay.de wie folgt erstanden:
- 50 Stck. LED Sortiment – 1,88 €
- 1 Pkg. (40 Stck.) Breadboardkabel 10 cm, männlich – männlich – 1,94 €
- 560 Stck. Widerstand Sortiment – 1,79 €
- Lochrasterplatine 70x90mm (1Pkg. = 10 Stck) – 2,69 €
Bei Bsp. Conrad Elektronik kann man die Teile einzeln erwerben:
- 7x LED, rot, 5 mm – Stck. 0,11 € = 0,77 €
- 7x 220 Ohm Widerstand – Stck. 0,06 € = 0,42 €
- 1x Lochrasterplatine – 160x100mm – 3,17 €
Zusätzlich kommen hier noch die Versandkosten in Höhe von 5,95 € hinzu.
Bevor die Komponenten zusammengelötet werden teste ich diese mit einem Multimeter.
Für LEDs gibt es auf dem Multimeter die Einstellung, um Dioden zu messen. Mit dieser Einstellung kann man auch super die LEDs testen. Hat man gerade kein solches Multimeter zur Hand kann man auch eine Knopfzelle nehmen und die LED an den + und – Pol anklemmen.
Schaltplan
Quellcode
Der Quellcode wurde in den Kommentaren erläutert, daher spare ich eine noch ausführlichere Erklärung. Sollten trotzdem Fragen aufkommen, so könnt Ihr diese gerne als Kommentar hinterlassen.
/** * Dieses Sketch ist für einen LED Würfel mit 6 Augen. * * Die LEDs für diesen Sketch müssen wiefolgt angeordnet sein: * * [LED2] [LED6] * [LED3] [LED5] [LED7] * [LED4] [LED1] * * 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, 7); //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); } }
Video
Das flackern der LED7 kommt daher das, diese auf dem digitalen PIN 13 liegt. Der digitale PIN 13 wird auf HIGH bzw. LOW gesetzt wenn Daten übertragen werden (RX / TX). In dem vorliegenden Sketch wird immer wenn der Reset Button auf dem Arduino UNO betätigt wird eine neue Zahl generiert und angezeigt. Eine Lösung wäre nun einen zusätzlichen Button in die Schaltung zu integrieren (mit Pulldown Widerstand).
Hallo,
Sie schreiben oben unter “Bezug der benötigen Teile” man bräuchte “Lötfett” .Ich kann nu jeden Bastler davon abraten. Lötfett ist Säurehaltig und hat auf Leiterplaten (Platinen) nichts zu suchen. Bei solchen Arbeiten rate ich dringendst zu einem “säerefreien” Flußmittel.
Mit freundlichen Grüßen Gerd
Hi,
das Lötfett wird auch “nur” zum verzinnen der Kabel benötigt. Da das Lötzinn in der Regel eine Seele mit Lötfett hat wird beim löten auf der Platine kein Zusatz benötigt.
Gruß,
Stefan Draeger
Hallo
wie kann ich einen Würfel mit 12 Augen erstellen……. geht das überhaupt mit nur EINEM Arduino ????
Hi,
mit einem Arduino UNO, Nano würde das gehen denn diese haben 14 digitale Pins und diese könnte man einzeln schalten und somit auch einen Würfel mit 14 Augen erstellen.
Gruß,
Stefan Draeger