SlideShare une entreprise Scribd logo
1  sur  3
Ing. Fernando Marcos Marcos
1
CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
Marcos Marcos Fernando
fmarcos@uabc.edu.mx
RESUMEN: El proyecto se resume en el desarrollo
de un contador binario descendente de 14 bits, con un
regulador de velocidad de conteo.
1 INTRODUCCIÓN
El desarrollo de sistemas automáticos se ha
tornado aún más sencillo con el uso de
microcontroladores ya que la cantidad de funciones y
aplicaciones que se les puede dar son en verdad
extensas,se puede simplemente jugar con un led (Blink)
hasta hacer sistemas más complejos como una mano
robótica,un carrito, un cuadricoptero pero de hecho esto
también se vuelve más sencillo con el uso de
complementos que se adaptan de manera sencilla al
microcontrolador, se puede decir que los limites en los
usos y/o aplicaciones de los micros están en nuestra
imaginación.
Arduino es una herramienta para hacer que los
ordenadores puedan sentir y controlar el mundo físico a
través de tu ordenador personal. Es una plataforma de
desarrollo de computación física (physical computing) de
código abierto, basada en una placa con un sencillo
microcontrolador y un entorno de desarrollo para crear
software (programas) para la placa.
Arduino puede ser utilizado para crear objetos
interactivos, leyendo datos de una gran variedad de
interruptores y sensores y controlar multitud de tipos de
luces,motores y otros actuadores físicos. Los proyectos
de Arduino pueden ser autónomos o comunicarse con
un programa (software) que se ejecute en tu ordenador
(ej. Flash, Processing, MaxMSP).La placa puedes
montarla tu mismo o comprarla ya lista para usar, y el
software de desarrollo es abierto y lo puedes descargar
gratis.
El lenguaje de programación de Arduino es una
implementación de Wiring, una plataforma de
computación física parecida, que a su vez se basa en
Processing, un entorno de programación multimedia.
2 TEORIA
Contadores
Todos los sistemas digitales complejos contienen
varios contadores. Las misiones de un contador son,
además de la obvia de contar sucesos o periodos de
tiempo o poner en orden secuencial acontecimientos,
otras no tan obvias como dividir una frecuencia,
direccionar y servir como unidades de memoria.
Existen muchos microcontroladores y plataformas
con microcontroladores disponibles para la computación
física. Parallax Basic Stamp, BX-24 de Netmedia,
Phidgets, Handyboard del MIT, y muchos otros ofrecen
funcionalidades similares. Todas estas herramientas
organizan el complicado trabajo de programar un
microcontrolador en paquetes fáciles de usar. Arduino,
además de simplificar el proceso de trabajar con
microcontroladores, ofrece algunas ventajas respecto a
otros sistemas a profesores, estudiantes y amateurs.
Las placas Arduino son más accesibles
comparadas con otras plataformas de
microcontroladores.
Multi-Plataforma
El software de Arduino funciona en los sistemas
operativos Windows, Macintosh OSX y Linux. La
mayoría de los entornos para microcontroladores están
limitados a Windows.
Entorno de programación simple y directo
El entorno de programación de Arduino es fácil de
usar para principiantes ylo suficientemente flexible para
los usuarios avanzados. Pensando en los profesores,
Arduino está basado en el entorno de programación de
Procesing con lo que el estudiante que aprenda a
programar en este entorno se sentirá familiarizado con el
entorno de desarrollo Arduino.
Software ampliable y de código abierto
El software Arduino esta publicado bajo una
licencia libre y preparado para ser ampliado por
programadores experimentados. El lenguaje puede
ampliarse a través de librerías de C++, y si se está
interesado en profundizar en los detalles técnicos, se
puede dar el salto a la programación en el lenguaje AVR
C en el que está basado.De igual modo se puede añadir
directamente código en AVR C en tus programas si así
lo deseas.
Hardware ampliable y de Código abierto
Arduino está basado en los microcontroladores
ATMEGA168, ATMEGA328y ATMEGA1280.
Los planos de los módulos están publicados bajo
licencia Creative Commons, por lo que diseñadores de
circuitos con experiencia pueden hacer su propia versión
del módulo, ampliándolo u optimizándolo. Incluso
usuarios relativamente inexpertos pueden construir la
versión para placa de desarrollo para entender cómo
funciona y ahorrar algo de dinero.
3 DESARROLLO
Lo materiales y/o equipo necesarios para el
proyecto son:
- 1 Potenciómetro de 10kΩ (No importa el valor
de este componente)
- 14 Leds
- 14 Resistencias de 220kΩ
- Computadora
- Plataforma de desarrollo
- Arduinino μc ATmega328P
- Protoboard
- Cable y pinzas peladoras
- Cable USB Arduino
- Fuente de Voltaje
- 2 pares de cable banana – caimán
Ing. Fernando Marcos Marcos
2
El circuito que se armo para el proyecto es el
mostrado en la figura 1. Se utilizaron todas las
entradas/salidas digitales de la tarjeta Arduino.
Figura 1. Circuito
Las conexiones realizadas en la figura 1 son muy
sencillas, cada puerto digital va conectada a una
resistencia de 220 Ohms, las cuales a su vez van
conectadas al cátodo de los leds,los ánodos de los leds
están conectadas directamente a tierra. Para el caso del
potenciómetro, un extremo está conectado a tierra
(GND) y el otro a Vcc (5 V), no importa el orden, y la
terminal central variable va conectada al puerto
analógico A0 de la tarjeta Arduino, la cual se
determinara como entrada o lectura, y permitirá el
control de velocidad de conteo.
El contador binario consta de 14 bits, por lo tanto el
número máximo a contar es 11 1111 1111 1111 y el
mínimo es 00 0000 0000 0000, lo que es decimal se
refiere a contar a un máximo de 16,383 y un mínimo de
cero.
Las E/S Digitales están divididas en dos grupos de
registros diferente, lo cual limita a cada registro a un
contador de 8 bits para el caso del PortD y un contador
de 6 bits para el caso del PortB, pero mediante una
conexión en cascada de ambos registros es posible
tener un registro resultante de 14 E/S. Ambos registros
ordenan los bits de derecha a izquierda, donde el
extremo derecho corresponde al bit de menor nivel,
mientras que el bitdel extremo izquierdo corresponde al
bit de mayor nivel.
Para determinar la función de los puertos digitales
ya sea como salidas se utiliza el numero 1 y para el caso
de usarlos como entradas se utiliza el numero 0. A
continuación se muestra un ejemplo sencillo de ambos
registros de puertos (Para el caso de Arduino Uno con
ATmega328P).
Ejemplo 1 para PortD. El siguiente código
determina que los puertos digitales de 1 al 7 se
manejaran como salidas y el puerto digital 0 se manejara
como entrada.
DDRD=B11111110;
Ejemplo 2 para PortB. El siguiente código
determina que los puertos digitales de 13 al 10 se
manejaran como salidas y los puertos digitales 9 y 8 se
manejara como entradas.
DDRB=B111100;
Para el desarrollo de la práctica todos los puertos
digitales se utilizaran como salidas.
Para fines prácticos del proyecto teóricamente hay
un solo registro,es cual es resultante de la conexión en
cascada de los dos registros (PortD y PortB), por lo tanto
el puerto digital 0 corresponde al bit de menor nivel y el
puerto digital 13 corresponde al bitde mayor nivel. En el
diagrama 1 se pueden observar dos contadores,
Contador1 y Contador2 los cuales representan a los
contadores de los Registros PortD y PortB
respectivamente, el contador del Registro PortD
controlara el contador del registro PortB, para ello se han
conectado en cascada
De manera general la lógica utilizada para la
programación se muestra en el diagrama 1.
Diagrama 1. Lógica del contador representado en un
diagrama de flujo.
Ing. Fernando Marcos Marcos
3
La programación desarrollada es la siguiente:
void setup(){
DDRD=B11111111; /*Configurando como salida los
puertos D del arduino (pines 0 – 7)*/
DDRB=B111111;} /*Configurando como salida los
puertos B del arduino (pines 8-13)*/
void loop(){
for(int contador2=63;contador2>-1;contador2--){
for(int contador1=255;contador1>-1;contador1--){
PORTD=byte(contador1);
PORTB=byte(contador2);
delay(map(analogRead(A0),0,1023,0,1000)); }}
}
El control de velocidad se ha programado usando
la función map,la cual nos permite mapear un rango de
valores a otro, en el caso de las lecturas analógicas por
defaultsiempre nos arrojara una lectura del rango del 0
al 1023, pero para el caso práctico, se han mapeado
estos valores al rango de 0 milisegundo a 1000
milisegundos.
El resultado obtenido se muestra en la figura 2.
Figura 2. Circuito mostrando el número decimal 16,382
en binario.
Debido a que es un contador descendente el
contador empezara a partir del número 16,383 en binario
hasta es 0 binario e iniciara el ciclo una vez terminado el
conteo.
4 ANALISIS DE RESULTADOS
4.1 Discusión de la precisión y exactitud de
los resultados.
El resultado obtenido fue lo que se esperaba.
4.2 Análisis de los posibles errores en los
resultados.
Sin error alguno.
4.3 Descripción de cualquier resultado
anormal.
Ningún resultado anormal en el desarrollo del
proyecto.
5 CONCLUSION
El programa está limitado a tarjetas arduino con
ATmega328P o para aquellas tarjetas que manejen un
microcontrolador con una estructura similar al
ATmega328P, ya que los registros cambian de un
microcontrolador a otro (en algunos casos), para lo cual
el usuario tendrá que conocer la estructura de su tarjeta
y sus componentes de hardware para realizar los
cambios pertinentes en el programa, de lo contrario la
programación no será funcional.
El uso de funciones y de registros permite un
ahorro de memoria, tiempo de procesamiento y
recursos, además de agilizar la programación y su
asimilación.
El uso de registros hace posible facilitar el manejo
de las E/S digitales y analógicas, y el dividir los puertos
en tres grupos diferentes de registros afecta de alguna
manera en la complejidad del programa de la práctica,
pero con conocimientos básicos de electrónica digital el
ajuste llega a ser sencillo.
6 BIBLIOGRAFIA
Link del diseño electrónico ysimulación
https://www.tinkercad.com/things/bOK7JA4XM4j
http://arduino.cc
http://platea.pntic.mec.es/~lmarti2/arduino/introardu
/index.htm

