Pues bien hablamos de que el montaje era simple porque era mas que nada para presentar el funcionamiento del display y lo hacíamos de una forma manual simulando las entradas ABCD con un interruptor DIP de 4 vías.
Supongo que lo recordáis, ya que hace tiempo que lo subimos puedes volver a verlo en Display
Hoy queremos ir más allá y queremos que las entradas ABCD en vez de ser manual que se introduzcan los datos automáticamente y ponga en marcha nuestro display.
Para ello y valga de experiencia para mi el primero utilizaremos el ya archiconocido y famoso en el mundo entero "ARDUINO",deciros que yo he empezado a trastear como primicia y para que vosotros empecéis con el, hoy mismo.
El esquema de principio y con el que empezaremos ,será el reflejado en el artículo antes mentado , elaborado con Livewire .
En el lugar donde existe el interruptor DIP que hemos encuadrado colocaremos ARDUINO para que automatice el encendido del display del 0 al 9 (Por el momento)
Sería como represento ,tendríamos como está el integrado de control del display CD4511BE y en el lugar que ocupa el DIP pondremos el Arduino.
Muy importante colocar los 4 cables que unen la protoboard o circuito que hagamos definitivo igual igual que lo represento en la imagen, ya que de otra manera podrías volverte loco, con el DIP digamos que la colocación apenas influía en la forma de mostrar correlativos los números del 0 al 9 , pero con el ARDUINO y yo mismo quisiera saber ¿porque? si que lo acusa, por eso después de probar a cambiar el código 200 mil veces no empezó a funcionar en condiciones hasta que conecte los cables igual que en la imagen.
En el Arduino lo que hacemos es aprovechar 4 de las salidas digitales de la 9 a 12 inclusives , usando el controlador CD4511 que es económico podremos dispones de otras entradas y salidas en nuestro Arduino para ampliaciones, si mirais los videos que existen en Internet (Youtube) os daréis cuenta que todos trabajan con el display directamente a Arduino , utilizan 7 salidas digitales , están desaprovechando 3, igualmente me he dado cuenta que colocan una sola resistencia en el cátodo, de esa forma si el equipo donde esté instalado anda justo de potencia , pues el display tendrá menos luz, aqui colocamos las 7 como está mandado.
Pues bien para hacer este experimento hemos utilizado los materiales que aparecen en Display excepto el DIP que lo hemos anulado y en su lugar hemos colocado el Arduino. Hemos tratado de usar la placa protoboard mas pequeña para que nos coja encima de la unidad de Arduino y para que esto fuera posible ya que es una placa limitada a 170 contactos que no suelen aprovecharse en ninguna , ya los mismos componentes del montaje nos dejan muchos nodos sin usar.
Como podéis ver en la imagen hemos aprovechado la placa protoboard a tope ya que hemos sobreelevado el display con unas regletas de pines hembra , yo coloque de las que vienen sobreelevadas para Arduino de 6 Agujas o pines pero con 5 nos es suficiente , pero no quería romperlas ya que están para lo que están, deciros que para poder hacer esto el Arduino que yo tengo lo tengo metido en una caja de metacrilato que venden especial para el y encima coloque la protoboard.
Tambien os podeis hacer con un shell como el que se ve en la imagen que os ayudará a la hora de montar el prototipo, aparte de valer para probar otras cosas en Arduino y así experimentar.
IMprime si quieres la imagen del protoboard encima del Arduino si quieres experimentar hay una s resistencias debajo del display que no he sabido como hacer para que se vean, pero seguro lo vas a ver en la siguiente imagen real.
Veis las resistencias que están debajo el display, pues esas son si tienes alguna duda de como conectarlas y de donde a donde van mira el esquema que puse al principio de base que ahí lo vas a ver bien, ya que lo único que se va a sustituir como dijimos es el DIP por el Arduino el resto sigue igual de funcional.En la imagen puede distinguirse las 4 salidas usadas y la alimentación a mano derecha.
Ten en cuenta los puentes que van en la placa marcados en colores, si no no te funcionará.
El circuito está verificado y el código también de muestra valga este video que os pongo tomado sobre el prototipo.
Y seguidamente os pongo el código que hay que cargar en Arduino para que el sistema te funcione.
//Encendido de display 0 al 9 con Arduino y driver CD4511BE
int led1 = 12;int led2 = 11;
int led3 = 10;
int led4 = 9;
void setup(){
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
}
void loop(){
//Numero 0
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
delay(2000);
//Numero 1
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
delay(2000);
//Numero 2
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
delay(2000);
//Numero 3
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
delay(2000);
//Numero 4
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
delay(2000);
//Numero 5
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
delay(2000);
//Numero 6
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
delay(2000);
//Numero 7
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
delay(2000);
//Numero 8
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
delay(2000);
//Numero 9
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
delay(2000);
}
Copia el código en el editor de Arduino, está comprobado y funciona perfectamente si no fuera así revisa que no te hayas dejado alguna cosilla sin conectar.
Bueno amig@s esto es todo por hoy espero que sea de vuestro agrado, hasta la próxima.
No hay comentarios:
Publicar un comentario