Hola a todos
en primer lugar, me gustaría darle las gracias por las muchas entradas y la participación animada. Tomar una decisión no fue fácil, porque con tantos proyectos originales, a veces muy exigentes, gran parte de ella era muy difícil de elegir para nosotros. Pero como es tan a menudo el caso, sólo puede haber un ganador y por lo que hoy comenzamos con la presentación de nuestra tercer lugar:
El tercer lugar va a Baja Sajonia y Sr. Bettels puede ser contactado a través de un vale de compra en la cantidad de 50€ ¡En espera!
En AZ-Delivery, nos gustaría Entrada en la programación de microcontroladores hacer que sea lo más simple y fácil de usar posible y así ofrecer a tantos clientes como sea posible una plataforma para implementar sus propias ideas sobre la base de esto, o incluso para desarrollar sus propios productos.
El Sr. Bettels nos ha demostrado que comenzar con este tema no es un obstáculo insuperable y se ha tomado la molestia de combinar 8 de nuestras pantallas Matrix en horas de trabajo y con la ayuda de nuestras entradas de blog.
Con cuatro UnoR3 se utilizará en nuestro Pantallas de matriz un total de 2048 LED están controlados:
Aquí está el código:
/*AZ-Matriz de entrega con bloque LED de 8x8x8 (Serie1) * 19.12.2018 * H.W.B. * HWB-8x8x8-AZ-Delivery - Serie 1 */ /* LedControl funciona con Arduino Uno pin 12 -> DIN - blanco pin 11 -> CLK - verde pin 10 -> CS - púrpura Poder 5V - VCC - rojo 0V - GND - negro */ Biblioteca - LedContol.h #include <Ledcontrol.H> Ledcontrol Lc=Ledcontrol(12,11,10,8); /* Temporizador */ Unsigned Largo T2s=2000; Unsigned Largo T1=1000; Unsigned Largo t05s=500; Unsigned Largo t02s=200; Unsigned Largo t01s=100; Vacío Configuración() { Lc.Apagado(0,Falso);Lc.setIntensidad(0,8);Lc.clearDisplay(0); Lc.Apagado(1,Falso);Lc.setIntensidad(1,8);Lc.clearDisplay(1); Lc.Apagado(2,Falso);Lc.setIntensidad(2,8);Lc.clearDisplay(2); Lc.Apagado(3,Falso);Lc.setIntensidad(3,8);Lc.clearDisplay(3); Lc.Apagado(4,Falso);Lc.setIntensidad(4,8);Lc.clearDisplay(4); Lc.Apagado(5,Falso);Lc.setIntensidad(5,8);Lc.clearDisplay(5); Lc.Apagado(6,Falso);Lc.setIntensidad(6,8);Lc.clearDisplay(6); Lc.Apagado(7,Falso);Lc.setIntensidad(7,8);Lc.clearDisplay(7); } Vacío writeAZDelivery() { AZ-Delivery Series-1 (2019) Byte x2[8]={B00111000,B00100100,B00100000,B00010000,B00001000,B00111100,B0000000000,B0000000000}; Byte x0[8]={B00111100,B00100100,B00100100,B00100100,B00100100,B00111100,B0000000000,B0000000000}; Byte x1[8]={B00110000,B00101000,B00100100,B00100000,B00100000,B00100000,B0000000000,B0000000000}; Byte x9[8]={B00111100,B00100100,B00111100,B00100000,B00100000,B00111100,B0000000000,B0000000000}; Serie 1 2019 Lc.setRow(2,7,x2[0]);Lc.setRow(2,6,x2[1]);Lc.setRow(2,5,x2[2]);Lc.setRow(2,4,x2[3]); Lc.setRow(2,3,x2[4]);Lc.setRow(2,2,x2[5]);Lc.setRow(2,1,x2[6]);Lc.setRow(2,0,x2[7]); delay(t05s); Lc.setRow(3,7,x0[0]);Lc.setRow(3,6,x0[1]);Lc.setRow(3,5,x0[2]);Lc.setRow(3,4,x0[3]); Lc.setRow(3,3,x0[4]);Lc.setRow(3,2,x0[5]);Lc.setRow(3,1,x0[6]);Lc.setRow(3,0,x0[7]); delay(t05s); Lc.setRow(4,7,x1[0]);Lc.setRow(4,6,x1[1]);Lc.setRow(4,5,x1[2]);Lc.setRow(4,4,x1[3]); Lc.setRow(4,3,x1[4]);Lc.setRow(4,2,x1[5]);Lc.setRow(4,1,x1[6]);Lc.setRow(4,0,x1[7]); delay(t05s); Lc.setRow(5,7,x9[0]);Lc.setRow(5,6,x9[1]);Lc.setRow(5,5,x9[2]);Lc.setRow(5,4,x9[3]); Lc.setRow(5,3,x9[4]);Lc.setRow(5,2,x9[5]);Lc.setRow(5,1,x9[6]);Lc.setRow(5,0,x9[7]); // Retraso(T2s); Lc.clearDisplay(0);Lc.clearDisplay(1);Lc.clearDisplay(2);Lc.clearDisplay(3); Lc.clearDisplay(4);Lc.clearDisplay(5);Lc.clearDisplay(6);Lc.clearDisplay(7); Retraso(T2s); } Vacío Bucle() { writeAZDelivery(); }
/*AZ-Matriz de entrega con bloque LED de 8x8x8 (Serie2) * 19.12.2018 * H.W.B. * HWB-8x8x8-AZ-Delivery - Serie 2 */ /* LedControl funciona con Arduino Uno pin 12 -> DIN - blanco pin 11 -> CLK - verde pin 10 -> CS - púrpura Poder 5V - VCC - rojo 0V - GND - negro */ Biblioteca - LedContol.h #include <Ledcontrol.H> Ledcontrol Lc=Ledcontrol(12,11,10,8); /* Temporizador */ Unsigned Largo T2s=2000; Unsigned Largo T1=1000; Unsigned Largo t05s=500; Unsigned Largo t02s=200; Unsigned Largo t01s=100; Vacío Configuración() { Lc.Apagado(0,Falso);Lc.setIntensidad(0,8);Lc.clearDisplay(0); Lc.Apagado(1,Falso);Lc.setIntensidad(1,8);Lc.clearDisplay(1); Lc.Apagado(2,Falso);Lc.setIntensidad(2,8);Lc.clearDisplay(2); Lc.Apagado(3,Falso);Lc.setIntensidad(3,8);Lc.clearDisplay(3); Lc.Apagado(4,Falso);Lc.setIntensidad(4,8);Lc.clearDisplay(4); Lc.Apagado(5,Falso);Lc.setIntensidad(5,8);Lc.clearDisplay(5); Lc.Apagado(6,Falso);Lc.setIntensidad(6,8);Lc.clearDisplay(6); Lc.Apagado(7,Falso);Lc.setIntensidad(7,8);Lc.clearDisplay(7); } Vacío writeAZDelivery() { AZ-Delivery Series-2 Byte Un[8]={B0000000000,B1000000000,B01000000,B01000000,B11000000,B01000000,B01000000,B0000000000}; Byte Z[8]={B0000000000,B00000111,B00000100,B00000100,B10111111,B00100100,B00100100,B00010000}; Byte X[8]={B0000000000,B00011100,B00100100,B10100100,B10100101,B10100100,B10100100,B10011100}; Byte D[8]={B0000000000,B10010000,B00010000,B10010011,B10010100,B10010111,B10010000,B10110011}; Byte E[8]={B0000000000,B0000000000,B0000000000,B10100010,B10100010,B10010010,B10001010,B10000110}; Byte L[8]={B0000000000,B0000000000,B0000000000,B01110011,B00010100,B00010111,B00010000,B00010011}; Byte Ⅰ.[8]={B0000000000,B0000000000,B0000000000,B00010001,B00010001,B00010001,B00010001,B00011111}; AZ-Delivery Series 2 Retraso(T2s); Lc.setRow(0,7,Un[0]);Lc.setRow(0,6,Un[1]);Lc.setRow(0,5,Un[2]);Lc.setRow(0,4,Un[3]); Lc.setRow(0,3,Un[4]);Lc.setRow(0,2,Un[5]);Lc.setRow(0,1,Un[6]);Lc.setRow(0,0,Un[7]); delay(t05s); Lc.setRow(1,7,Z[0]);Lc.setRow(1,6,Z[1]);Lc.setRow(1,5,Z[2]);Lc.setRow(1,4,Z[3]); Lc.setRow(1,3,Z[4]);Lc.setRow(1,2,Z[5]);Lc.setRow(1,1,Z[6]);Lc.setRow(1,0,Z[7]); delay(t05s); Lc.setRow(2,7,X[0]);Lc.setRow(2,6,X[1]);Lc.setRow(2,5,X[2]);Lc.setRow(2,4,X[3]); Lc.setRow(2,3,X[4]);Lc.setRow(2,2,X[5]);Lc.setRow(2,1,X[6]);Lc.setRow(2,0,X[7]); delay(t05s); Lc.setRow(3,7,D[0]);Lc.setRow(3,6,D[1]);Lc.setRow(3,5,D[2]);Lc.setRow(3,4,D[3]); Lc.setRow(3,3,D[4]);Lc.setRow(3,2,D[5]);Lc.setRow(3,1,D[6]);Lc.setRow(3,0,D[7]); delay(t05s); Lc.setRow(4,7,E[0]);Lc.setRow(4,6,E[1]);Lc.setRow(4,5,E[2]);Lc.setRow(4,4,E[3]); Lc.setRow(4,3,E[4]);Lc.setRow(4,2,E[5]);Lc.setRow(4,1,E[6]);Lc.setRow(4,0,E[7]); delay(t05s); Lc.setRow(5,7,L[0]);Lc.setRow(5,6,L[1]);Lc.setRow(5,5,L[2]);Lc.setRow(5,4,L[3]); Lc.setRow(5,3,L[4]);Lc.setRow(5,2,L[5]);Lc.setRow(5,1,L[6]);Lc.setRow(5,0,L[7]); delay(t05s); Lc.setRow(6,7,Ⅰ.[0]);Lc.setRow(6,6,Ⅰ.[1]);Lc.setRow(6,5,Ⅰ.[2]);Lc.setRow(6,4,Ⅰ.[3]); Lc.setRow(6,3,Ⅰ.[4]);Lc.setRow(6,2,Ⅰ.[5]);Lc.setRow(6,1,Ⅰ.[6]);Lc.setRow(6,0,Ⅰ.[7]); // delay(t2s); lc.clearDisplay(0); lc.clearDisplay(1); lc.clearDisplay(2); lc.clearDisplay(3); lc.clearDisplay(4); lc.clearDisplay(5); lc.clearDisplay(6); delay(t2s); } Vacío Bucle() { writeAZDelivery(); }
/*AZ-Matriz de entrega con bloque LED de 8x8x8 (Serie3) * 19.12.2018 * H.W.B. * HWB-8x8x8-AZ-Delivery - Series3 */ Biblioteca - LedContol.h #include <Ledcontrol.H> Ledcontrol Lc=Ledcontrol(12,11,10,8); /* Temporizador */ Unsigned Largo T2s=2000; Unsigned Largo T1=1000; Unsigned Largo t05s=500; Unsigned Largo t02s=200; Unsigned Largo t01s=100; Vacío Configuración() { Lc.Apagado(0,Falso);Lc.setIntensidad(0,8);Lc.clearDisplay(0); Lc.Apagado(1,Falso);Lc.setIntensidad(1,8);Lc.clearDisplay(1); Lc.Apagado(2,Falso);Lc.setIntensidad(2,8);Lc.clearDisplay(2); Lc.Apagado(3,Falso);Lc.setIntensidad(3,8);Lc.clearDisplay(3); Lc.Apagado(4,Falso);Lc.setIntensidad(4,8);Lc.clearDisplay(4); Lc.Apagado(5,Falso);Lc.setIntensidad(5,8);Lc.clearDisplay(5); Lc.Apagado(6,Falso);Lc.setIntensidad(6,8);Lc.clearDisplay(6); Lc.Apagado(7,Falso);Lc.setIntensidad(7,8);Lc.clearDisplay(7); } Vacío writeAZDelivery() { AZ-Delivery Series 3 Byte Z2[8]={B00001000,B00111100,B0000000000,B0000000000,B0000000000,B0000000000,B0000000000,B0000000000}; Byte y2[8]={B00010000,B00010000,B00001110,B0000000000,B0000000000,B0000000000,B0000000000,B0000000000}; Lc.setRow(1,7,Z2[0]);Lc.setRow(1,6,Z2[1]);Lc.setRow(1,5,Z2[2]);Lc.setRow(1,4,Z2[3]); Lc.setRow(1,3,Z2[4]);Lc.setRow(1,2,Z2[5]);Lc.setRow(1,1,Z2[6]);Lc.setRow(1,0,Z2[7]); delay(t05s); Lc.setRow(6,7,y2[0]);Lc.setRow(6,6,y2[1]);Lc.setRow(6,5,y2[2]);Lc.setRow(6,4,y2[3]); Lc.setRow(6,3,y2[4]);Lc.setRow(6,2,y2[5]);Lc.setRow(6,1,y2[6]);Lc.setRow(6,0,y2[7]); delay(t2s); } Vacío Bucle() { writeAZDelivery(); }
/*AZ-Matriz de entrega con bloque LED de 8x8x8 (Series4) * 19.12.2018 * H.W.B. * SERIE HWB-8x8x8-AZ-Delivery4 * // LedControl funciona con Arduino Uno pin 12 -> DIN - blanco pin 11 -> CLK - verde pin 10 -> CS - púrpura Poder 5V - VCC - rojo 0V - GND - negro */ Biblioteca - LedContol.h #include <Ledcontrol.H> Ledcontrol Lc=Ledcontrol(12,11,10,8); /* Temporizador */ Unsigned Largo T2s=2000; Unsigned Largo T1=1000; Unsigned Largo t05s=500; Unsigned Largo t02s=200; Unsigned Largo t01s=100; Vacío Configuración() { Lc.Apagado(0,Falso);Lc.setIntensidad(0,8);Lc.clearDisplay(0); Lc.Apagado(1,Falso);Lc.setIntensidad(1,8);Lc.clearDisplay(1); Lc.Apagado(2,Falso);Lc.setIntensidad(2,8);Lc.clearDisplay(2); Lc.Apagado(3,Falso);Lc.setIntensidad(3,8);Lc.clearDisplay(3); Lc.Apagado(4,Falso);Lc.setIntensidad(4,8);Lc.clearDisplay(4); Lc.Apagado(5,Falso);Lc.setIntensidad(5,8);Lc.clearDisplay(5); Lc.Apagado(6,Falso);Lc.setIntensidad(6,8);Lc.clearDisplay(6); Lc.Apagado(7,Falso);Lc.setIntensidad(7,8);Lc.clearDisplay(7); } Vacío writeAZDelivery() { AZ-Delivery Series 4 Byte Z2[8]={B01100110,B10011001,B10011001,B10000001,B10000001,B01000010,B00100100,B00011000}; // Lc.setRow(0,7,Z2[0]);Lc.setRow(0,6,Z2[1]);Lc.setRow(0,5,Z2[2]);Lc.setRow(0,4,Z2[3]); Lc.setRow(0,3,Z2[4]);Lc.setRow(0,2,Z2[5]);Lc.setRow(0,1,Z2[6]);Lc.setRow(0,0,Z2[7]); // Lc.setRow(1,7,Z2[0]);Lc.setRow(1,6,Z2[1]);Lc.setRow(1,5,Z2[2]);Lc.setRow(1,4,Z2[3]); Lc.setRow(1,3,Z2[4]);Lc.setRow(1,2,Z2[5]);Lc.setRow(1,1,Z2[6]);Lc.setRow(1,0,Z2[7]); // Lc.setRow(2,7,Z2[0]);Lc.setRow(2,6,Z2[1]);Lc.setRow(2,5,Z2[2]);Lc.setRow(2,4,Z2[3]); Lc.setRow(2,3,Z2[4]);Lc.setRow(2,2,Z2[5]);Lc.setRow(2,1,Z2[6]);Lc.setRow(2,0,Z2[7]); // Lc.setRow(3,7,Z2[0]);Lc.setRow(3,6,Z2[1]);Lc.setRow(3,5,Z2[2]);Lc.setRow(3,4,Z2[3]); Lc.setRow(3,3,Z2[4]);Lc.setRow(3,2,Z2[5]);Lc.setRow(3,1,Z2[6]);Lc.setRow(3,0,Z2[7]); // Lc.setRow(4,7,Z2[0]);Lc.setRow(4,6,Z2[1]);Lc.setRow(4,5,Z2[2]);Lc.setRow(4,4,Z2[3]); Lc.setRow(4,3,Z2[4]);Lc.setRow(4,2,Z2[5]);Lc.setRow(4,1,Z2[6]);Lc.setRow(4,0,Z2[7]); // Lc.setRow(5,7,Z2[0]);Lc.setRow(5,6,Z2[1]);Lc.setRow(5,5,Z2[2]);Lc.setRow(5,4,Z2[3]); Lc.setRow(5,3,Z2[4]);Lc.setRow(5,2,Z2[5]);Lc.setRow(5,1,Z2[6]);Lc.setRow(5,0,Z2[7]); // Lc.setRow(6,7,Z2[0]);Lc.setRow(6,6,Z2[1]);Lc.setRow(6,5,Z2[2]);Lc.setRow(6,4,Z2[3]); Lc.setRow(6,3,Z2[4]);Lc.setRow(6,2,Z2[5]);Lc.setRow(6,1,Z2[6]);Lc.setRow(6,0,Z2[7]); // Lc.setRow(7,7,Z2[0]);Lc.setRow(7,6,Z2[1]);Lc.setRow(7,5,Z2[2]);Lc.setRow(7,4,Z2[3]); Lc.setRow(7,3,Z2[4]);Lc.setRow(7,2,Z2[5]);Lc.setRow(7,1,Z2[6]);Lc.setRow(7,0,Z2[7]); Retraso(T2s); } Vacío Bucle() { writeAZDelivery(); }
Mañana te presentaré el segundo lugar, hasta entonces :)
1 comentario
Ralf
hallo gemeinde
da hat der herr bettels doch ein wenig mehr aufwand betrieben und sich in unkosten gestürzt um auch noch kräftig die werbetrommel zu klopfen und den code auch noch gepostet, was mir nicht leicht gefallen wäre, und niemand würdigt das mit einem kommentar. vielleicht hab ich ja was übersehen, aber die anderen beiträge wurden kommentiert und/oder kritisiert oder verbessert.
das projekt finde ich jedenfalls ok und das eine oder andere kann auf jeden fall noch geändert oder verbessert werden. jetzt wo´s fertig ist kann das gesagt werden. und über vorschläge , etwas sinnvoll zu ändern ist doch jeder dankbar. is meine meinung.
mfg r.