Contenu connexe

Tendances

CIRCUITOS SECUENCIALES
CIRCUITOS SECUENCIALESCIRCUITOS SECUENCIALES
CIRCUITOS SECUENCIALES
Luis Zurita
 
Diseño de un sistema de alarma con lógica programable
Diseño de un sistema de alarma con lógica programableDiseño de un sistema de alarma con lógica programable
Diseño de un sistema de alarma con lógica programable
EL ESTAFADOR
 
Ejercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresEjercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadores
Bertha Vega
 

Tendances (20)

8 2 convertidor-analogico_-digital
8 2 convertidor-analogico_-digital8 2 convertidor-analogico_-digital
8 2 convertidor-analogico_-digital
 
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
 
Presentación placa arduino
Presentación placa arduinoPresentación placa arduino
Presentación placa arduino
 
Practica 7 Flip Flop
Practica 7 Flip FlopPractica 7 Flip Flop
Practica 7 Flip Flop
 
Codificador decimal bcd
Codificador decimal bcdCodificador decimal bcd
Codificador decimal bcd
 
CIRCUITOS SECUENCIALES
CIRCUITOS SECUENCIALESCIRCUITOS SECUENCIALES
CIRCUITOS SECUENCIALES
 
vhdl
vhdlvhdl
vhdl
 
