Está en la página 1de 12

INSTITUTO POLITÉ CNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA


MECÁ NICA Y ELÉ CTRICA
“ZACATENCO”

ELÉ CTRONICA III

PRACTICA

“CONTADOR 0-99”

NOMBRE DEL PROFESOR: DELGADO MENDOZA JOSE LUIS

NOMBRE DE ALUMNOS:
ALVAREZ SALINAS JAVIER 2011250004
ROSAS FLORES EDUARDO TOMAS 2014071416

GRUPO: 6EV3

ÍNDICE
1
1.-MARCO TEÓ RICO……………………………………………………………………………………………...…3

2.-DESARROLLO……………………….............................................................................................................6

3.-HOJA………………………………………………………………………………………………….……………11

4.- CONCLUSIONES…………………………………………..……………………………...……………………12

5.-BIBLIOGRAFIA ………………………………………………………………………………………………....12

2
MARCO TEÓ RICO

REGISTROS DE PUERTOS
Primeramente los registros nos permiten una manipulació n má s rá pida de los pines
de E/S de nuestro  Arduino UNO. Por lo cual el microcontrolador de esta placa tiene
tres puertos:

 Pin digital de 8-13


  Pines de entrada analó gica
  Pines digitales 0-7

 Debido a esto cada uno de estos puertos está controlado por tres registros los
cuales se definen por DDR, PORT y PIN.
 REGISTRO DDR
 Determina si el pin es entrada o salida.
 Ejemplo:
 DDRD= B00001111;
 Dónde:
 D es el puerto a controlar
 B indicamos que es el có digo binario
 0  =entrada          1=salida
 En este ejemplo estamos declarando que la mitad de nuestro puerto  sea
entrada y la otra parte salida, como resultado evitamos escribir varias veces
“pinMode(x,OUTPUT)” para declarar cada pin.
 Con respecto al ejemplo anterior se toma el primer nú mero de la derecha que
es el menos significativo por lo tanto la relació n de los pines será de la
siguiente manera:

Por otra parte si queremos hacerlo en forma decimal solo bastaría con 31 y esto sería
igual a activar los primeros cuatro pines como salida DDRD=31 o DDRD=255 si
queremos activar todo el puerto como salida.

REGISTRO PORT

3
Controlada si el pin esta en alto o bajo.

PORTD=10101010
En cuanto a este ejemplo le asignamos que los pines 1, 3, 5, 7 está n en estado alto
mientras que los pines 0, 2, 4, 6 está n en estado bajo.

REGISTRO PIN
Lee el estado de los pines de entrada establecidos.

PIND
Se lee todo el puerto que se ha configurado como entrada. Este registro nos da un 1 si
a un pin del microcontrolador se le está alimentando externamente, y un cero si esta
en nivel bajo de voltaje.

DISPLAY 7 SEGMENTOS
Puesto que un display de 7 segmentos no son má s que siete LEDs nos sirve para
mostrar nú meros o caracteres encendiendo o apagando cada uno ellos. Por
consiguiente a cada uno de los LEDs se le denomina segmento,  los cuales para
activarlos basta con  conectar el comú n a tierra y voltaje en el segmento que deseemos
activar (en este caso que es cá todo comú n).

Así que es necesario hacer una tabla para representar los nú meros con la relació n de
LEDs encendidos y apagados en cada nú mero. Por ejemplo:

Por ejemplo para mostrar el nú mero 4 apagamos los segmentos A, D,y E por


consiguiente a estos los marcamos con un cero y todos los demá s en uno.

4
Una vez que tengamos nuestra tabla el có digo binario obtenido lo convertimos a
base HEXADECIMAL, esto para colocar el valor en la programació n tomando en
cuenta el Pin 6/A como el má s significativo.

CONEXIÓ N: DISPLAY  7 SEGMENTOS


Para realizar la conexió n se coloca una resistencia en cada una de las salidas del
Arduino  en serie a los segmentos del Display.

5
DESARROLLO
Contador de 0-99
/*
ARDUINO - DISPLAY
2 a
3 b
4 c
5 d
6 e
7 f
8 g

10 comú n decenas
11 comú n unidades

*/

int retardo=3;

6
int var=0;
int unidad=0;
int decena=0;
int conmutador=0;
int cont=0;
void setup() {
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);

pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
}

void loop() {
delay(retardo);
cont++;
if(cont==100){
cont=0;
unidad=unidad+1;
if(unidad>=10){
decena=decena+1;
unidad=0;
if(decena>=10
){
decena=0;}}}
if(conmutador == 0){
digitalWrite(10,1);
digitalWrite(11,0);
var=unidad;
conmutador=1;}
else{
digitalWrite(10,0);
digitalWrite(11,1);
var=decena;
conmutador=0;

7
}
switch (var){
case 1:
digitalWrite(2,1);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1);
digitalWrite(8,1);
break;
case 2:
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,1);
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,1);
digitalWrite(8,0);
break;
case 3:
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,1);
digitalWrite(7,1);
digitalWrite(8,0);
break;
case 4:
digitalWrite(2,1);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,0);
digitalWrite(8,0);
break;
case 5:
digitalWrite(2,0);

8
digitalWrite(3,1);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,1);
digitalWrite(7,0);
digitalWrite(8,0);
break;
case 6:
digitalWrite(2,0);
digitalWrite(3,1);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
digitalWrite(8,0);
break;
case 7:
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1);
digitalWrite(8,1);
break;
case 8:
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
digitalWrite(8,0);
break;
case 9:
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,1);
digitalWrite(6,1);

9
digitalWrite(7,0);
digitalWrite(8,0);
break;
case 0:
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(7,0);
digitalWrite(8,1);
break;
default:
digitalWrite(2,1);
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,1);
digitalWrite(7,1);
digitalWrite(8,1);}

10
HOJA

11
CONCLUSIONES
Con el desarrollo de la prá ctica logro comprender como es que se realiza la correcta
conexió n del circuito y así llevar con ayuda de un programa en arduino, verificá ndolo
y compilá ndolo correctamente para así lograr subirlo a la tarjeta y que este circuito
funcione, y se muestre en el display la correcta numeració n. También es importante
conocer los puertos con lo que se trabaja ademá s de conocer los registros que fueron
necesarios para que funcionara correctamente.

BIBILIOGRAFIA
https://hetpro-store.com/TUTORIALES/contador-de-0-a-99/

12

También podría gustarte