Beruflich Dokumente
Kultur Dokumente
Presentado a:
ING. FABIAN CHAVARRIAGA LENIS
OBJETIVOS ESPECIFICOS
Conocer los comandos bsicos para la programacin en el entorno de
arduino.
Programar pines digitales de entrada y salida.
Distinguir los pines del microcontrolador Atmega de arduino.
Conocer los tipos de display de siete segmentos.
Clasificar los pines del display de siete segmentos.
Conocer el funcionamiento de las resistencias Pull- Up para la adquisicin
de entradas TTL en el microcontrolador.
Recordar el sistema de numeracin binario.
Diagrama de Bloques.
+5V
MICROCONTROLA
DIP DOR DISPLAY 7
SWITCH ARDUINOR SEGMENTOS
4 Bits
GND
MATERIALES.
7. Botn de Reset.
9. LED ON.
11. Puerto de conexiones, est constituido por los pines de entradas o salidas
digitales desde la cero hasta la 7. La configuracin como entrada o salida
debe ser incluida en el programa. Cuando se usa la terminal serial es
conveniente no utilizar los pines cero (Rx) y uno (Tx). Los pines 3, 5 y 6
estn precedidos por el smbolo ~ , lo que indica que permiten su uso como
salidas controladas por ancho de pulso PWM.
DIP SWITCH.
Tomado de Wikipedia
Se trata de un conjunto
de interruptores encapsulados; en
ingles DIP ( Dual In- line Package),
+5V
DIPSWICTH SEALES DE
ENTRADA AL MICRO
RESISTENCIAS 10K
GND
Cuando un interruptor del DIP SWICTH se cierra la corriente fluye a las entradas
del micro debido a que se encuentra en su trayectoria una resistencia de 10K y el
nico camino de baja resistencia es el que dirige hacia el microcontrolador
originndose as los 5V+ o 1 Binario en la entrada del pin del microcontrolador.
ENTRADA AL MICRO
0V o 0 binario
En este punto se define que las salidas del microcontrolador Atmega debern ser
de 0V o Ref para lograr iluminar los segmentos del display de nodo comn.
Tomado de electrontools.com
5V+
RESISTENCIA DE 220
DISPLAY 7 SEGMENTOS
PROCEDIMIENTO.
PIN D
PIN C
PIN E
PINBF
PIN
PIN A
Se empieza por designar los pines del Arduino que trabajaran como entrada y
recibirn las seales lgicas del DIP SWICTH, posteriormente se designan los
pines de que funcionaran como salida del microcontrolador e irn conectados al
display de siete segmentos. Como se ilustra en el siguiente diagrama.
PIN5
PIN4
PIN6
PIN7
PIN3
PIN2
PIN12
PIN G
MONTAJE EN ISIS.
PROGRAMACIN.
La programacin se realiz en el entorno Arduino 8.1 descargado de la pgina de
Arduino.cc. Inicialmente se configuran los pines de entrada y salida segn el
diagrama. Se crean las subrutinas y se realiza la lectura de los pines de entrada,
la condcional if se usa para establecer los pines de entrada en alto y llamar a la
subrutina establecida que enviara al puerto de salida los bit 0 necesarios para
iluminar el display de siete segmentos para poder visualizar el nmero
correspondiente.
CODIGO
void setup() {
pinMode(2,OUTPUT); //segmento A
pinMode(3,OUTPUT); //segmento B
pinMode(4,OUTPUT); //segmento C
pinMode(5,OUTPUT); //segmento D
pinMode(6,OUTPUT); //segmento E
pinMode(7,OUTPUT); //segmento F
pinMode(8,OUTPUT); //segmento G
pinMode (9,INPUT); //ENTRADA 1
pinMode (10,INPUT); //ENTRADA 2
pinMode (11,INPUT); //ENTRADA 3
pinMode (12,INPUT); //ENTRADA 4
void cero ()
{
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
digitalWrite (7,LOW);
digitalWrite (8,HIGH);
loop();
}
void uno ()
{
digitalWrite (2,HIGH);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,HIGH);
digitalWrite (6,HIGH);
digitalWrite (7,HIGH);
digitalWrite (8,HIGH);
loop();
}
void dos()
{
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,HIGH);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
digitalWrite (7,HIGH);
digitalWrite (8,LOW);
loop();
}
void tres()
{
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,HIGH);
digitalWrite (7,HIGH);
digitalWrite (8,LOW);
loop();
}
void cuatro()
{
digitalWrite (2,HIGH);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,HIGH);
digitalWrite (6,HIGH);
digitalWrite (7,LOW);
digitalWrite (8,LOW);
loop();
}
void cinco ()
{
digitalWrite (2,LOW);
digitalWrite (3,HIGH);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,HIGH);
digitalWrite (7,LOW);
digitalWrite (8,LOW);
loop();
}
void seis ()
{
digitalWrite (2,LOW);
digitalWrite (3,HIGH);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
digitalWrite (7,LOW);
digitalWrite (8,LOW);
loop ();
}
void siete ()
{
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,HIGH);
digitalWrite (6,HIGH);
digitalWrite (7,HIGH);
digitalWrite (8,HIGH);
loop ();
}
void ocho ()
{
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
digitalWrite (7,LOW);
digitalWrite (8,LOW);
loop ();
}
void nueve ()
{
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,HIGH);
digitalWrite (6,HIGH);
digitalWrite (7,LOW);
digitalWrite (8,LOW);
loop ();
}
void loop() {
int boton1 = digitalRead (9); //1 del dip
int boton2 = digitalRead (10); //2 del dip
int boton3 = digitalRead (11); //3 del dip
int boton4 = digitalRead (12); //4 del dip
if (boton1==0 && boton2==0 && boton3==0 && boton4==0)
{
cero();
}
if (boton1==0 && boton2==0 && boton3==0 && boton4==1)
{
uno ();
}
if (boton1==0 && boton2==0 && boton3==1 && boton4==0)
{
dos();
}
MONTAJE.