2.7. Recortadores con Diodos
2.7. Recortadores con Diodos2.7. Recortadores con Diodos
2.7. Recortadores con Diodos
 
El PIC16F84
El PIC16F84El PIC16F84
El PIC16F84
 
Identificacion de un transistor
Identificacion de un transistorIdentificacion de un transistor
Identificacion de un transistor
 
Conversión NAND y NOR
Conversión NAND y NORConversión NAND y NOR
Conversión NAND y NOR
 
Mis proyectos con Arduino
Mis proyectos con ArduinoMis proyectos con Arduino
Mis proyectos con Arduino
 
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
 
Diseño de un Amplificador de Audio
Diseño de un Amplificador de AudioDiseño de un Amplificador de Audio
Diseño de un Amplificador de Audio
 
Proyectos electrónica digital
Proyectos electrónica digitalProyectos electrónica digital
Proyectos electrónica digital
 
Diseño de un sistema de alarma con lógica programable
Diseño de un sistema de alarma con lógica programableDiseño de un sistema de alarma con lógica programable
Diseño de un sistema de alarma con lógica programable
 
Ejercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresEjercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadores
 
Informe practica 8 diodos zener
Informe practica 8 diodos zenerInforme practica 8 diodos zener
Informe practica 8 diodos zener
 
