0% encontró este documento útil (0 votos)
288 vistas12 páginas

Practica Contador 0-99

Este documento describe el desarrollo de un contador de 0 a 99 usando un display de 7 segmentos y un Arduino. Explica el marco teórico sobre los registros de puertos y cómo funciona un display de 7 segmentos. Luego detalla el código para mostrar los números en el display al incrementar variables de unidad y decena con un retardo, alternando entre las décadas. Finalmente concluye que aprendió a conectar correctamente el circuito y programarlo en Arduino para que funcione el contador.

Cargado por

Javi Alvez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
288 vistas12 páginas

Practica Contador 0-99

Este documento describe el desarrollo de un contador de 0 a 99 usando un display de 7 segmentos y un Arduino. Explica el marco teórico sobre los registros de puertos y cómo funciona un display de 7 segmentos. Luego detalla el código para mostrar los números en el display al incrementar variables de unidad y decena con un retardo, alternando entre las décadas. Finalmente concluye que aprendió a conectar correctamente el circuito y programarlo en Arduino para que funcione el contador.

Cargado por

Javi Alvez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

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
[Link]

12

También podría gustarte