10 registros
10 registros10 registros
10 registros
 
DIAGRAMAS DE TIEMPO
DIAGRAMAS DE TIEMPODIAGRAMAS DE TIEMPO
DIAGRAMAS DE TIEMPO
 

Similaire à CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO

La electricidad y la electronica tarjeta arduino.
La electricidad y la electronica  tarjeta arduino.La electricidad y la electronica  tarjeta arduino.
La electricidad y la electronica tarjeta arduino.
DanielaSanchez255
 

Similaire à CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO (20)

CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE-DESCENDENTE DE 14 BITS CON ARDUINO
 
Señales con arduino y DAC
Señales con arduino y DACSeñales con arduino y DAC
Señales con arduino y DAC
 
La electricidad y la electronica tarjeta arduino.
 La electricidad y la electronica  tarjeta arduino. La electricidad y la electronica  tarjeta arduino.
La electricidad y la electronica tarjeta arduino.
 
La electricidad y la electrónica tarjeta arduino.
La electricidad y la electrónica  tarjeta arduino. La electricidad y la electrónica  tarjeta arduino.
La electricidad y la electrónica tarjeta arduino.
 
La electricidad y la electronica tarjeta arduino.
La electricidad y la electronica  tarjeta arduino.La electricidad y la electronica  tarjeta arduino.
La electricidad y la electronica tarjeta arduino.
 
La electricidad y la electronica tarjeta arduino.
La electricidad y la electronica  tarjeta arduino.La electricidad y la electronica  tarjeta arduino.
La electricidad y la electronica tarjeta arduino.
 
Proyecto arduino medidor de temperatura
Proyecto arduino medidor de temperaturaProyecto arduino medidor de temperatura
Proyecto arduino medidor de temperatura
 
Tarjeta arduino (1)
Tarjeta arduino (1)Tarjeta arduino (1)
Tarjeta arduino (1)
 
Tarjeta arduino (1)
Tarjeta arduino (1)Tarjeta arduino (1)
Tarjeta arduino (1)
 
Tarjeta arduino (1)
Tarjeta arduino (1)Tarjeta arduino (1)
Tarjeta arduino (1)
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Tecnologia
Tecnologia Tecnologia
Tecnologia
 
Tecnologia
Tecnologia Tecnologia
Tecnologia
 
DISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINO
DISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINODISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINO
DISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINO
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Trababajo sobre placa arduino
Trababajo sobre placa arduinoTrababajo sobre placa arduino
Trababajo sobre placa arduino
 
Manual arduino
Manual arduinoManual arduino
Manual arduino
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 

Plus de Fernando Marcos Marcos

SISTEMA DE CONTROL Y MONITOREO DE HUMEDAD EN LOMBRICOMPOSTA - HUMIDITY MONITO...
SISTEMA DE CONTROL Y MONITOREO DE HUMEDAD EN LOMBRICOMPOSTA - HUMIDITY MONITO...SISTEMA DE CONTROL Y MONITOREO DE HUMEDAD EN LOMBRICOMPOSTA - HUMIDITY MONITO...
SISTEMA DE CONTROL Y MONITOREO DE HUMEDAD EN LOMBRICOMPOSTA - HUMIDITY MONITO...
Fernando Marcos Marcos
 

Plus de Fernando Marcos Marcos (20)

LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
 
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328PMultiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
 
MATRIZ LED 4x10 CON ARDUINO - ATMEGA328P
MATRIZ LED 4x10 CON ARDUINO - ATMEGA328PMATRIZ LED 4x10 CON ARDUINO - ATMEGA328P
MATRIZ LED 4x10 CON ARDUINO - ATMEGA328P
 
GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATOR
GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATORGENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATOR
GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATOR
 
DISEÑO DE PCB CON MODULO DE TRANSMISIÓN Y RECEPCIÓN RN41
DISEÑO DE PCB CON MODULO DE TRANSMISIÓN Y RECEPCIÓN RN41DISEÑO DE PCB CON MODULO DE TRANSMISIÓN Y RECEPCIÓN RN41
DISEÑO DE PCB CON MODULO DE TRANSMISIÓN Y RECEPCIÓN RN41
 
DISEÑO Y DESARROLLO DE UNA PLACA PCB CON ATMEGA 328
DISEÑO Y DESARROLLO DE UNA PLACA PCB CON ATMEGA 328 DISEÑO Y DESARROLLO DE UNA PLACA PCB CON ATMEGA 328
DISEÑO Y DESARROLLO DE UNA PLACA PCB CON ATMEGA 328
 
DISEÑO DEL JUEGO PING PONG EN FPGA - VHDL - VGA
DISEÑO DEL JUEGO PING PONG EN FPGA - VHDL - VGADISEÑO DEL JUEGO PING PONG EN FPGA - VHDL - VGA
DISEÑO DEL JUEGO PING PONG EN FPGA - VHDL - VGA
 
APLICACIONES DE FOURIER
APLICACIONES DE FOURIERAPLICACIONES DE FOURIER
APLICACIONES DE FOURIER
 
APLICACIONES DE LAPLACE
APLICACIONES DE LAPLACEAPLICACIONES DE LAPLACE
APLICACIONES DE LAPLACE
 
CONTROL AUTOMATICO DE GANANCIA (AGC)
CONTROL AUTOMATICO DE GANANCIA (AGC)CONTROL AUTOMATICO DE GANANCIA (AGC)
CONTROL AUTOMATICO DE GANANCIA (AGC)
 
PLL (OSCILADOR POR CAMBIO DE FASE) - PHASE SHIFT OSCILLATOR
PLL (OSCILADOR POR CAMBIO DE FASE) - PHASE SHIFT OSCILLATORPLL (OSCILADOR POR CAMBIO DE FASE) - PHASE SHIFT OSCILLATOR
PLL (OSCILADOR POR CAMBIO DE FASE) - PHASE SHIFT OSCILLATOR
 
USO DEL TRANSISTOR COMO SWITCH - TRANSISTOR EN CORTE Y EN SATURACION - TRANSI...
USO DEL TRANSISTOR COMO SWITCH - TRANSISTOR EN CORTE Y EN SATURACION - TRANSI...USO DEL TRANSISTOR COMO SWITCH - TRANSISTOR EN CORTE Y EN SATURACION - TRANSI...
USO DEL TRANSISTOR COMO SWITCH - TRANSISTOR EN CORTE Y EN SATURACION - TRANSI...
 
SISTEMA DE CONTROL Y MONITOREO DE HUMEDAD EN LOMBRICOMPOSTA - HUMIDITY MONITO...
SISTEMA DE CONTROL Y MONITOREO DE HUMEDAD EN LOMBRICOMPOSTA - HUMIDITY MONITO...SISTEMA DE CONTROL Y MONITOREO DE HUMEDAD EN LOMBRICOMPOSTA - HUMIDITY MONITO...
SISTEMA DE CONTROL Y MONITOREO DE HUMEDAD EN LOMBRICOMPOSTA - HUMIDITY MONITO...
 
DISEÑO ANALOGICO Y ELECTRONICA - ADC - CONVERTIDOR ANALÓGICO DIGITAL - ANALOG...
DISEÑO ANALOGICO Y ELECTRONICA - ADC - CONVERTIDOR ANALÓGICO DIGITAL - ANALOG...DISEÑO ANALOGICO Y ELECTRONICA - ADC - CONVERTIDOR ANALÓGICO DIGITAL - ANALOG...
DISEÑO ANALOGICO Y ELECTRONICA - ADC - CONVERTIDOR ANALÓGICO DIGITAL - ANALOG...
 
DISEÑO ANALOGICO Y ELECTRONICA - DAC 8 BITS
DISEÑO ANALOGICO Y ELECTRONICA - DAC 8 BITSDISEÑO ANALOGICO Y ELECTRONICA - DAC 8 BITS
DISEÑO ANALOGICO Y ELECTRONICA - DAC 8 BITS
 
DISEÑO Y ELECTRÓNICA ANALÓGICA - OSCILADORES
DISEÑO Y ELECTRÓNICA ANALÓGICA - OSCILADORESDISEÑO Y ELECTRÓNICA ANALÓGICA - OSCILADORES
DISEÑO Y ELECTRÓNICA ANALÓGICA - OSCILADORES
 
DISEÑO Y ELECTRONICA ANALOGICA - AMPLIFICADOR DIFERENCIADOR E INTEGRADOR - DI...
DISEÑO Y ELECTRONICA ANALOGICA - AMPLIFICADOR DIFERENCIADOR E INTEGRADOR - DI...DISEÑO Y ELECTRONICA ANALOGICA - AMPLIFICADOR DIFERENCIADOR E INTEGRADOR - DI...
DISEÑO Y ELECTRONICA ANALOGICA - AMPLIFICADOR DIFERENCIADOR E INTEGRADOR - DI...
 
DISEÑO Y ELECTRONICA ANALOGICA - FILTRO PASA BAJOS - LOW PASS FILTER
DISEÑO Y ELECTRONICA ANALOGICA - FILTRO PASA BAJOS - LOW PASS FILTERDISEÑO Y ELECTRONICA ANALOGICA - FILTRO PASA BAJOS - LOW PASS FILTER
DISEÑO Y ELECTRONICA ANALOGICA - FILTRO PASA BAJOS - LOW PASS FILTER
 
DISEÑO Y ELECTRÓNICA ANALÓGICA - CONFIGURACIONES DEL OP AMP LM741
DISEÑO Y ELECTRÓNICA ANALÓGICA - CONFIGURACIONES DEL OP AMP LM741DISEÑO Y ELECTRÓNICA ANALÓGICA - CONFIGURACIONES DEL OP AMP LM741
DISEÑO Y ELECTRÓNICA ANALÓGICA - CONFIGURACIONES DEL OP AMP LM741
 
DISEÑO ANALOGICO - AMPLIFICADOR DE INSTRUMENTACION INA114 Y LM741
DISEÑO ANALOGICO - AMPLIFICADOR DE INSTRUMENTACION INA114 Y LM741DISEÑO ANALOGICO - AMPLIFICADOR DE INSTRUMENTACION INA114 Y LM741
DISEÑO ANALOGICO - AMPLIFICADOR DE INSTRUMENTACION INA114 Y LM741
 

Dernier

UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
refrielectriccarlyz
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
gustavoiashalom
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
andersonsubero28
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
evercoyla
 

Dernier (20)

EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
 
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
CI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdf
CI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdfCI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdf
CI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdf
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantas
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
Mecatronica Automotriz .pdf
Mecatronica Automotriz              .pdfMecatronica Automotriz              .pdf
Mecatronica Automotriz .pdf
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 

CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO

  • 1. Ing. Fernando Marcos Marcos 1 CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO Marcos Marcos Fernando fmarcos@uabc.edu.mx RESUMEN: El proyecto se resume en el desarrollo de un contador binario descendente de 14 bits, con un regulador de velocidad de conteo. 1 INTRODUCCIÓN El desarrollo de sistemas automáticos se ha tornado aún más sencillo con el uso de microcontroladores ya que la cantidad de funciones y aplicaciones que se les puede dar son en verdad extensas,se puede simplemente jugar con un led (Blink) hasta hacer sistemas más complejos como una mano robótica,un carrito, un cuadricoptero pero de hecho esto también se vuelve más sencillo con el uso de complementos que se adaptan de manera sencilla al microcontrolador, se puede decir que los limites en los usos y/o aplicaciones de los micros están en nuestra imaginación. Arduino es una herramienta para hacer que los ordenadores puedan sentir y controlar el mundo físico a través de tu ordenador personal. Es una plataforma de desarrollo de computación física (physical computing) de código abierto, basada en una placa con un sencillo microcontrolador y un entorno de desarrollo para crear software (programas) para la placa. Arduino puede ser utilizado para crear objetos interactivos, leyendo datos de una gran variedad de interruptores y sensores y controlar multitud de tipos de luces,motores y otros actuadores físicos. Los proyectos de Arduino pueden ser autónomos o comunicarse con un programa (software) que se ejecute en tu ordenador (ej. Flash, Processing, MaxMSP).La placa puedes montarla tu mismo o comprarla ya lista para usar, y el software de desarrollo es abierto y lo puedes descargar gratis. El lenguaje de programación de Arduino es una implementación de Wiring, una plataforma de computación física parecida, que a su vez se basa en Processing, un entorno de programación multimedia. 2 TEORIA Contadores Todos los sistemas digitales complejos contienen varios contadores. Las misiones de un contador son, además de la obvia de contar sucesos o periodos de tiempo o poner en orden secuencial acontecimientos, otras no tan obvias como dividir una frecuencia, direccionar y servir como unidades de memoria. Existen muchos microcontroladores y plataformas con microcontroladores disponibles para la computación física. Parallax Basic Stamp, BX-24 de Netmedia, Phidgets, Handyboard del MIT, y muchos otros ofrecen funcionalidades similares. Todas estas herramientas organizan el complicado trabajo de programar un microcontrolador en paquetes fáciles de usar. Arduino, además de simplificar el proceso de trabajar con microcontroladores, ofrece algunas ventajas respecto a otros sistemas a profesores, estudiantes y amateurs. Las placas Arduino son más accesibles comparadas con otras plataformas de microcontroladores. Multi-Plataforma El software de Arduino funciona en los sistemas operativos Windows, Macintosh OSX y Linux. La mayoría de los entornos para microcontroladores están limitados a Windows. Entorno de programación simple y directo El entorno de programación de Arduino es fácil de usar para principiantes ylo suficientemente flexible para los usuarios avanzados. Pensando en los profesores, Arduino está basado en el entorno de programación de Procesing con lo que el estudiante que aprenda a programar en este entorno se sentirá familiarizado con el entorno de desarrollo Arduino. Software ampliable y de código abierto El software Arduino esta publicado bajo una licencia libre y preparado para ser ampliado por programadores experimentados. El lenguaje puede ampliarse a través de librerías de C++, y si se está interesado en profundizar en los detalles técnicos, se puede dar el salto a la programación en el lenguaje AVR C en el que está basado.De igual modo se puede añadir directamente código en AVR C en tus programas si así lo deseas. Hardware ampliable y de Código abierto Arduino está basado en los microcontroladores ATMEGA168, ATMEGA328y ATMEGA1280. Los planos de los módulos están publicados bajo licencia Creative Commons, por lo que diseñadores de circuitos con experiencia pueden hacer su propia versión del módulo, ampliándolo u optimizándolo. Incluso usuarios relativamente inexpertos pueden construir la versión para placa de desarrollo para entender cómo funciona y ahorrar algo de dinero. 3 DESARROLLO Lo materiales y/o equipo necesarios para el proyecto son: - 1 Potenciómetro de 10kΩ (No importa el valor de este componente) - 14 Leds - 14 Resistencias de 220kΩ - Computadora - Plataforma de desarrollo - Arduinino μc ATmega328P - Protoboard - Cable y pinzas peladoras - Cable USB Arduino - Fuente de Voltaje - 2 pares de cable banana – caimán
  • 2. Ing. Fernando Marcos Marcos 2 El circuito que se armo para el proyecto es el mostrado en la figura 1. Se utilizaron todas las entradas/salidas digitales de la tarjeta Arduino. Figura 1. Circuito Las conexiones realizadas en la figura 1 son muy sencillas, cada puerto digital va conectada a una resistencia de 220 Ohms, las cuales a su vez van conectadas al cátodo de los leds,los ánodos de los leds están conectadas directamente a tierra. Para el caso del potenciómetro, un extremo está conectado a tierra (GND) y el otro a Vcc (5 V), no importa el orden, y la terminal central variable va conectada al puerto analógico A0 de la tarjeta Arduino, la cual se determinara como entrada o lectura, y permitirá el control de velocidad de conteo. El contador binario consta de 14 bits, por lo tanto el número máximo a contar es 11 1111 1111 1111 y el mínimo es 00 0000 0000 0000, lo que es decimal se refiere a contar a un máximo de 16,383 y un mínimo de cero. Las E/S Digitales están divididas en dos grupos de registros diferente, lo cual limita a cada registro a un contador de 8 bits para el caso del PortD y un contador de 6 bits para el caso del PortB, pero mediante una conexión en cascada de ambos registros es posible tener un registro resultante de 14 E/S. Ambos registros ordenan los bits de derecha a izquierda, donde el extremo derecho corresponde al bit de menor nivel, mientras que el bitdel extremo izquierdo corresponde al bit de mayor nivel. Para determinar la función de los puertos digitales ya sea como salidas se utiliza el numero 1 y para el caso de usarlos como entradas se utiliza el numero 0. A continuación se muestra un ejemplo sencillo de ambos registros de puertos (Para el caso de Arduino Uno con ATmega328P). Ejemplo 1 para PortD. El siguiente código determina que los puertos digitales de 1 al 7 se manejaran como salidas y el puerto digital 0 se manejara como entrada. DDRD=B11111110; Ejemplo 2 para PortB. El siguiente código determina que los puertos digitales de 13 al 10 se manejaran como salidas y los puertos digitales 9 y 8 se manejara como entradas. DDRB=B111100; Para el desarrollo de la práctica todos los puertos digitales se utilizaran como salidas. Para fines prácticos del proyecto teóricamente hay un solo registro,es cual es resultante de la conexión en cascada de los dos registros (PortD y PortB), por lo tanto el puerto digital 0 corresponde al bit de menor nivel y el puerto digital 13 corresponde al bitde mayor nivel. En el diagrama 1 se pueden observar dos contadores, Contador1 y Contador2 los cuales representan a los contadores de los Registros PortD y PortB respectivamente, el contador del Registro PortD controlara el contador del registro PortB, para ello se han conectado en cascada De manera general la lógica utilizada para la programación se muestra en el diagrama 1. Diagrama 1. Lógica del contador representado en un diagrama de flujo.
  • 3. Ing. Fernando Marcos Marcos 3 La programación desarrollada es la siguiente: void setup(){ DDRD=B11111111; /*Configurando como salida los puertos D del arduino (pines 0 – 7)*/ DDRB=B111111;} /*Configurando como salida los puertos B del arduino (pines 8-13)*/ void loop(){ for(int contador2=63;contador2>-1;contador2--){ for(int contador1=255;contador1>-1;contador1--){ PORTD=byte(contador1); PORTB=byte(contador2); delay(map(analogRead(A0),0,1023,0,1000)); }} } El control de velocidad se ha programado usando la función map,la cual nos permite mapear un rango de valores a otro, en el caso de las lecturas analógicas por defaultsiempre nos arrojara una lectura del rango del 0 al 1023, pero para el caso práctico, se han mapeado estos valores al rango de 0 milisegundo a 1000 milisegundos. El resultado obtenido se muestra en la figura 2. Figura 2. Circuito mostrando el número decimal 16,382 en binario. Debido a que es un contador descendente el contador empezara a partir del número 16,383 en binario hasta es 0 binario e iniciara el ciclo una vez terminado el conteo. 4 ANALISIS DE RESULTADOS 4.1 Discusión de la precisión y exactitud de los resultados. El resultado obtenido fue lo que se esperaba. 4.2 Análisis de los posibles errores en los resultados. Sin error alguno. 4.3 Descripción de cualquier resultado anormal. Ningún resultado anormal en el desarrollo del proyecto. 5 CONCLUSION El programa está limitado a tarjetas arduino con ATmega328P o para aquellas tarjetas que manejen un microcontrolador con una estructura similar al ATmega328P, ya que los registros cambian de un microcontrolador a otro (en algunos casos), para lo cual el usuario tendrá que conocer la estructura de su tarjeta y sus componentes de hardware para realizar los cambios pertinentes en el programa, de lo contrario la programación no será funcional. El uso de funciones y de registros permite un ahorro de memoria, tiempo de procesamiento y recursos, además de agilizar la programación y su asimilación. El uso de registros hace posible facilitar el manejo de las E/S digitales y analógicas, y el dividir los puertos en tres grupos diferentes de registros afecta de alguna manera en la complejidad del programa de la práctica, pero con conocimientos básicos de electrónica digital el ajuste llega a ser sencillo. 6 BIBLIOGRAFIA Link del diseño electrónico ysimulación https://www.tinkercad.com/things/bOK7JA4XM4j http://arduino.cc http://platea.pntic.mec.es/~lmarti2/arduino/introardu /index.htm