SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Universidad Autónoma de Baja California 25/08/2014
1
VELOCIDAD DE UNA CANICA
Marcos Marcos Fernando
fmarcos@uabc.edu.mx
RESUMEN:Esta práctica consistió en realizar un
sistema capaz de medir la velocidad de una canica,
para poder elaborar este sistema se utilizaron
sensores de luz, leds, arduino, displays y algunos
otras herramientas. Para poder medir la velocidad
de la canica la hicimos rodar por un tubo,
colocamos dos sensores de luz en los extremos
para que se detectara en qué momento se obstruía
la luz en ellos, se contó el tiempo que llevo
corriendo el sistema, con los datos obtenido que
fueron tiempo y distancia se pudo calcularla
velocidad, y de ahí se imprimieron en tres displays
conectados en cascadas.
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.
2 OBJETIVO
La práctica consiste en utilizar tres indicadores de
siete segmentos los cuales mostrarán la velocidad
de una canica que baja sobre una pequeña
pendiente, en la pendiente se encuentran
colocados dos sensores los cuales permiten medir
el tiempo en que la canica pasa se un punto A a un
punto B. Los indicadores se deben encontrar en
cero y una vez que la canica pasa por el sensor del
punto B se debe mostrar la velocidad en
centímetros por segundo.La velocidad se muestra
por tres segundos y después los indicadores se
regresan a cero.Una de las características del
circuito es que los indicadores de siete segmentos
se deben de encontrar conectados en paralelo, en
esta ocasión no se permite utilizar decodificadores
de siete segmentos para manejar los indicadores,
asícomo plataformas de desarrollo de Arduino que
tienen mayor número de salidas.
3 TEORÍA
Arduino es una herramienta utilizada para que
los ordenadores puedan controlar el mundo físico y
no solo esto también sentirlo.Es una plataforma de
desarrollo de computación física de código abierto,
basada en una placa con un sencillo micro
controlador y un entorno de desarrollo para crear
software para la placa.
Arduino se puede utilizar para crear objetos
interactivos,leyendo datos de una gran variedad de
interruptores y sensores y controlar multitud de
tipos de motores, luces, entre muchos más
actuadores físicos. Los proyectos de arduino
pueden ser autónomos o comunicarse con un
programa que se ejecute en tu ordenador. La placa
puede ser montada por el usuario o comprarla lista
para usar, El software utilizado para la
programación de esta plataforma es gratis.
El lenguaje de programación de arduino es
muy sencillo,de echo es similar a los lenguajes de
programación de C++, Netbeans, entre otros, por
esto mismo es fácil de utilizar. El software arduino
es multiplataforma debido a que funciona con
sistemas operativos como lo es Windows,
Macintosh OSX y Linux.
¿Qué distingue a Arduino de otros
microcontroladores?
La filosofía open source -código abierto- que
lo sustenta. Tanto el modo en que se ensambla la
placa -hardware- como elcódigo fuente del
programa Arduino -software- son de acceso
público. Esto quiere decir que cualquiera de
nosotros que usarlo y/o mejorarlo pueda hacerlo.
4 DESARROLLO
Para el desarrollo de esta práctica es necesario
contar con el siguiente material y equipo:
- Micro Arduino
- Jumpers
- 2 leds
- 2 Fotorresistencias
- Cables
- Pinzas de corte
- 3Displays
- 2 Tobos
- Segueta
- 2 Resistencias de 10kΩ
- 2 Resistencias de 220Ω
Procedimiento:
Universidad Autónoma de Baja California 25/08/2014
2
Se elabora la base por donde correrá la canica,
para ello se cortaron dos tubos,uno más grande
que el otro.
Cortados los dos tubos, se pegan para poder
pegar un led en la parte superior y una
fotorresistencia en la parte inferior en ambos
extremos del tubo, estos se colocan 45 cm de
separación.
Ahora se arma todo el circuito, se colocan los
displays,las fotorresistencias, los leds y todo se
conecta al Arduino.
Ahora se prosigue realizando la programación en Arduino.
void setup() {
Serial.begin(9600);
DDRD=B11111110;
pinMode(A0,OUTPUT);//Activa/Desactiva 1er Display(Unidades)
pinMode(A1,OUTPUT);//Activa/Desactiva 2do Display(Punto)
pinMode(A2,OUTPUT);//Activa/Desactiva 3er Display(Decimales)
pinMode(A3,INPUT);//Lee el valor del 1er Sensor
pinMode(A4,INPUT);//Lee el valor del 2do Sensor
pinMode(13,OUTPUT);//Activa/Desactiva segmenti "a" de todos los Displays
pinMode(12,OUTPUT);//Activa/Desactiva punto del punto del 2do Display
pinMode(11,OUTPUT);//LED 1 del sensor 1
pinMode(10,OUTPUT);//LED 2 del sensor 2
digitalWrite(11,HIGH);//Mantiene el LED1 encendido por siempre
digitalWrite(10,HIGH);//Mantiene el LED2 encendido por siempre
}
int entrada1=0,entrada2=0,entrada3=0,entradainicio=0,vint=0,num1i=0,num2i=0,tiempodisplay=0;
charvchar[3],num1c[2],num2c[2];
String vstring;
int luz1=0,luz2=0;
float time1=0,time2=0,time3=0,velocidad=0;
voidloop() {
millis();
if(millis()>1000){ //Con esta condicion evito que opere el programa al instante
luz1=analogRead(A3);//998
luz2=analogRead(A4);//780
Serial.print(luz1);Serial.print(" "); Serial.print(luz2);
Serial.println("n");
Universidad Autónoma de Baja California 25/08/2014
3
//Etapa 1: Capturando tiempos en que se capta la diferencia de luz en los sensores
if(entradainicio==0){
if(luz1<998){
time1=millis();
entrada1=1; //Habilito la 1era de las dos condiciones para poder calcular la velocidad
}
if(luz2<780){
time2=millis();
entrada2=1;//Habilito la 2da de las dos condiciones para poder calcular la velocidad
}
}
//Etapa 2: Calculando la velocidad y transformadola a cadena para poder separar los numeros
if(entrada1==1&&entrada2==1){
entradainicio=1;//Evito que se capture alguna diferencia de luz en los sensores antes de que se mues tra la
1era prueba
time3=(time2-time1)/1000L;
velocidad=4.5/time3;
vint=velocidad;
vstring=String(vint);
vstring.toCharArray(vchar,3);
if(vint<10){//Si la velocidad es menos que 1.
num1c[0]=vchar[0];//Igualando el 1er caracter de la cadena vchar a otra cadena
num1i=atoi(num1c);//Convierte un array o caracter en numero
entrada3=1;//Habilito que se despliegen los numeros en los displays
entrada1=0;
entrada2=0;
}
if(vint>9){ //Si la velocidad es mayor o igual a 1.
num1c[0]=vchar[0];//Igualando el 1er caracter de la cadena vchar a otra cadena
num1i=atoi(num1c);//Convierte un array o caracter en numero
num2c[0]=vchar[1];//Igualando el 1er caracter de la cadena vchar a otra cadena
num2i=atoi(num2c);//Convierte un array o caracter en numero
entrada3=1;//Habilito que se despliegen los numeros en los displays
entrada1=0;
entrada2=0;
}
}
//Etapa 3: Despliego la velocidad en los displays.
if(entrada3==1){
if(tiempodisplay<3000){//Con esta condicionpermino que la velocidad se mantenga por 3 seg. en los
displays
if(vint<10){
analogWrite(A0,0);//ON 1er Display para unidades
analogWrite(A1,225);//OFF 2do Display punto(marcado en el Display como un guion
analogWrite(A2,225);//OFF 3er Display para decimales
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
PORTD=B01111110;//Imprimiendo numero Cero en el 1er Display(Activado por ceros)
delay(10);
analogWrite(A0,225);//OFF 1er Display para unidades
analogWrite(A1,0);//ON 2do Display punto(marcado en el Display como un guion
analogWrite(A2,225);//OFF 3er Display para decimales
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
PORTD=B00000000;//Imprimiendo Guion(usado como punto) en el 2do Display
delay(10);
analogWrite(A0,225);//OFF 1er Display para unidades
analogWrite(A1,225);//OFF 2do Display punto(marcado en el Display como un guion
analogWrite(A2,0);//ON 3er Display para decimales
digitalWrite(12,LOW);
numero1();
delay(10);
Universidad Autónoma de Baja California 25/08/2014
4
tiempodisplay=tiempodisplay+30;
}
if(vint>9){
analogWrite(A0,0);//ON 1er Display para unidades
analogWrite(A1,225);//OFF 2do Display punto(marcado en el Display como un guion
analogWrite(A2,225);//OFF 3er Display para decimales
digitalWrite(13,LOW);//Apaga el segmento "a" de los displays
numero1();
delay(10);
analogWrite(A0,225);//ON 1er Display para unidades
analogWrite(A1,0);//OFF 2do Display punto(marcado en el Display como un guion
analogWrite(A2,225);//OFF 3er Display para decimales
digitalWrite(13,LOW);
digitalWrite(12,HIGH);//Mantiene el punto de la velocidad encendid
PORTD=B00000000;//Imprimiendo Guion(usado como punto) en el 2do Display
delay(10);
analogWrite(A0,225);//ON 1er Display para unidades
analogWrite(A1,225);//OFF 2do Display punto(marcado en el Display como un guion
analogWrite(A2,0);//OFF 3er Display para decimales
digitalWrite(12,LOW);//Mantiene el punto apagado
numero2();
delay(10);
tiempodisplay=tiempodisplay+30;
}
if(tiempodisplay>2999){//Con esta condicionpermido que se borre todo de los displays pasados 3 seg. de
haber mostrado algo
PORTD=B00000000;
digitalWrite(13,LOW);
digitalWrite(12,LOW);
entradainicio=0;//Habilito la lectura de luz en los sensores, para poder iniciar todo el proceso devuelta.
entrada3=0;//Deshabilito que cualquier numero se despliege en los displays.
tiempodisplay=0;//Evito que los displays se queden apagados por siempre.
luz1=1010;
luz2=810;
}
}
}
}
}
///////////////////////////Funciones Numero//////////////////////////
void numero1(){
switch(num1i){
case 0:
digitalWrite(13,HIGH);
PORTD=B01111110;
break;
case 1:
PORTD=B00001100;
break;
case 2:
digitalWrite(13,HIGH);
PORTD=B10110110;
break;
case 3:
digitalWrite(13,HIGH);
PORTD=B10011110;
break;
case 4:
PORTD=B11001100;
break;
case 5:
digitalWrite(13,HIGH);
Universidad Autónoma de Baja California 25/08/2014
5
PORTD=B11011010;
break;
case 6:
digitalWrite(13,HIGH);
PORTD=B11111010;
break;
case 7:
digitalWrite(13,HIGH);
PORTD=B00001110;
break;
case 8:
digitalWrite(13,HIGH);
PORTD=B11111110;
break;
case 9:
digitalWrite(13,HIGH);
PORTD=B11011110;
break;
}
}
void numero2(){
switch(num2i){
case 0:
digitalWrite(13,HIGH);
PORTD=B01111110;
break;
case 1:
PORTD=B00001100;
break;
case 2:
digitalWrite(13,HIGH);
PORTD=B10110110;
break;
case 3:
digitalWrite(13,HIGH);
PORTD=B10011110;
break;
case 4:
PORTD=B11001100;
break;
case 5:
digitalWrite(13,HIGH);
PORTD=B11011010;
break;
case 6:
digitalWrite(13,HIGH);
PORTD=B11111010;
break;
case 7:
digitalWrite(13,HIGH);
PORTD=B00001110;
break;
case 8:
digitalWrite(13,HIGH);
PORTD=B11111110;
break;
case 9:
digitalWrite(13,HIGH);
PORTD=B11011110;
break;
}
}
Universidad Autónoma de Baja California 25/08/2014
6
El esquema de todo el circuito se puede apreciar en la siguiente figura.
El sistema finalizado se muestra en la figura siguiente.
5 CONCLUCION
El desarrollo de esta práctica en verdad se me
hizo extenso, porque para poder realizarlo
tuvimos que realizar una serie de pruebas con
las fotorresistencias para que la variación fuera
lo másmínimo posible, la practica la pudimos
finalizar aunque con una detallitos, no supimos
cómo evitar que la fotorresistencia variara.
Universidad Autónoma de Baja California 25/08/2014
7
La primera prueba o medición de velocidad salía
perfectamente, pero cuando queríamos realizar
enseguida la segunda prueba surgían errores
debido a que los valores de las fotorresistencias
variaban y esto provocaba mediciones erróneas
y por lo tanto se realizaban errores en los
cálculos. (Marcos Marcos Fernando)
6 REFERENCIAS
[1]http://platea.pntic.mec.es/~lmarti2/arduino/introar
du/index.htm

Weitere ähnliche Inhalte

Was ist angesagt?

Proyecto Arduino Casa Domotica
Proyecto Arduino Casa DomoticaProyecto Arduino Casa Domotica
Proyecto Arduino Casa Domotica
rikar13
 

Was ist angesagt? (20)

Apuntes arduino nivel_pardillo
Apuntes arduino nivel_pardilloApuntes arduino nivel_pardillo
Apuntes arduino nivel_pardillo
 
Memoria Casa Inteligente con S4A
Memoria Casa Inteligente con S4AMemoria Casa Inteligente con S4A
Memoria Casa Inteligente con S4A
 
Arduino practicas
Arduino practicasArduino practicas
Arduino practicas
 
Proyecto Arduino Casa Domotica
Proyecto Arduino Casa DomoticaProyecto Arduino Casa Domotica
Proyecto Arduino Casa Domotica
 
Arduino IEEE SB UMH - Mario Pérez Esteso
Arduino IEEE SB UMH - Mario Pérez EstesoArduino IEEE SB UMH - Mario Pérez Esteso
Arduino IEEE SB UMH - Mario Pérez Esteso
 
Ide arduino + arddublock
Ide arduino + arddublockIde arduino + arddublock
Ide arduino + arddublock
 
Ejercicios+arduino+processing
Ejercicios+arduino+processingEjercicios+arduino+processing
Ejercicios+arduino+processing
 
Manual basico de practicas con Arduino uno
Manual basico de practicas con Arduino unoManual basico de practicas con Arduino uno
Manual basico de practicas con Arduino uno
 
Practicas
PracticasPracticas
Practicas
 
Arduino: Practicas con Arduino
Arduino: Practicas con ArduinoArduino: Practicas con Arduino
Arduino: Practicas con Arduino
 
Ejercicios de Arduino resueltos Grupo Sabika
Ejercicios de Arduino resueltos Grupo SabikaEjercicios de Arduino resueltos Grupo Sabika
Ejercicios de Arduino resueltos Grupo Sabika
 
Presentación arduino 4 eso
Presentación arduino 4 esoPresentación arduino 4 eso
Presentación arduino 4 eso
 
ARDUBLOCK
ARDUBLOCKARDUBLOCK
ARDUBLOCK
 
Sistema de localización de objetos basado en tecnología de Código Abierto de ...
Sistema de localización de objetos basado en tecnología de Código Abierto de ...Sistema de localización de objetos basado en tecnología de Código Abierto de ...
Sistema de localización de objetos basado en tecnología de Código Abierto de ...
 
Manual de Prácticas en Arduino Uno
Manual de Prácticas en Arduino UnoManual de Prácticas en Arduino Uno
Manual de Prácticas en Arduino Uno
 
Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014
 
Arduino - Cuarta sesión
Arduino - Cuarta sesiónArduino - Cuarta sesión
Arduino - Cuarta sesión
 
Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015
 
Libro arduino blocks 40 proyectos resueltos
Libro   arduino blocks 40 proyectos resueltos Libro   arduino blocks 40 proyectos resueltos
Libro arduino blocks 40 proyectos resueltos
 
Casa Domotica (KBOOM!!)
Casa Domotica (KBOOM!!)Casa Domotica (KBOOM!!)
Casa Domotica (KBOOM!!)
 

Ähnlich wie DISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINO

Ähnlich wie DISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINO (20)

CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
 
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
 
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
 
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
 
CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
 
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
 
Trabajo final.
Trabajo final.Trabajo final.
Trabajo final.
 
Trabajo de tecnologia
Trabajo de tecnologiaTrabajo de tecnologia
Trabajo de tecnologia
 
Trabajo de tecnologia
Trabajo de tecnologiaTrabajo de tecnologia
Trabajo de tecnologia
 
Trabajo de tecnologia (2)
Trabajo de tecnologia (2)Trabajo de tecnologia (2)
Trabajo de tecnologia (2)
 
Trabajo de tecnologia
Trabajo de tecnologiaTrabajo de tecnologia
Trabajo de tecnologia
 
Arduino componentes
Arduino componentesArduino componentes
Arduino componentes
 
Tarjeta arduino
Tarjeta arduinoTarjeta arduino
Tarjeta arduino
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

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
 
INFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfINFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdf
octaviosalazar18
 
Tipos de Valvulas para uso industrial y comercial
Tipos de Valvulas para uso industrial y comercialTipos de Valvulas para uso industrial y comercial
Tipos de Valvulas para uso industrial y comercial
macsal12345
 

Kürzlich hochgeladen (20)

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
 
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
 
2e38892c-fc5d-490e-b751-ce772cf4756f.pdf
2e38892c-fc5d-490e-b751-ce772cf4756f.pdf2e38892c-fc5d-490e-b751-ce772cf4756f.pdf
2e38892c-fc5d-490e-b751-ce772cf4756f.pdf
 
TAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientosTAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientos
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
 
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
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
2024 GUIA PRACTICAS MICROBIOLOGIA- UNA 2017 (1).pdf
 
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 ...
 
INFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfINFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdf
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
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
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
Tipos de Valvulas para uso industrial y comercial
Tipos de Valvulas para uso industrial y comercialTipos de Valvulas para uso industrial y comercial
Tipos de Valvulas para uso industrial y comercial
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTOPRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
semana-08-clase-transformadores-y-norma-eep.ppt
semana-08-clase-transformadores-y-norma-eep.pptsemana-08-clase-transformadores-y-norma-eep.ppt
semana-08-clase-transformadores-y-norma-eep.ppt
 
“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...
 
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
 

DISEÑO DE UN DETECTOR DE VELOCIDAD CON ARDUINO

  • 1. Universidad Autónoma de Baja California 25/08/2014 1 VELOCIDAD DE UNA CANICA Marcos Marcos Fernando fmarcos@uabc.edu.mx RESUMEN:Esta práctica consistió en realizar un sistema capaz de medir la velocidad de una canica, para poder elaborar este sistema se utilizaron sensores de luz, leds, arduino, displays y algunos otras herramientas. Para poder medir la velocidad de la canica la hicimos rodar por un tubo, colocamos dos sensores de luz en los extremos para que se detectara en qué momento se obstruía la luz en ellos, se contó el tiempo que llevo corriendo el sistema, con los datos obtenido que fueron tiempo y distancia se pudo calcularla velocidad, y de ahí se imprimieron en tres displays conectados en cascadas. 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. 2 OBJETIVO La práctica consiste en utilizar tres indicadores de siete segmentos los cuales mostrarán la velocidad de una canica que baja sobre una pequeña pendiente, en la pendiente se encuentran colocados dos sensores los cuales permiten medir el tiempo en que la canica pasa se un punto A a un punto B. Los indicadores se deben encontrar en cero y una vez que la canica pasa por el sensor del punto B se debe mostrar la velocidad en centímetros por segundo.La velocidad se muestra por tres segundos y después los indicadores se regresan a cero.Una de las características del circuito es que los indicadores de siete segmentos se deben de encontrar conectados en paralelo, en esta ocasión no se permite utilizar decodificadores de siete segmentos para manejar los indicadores, asícomo plataformas de desarrollo de Arduino que tienen mayor número de salidas. 3 TEORÍA Arduino es una herramienta utilizada para que los ordenadores puedan controlar el mundo físico y no solo esto también sentirlo.Es una plataforma de desarrollo de computación física de código abierto, basada en una placa con un sencillo micro controlador y un entorno de desarrollo para crear software para la placa. Arduino se puede utilizar para crear objetos interactivos,leyendo datos de una gran variedad de interruptores y sensores y controlar multitud de tipos de motores, luces, entre muchos más actuadores físicos. Los proyectos de arduino pueden ser autónomos o comunicarse con un programa que se ejecute en tu ordenador. La placa puede ser montada por el usuario o comprarla lista para usar, El software utilizado para la programación de esta plataforma es gratis. El lenguaje de programación de arduino es muy sencillo,de echo es similar a los lenguajes de programación de C++, Netbeans, entre otros, por esto mismo es fácil de utilizar. El software arduino es multiplataforma debido a que funciona con sistemas operativos como lo es Windows, Macintosh OSX y Linux. ¿Qué distingue a Arduino de otros microcontroladores? La filosofía open source -código abierto- que lo sustenta. Tanto el modo en que se ensambla la placa -hardware- como elcódigo fuente del programa Arduino -software- son de acceso público. Esto quiere decir que cualquiera de nosotros que usarlo y/o mejorarlo pueda hacerlo. 4 DESARROLLO Para el desarrollo de esta práctica es necesario contar con el siguiente material y equipo: - Micro Arduino - Jumpers - 2 leds - 2 Fotorresistencias - Cables - Pinzas de corte - 3Displays - 2 Tobos - Segueta - 2 Resistencias de 10kΩ - 2 Resistencias de 220Ω Procedimiento:
  • 2. Universidad Autónoma de Baja California 25/08/2014 2 Se elabora la base por donde correrá la canica, para ello se cortaron dos tubos,uno más grande que el otro. Cortados los dos tubos, se pegan para poder pegar un led en la parte superior y una fotorresistencia en la parte inferior en ambos extremos del tubo, estos se colocan 45 cm de separación. Ahora se arma todo el circuito, se colocan los displays,las fotorresistencias, los leds y todo se conecta al Arduino. Ahora se prosigue realizando la programación en Arduino. void setup() { Serial.begin(9600); DDRD=B11111110; pinMode(A0,OUTPUT);//Activa/Desactiva 1er Display(Unidades) pinMode(A1,OUTPUT);//Activa/Desactiva 2do Display(Punto) pinMode(A2,OUTPUT);//Activa/Desactiva 3er Display(Decimales) pinMode(A3,INPUT);//Lee el valor del 1er Sensor pinMode(A4,INPUT);//Lee el valor del 2do Sensor pinMode(13,OUTPUT);//Activa/Desactiva segmenti "a" de todos los Displays pinMode(12,OUTPUT);//Activa/Desactiva punto del punto del 2do Display pinMode(11,OUTPUT);//LED 1 del sensor 1 pinMode(10,OUTPUT);//LED 2 del sensor 2 digitalWrite(11,HIGH);//Mantiene el LED1 encendido por siempre digitalWrite(10,HIGH);//Mantiene el LED2 encendido por siempre } int entrada1=0,entrada2=0,entrada3=0,entradainicio=0,vint=0,num1i=0,num2i=0,tiempodisplay=0; charvchar[3],num1c[2],num2c[2]; String vstring; int luz1=0,luz2=0; float time1=0,time2=0,time3=0,velocidad=0; voidloop() { millis(); if(millis()>1000){ //Con esta condicion evito que opere el programa al instante luz1=analogRead(A3);//998 luz2=analogRead(A4);//780 Serial.print(luz1);Serial.print(" "); Serial.print(luz2); Serial.println("n");
  • 3. Universidad Autónoma de Baja California 25/08/2014 3 //Etapa 1: Capturando tiempos en que se capta la diferencia de luz en los sensores if(entradainicio==0){ if(luz1<998){ time1=millis(); entrada1=1; //Habilito la 1era de las dos condiciones para poder calcular la velocidad } if(luz2<780){ time2=millis(); entrada2=1;//Habilito la 2da de las dos condiciones para poder calcular la velocidad } } //Etapa 2: Calculando la velocidad y transformadola a cadena para poder separar los numeros if(entrada1==1&&entrada2==1){ entradainicio=1;//Evito que se capture alguna diferencia de luz en los sensores antes de que se mues tra la 1era prueba time3=(time2-time1)/1000L; velocidad=4.5/time3; vint=velocidad; vstring=String(vint); vstring.toCharArray(vchar,3); if(vint<10){//Si la velocidad es menos que 1. num1c[0]=vchar[0];//Igualando el 1er caracter de la cadena vchar a otra cadena num1i=atoi(num1c);//Convierte un array o caracter en numero entrada3=1;//Habilito que se despliegen los numeros en los displays entrada1=0; entrada2=0; } if(vint>9){ //Si la velocidad es mayor o igual a 1. num1c[0]=vchar[0];//Igualando el 1er caracter de la cadena vchar a otra cadena num1i=atoi(num1c);//Convierte un array o caracter en numero num2c[0]=vchar[1];//Igualando el 1er caracter de la cadena vchar a otra cadena num2i=atoi(num2c);//Convierte un array o caracter en numero entrada3=1;//Habilito que se despliegen los numeros en los displays entrada1=0; entrada2=0; } } //Etapa 3: Despliego la velocidad en los displays. if(entrada3==1){ if(tiempodisplay<3000){//Con esta condicionpermino que la velocidad se mantenga por 3 seg. en los displays if(vint<10){ analogWrite(A0,0);//ON 1er Display para unidades analogWrite(A1,225);//OFF 2do Display punto(marcado en el Display como un guion analogWrite(A2,225);//OFF 3er Display para decimales digitalWrite(13,HIGH); digitalWrite(12,LOW); PORTD=B01111110;//Imprimiendo numero Cero en el 1er Display(Activado por ceros) delay(10); analogWrite(A0,225);//OFF 1er Display para unidades analogWrite(A1,0);//ON 2do Display punto(marcado en el Display como un guion analogWrite(A2,225);//OFF 3er Display para decimales digitalWrite(13,LOW); digitalWrite(12,HIGH); PORTD=B00000000;//Imprimiendo Guion(usado como punto) en el 2do Display delay(10); analogWrite(A0,225);//OFF 1er Display para unidades analogWrite(A1,225);//OFF 2do Display punto(marcado en el Display como un guion analogWrite(A2,0);//ON 3er Display para decimales digitalWrite(12,LOW); numero1(); delay(10);
  • 4. Universidad Autónoma de Baja California 25/08/2014 4 tiempodisplay=tiempodisplay+30; } if(vint>9){ analogWrite(A0,0);//ON 1er Display para unidades analogWrite(A1,225);//OFF 2do Display punto(marcado en el Display como un guion analogWrite(A2,225);//OFF 3er Display para decimales digitalWrite(13,LOW);//Apaga el segmento "a" de los displays numero1(); delay(10); analogWrite(A0,225);//ON 1er Display para unidades analogWrite(A1,0);//OFF 2do Display punto(marcado en el Display como un guion analogWrite(A2,225);//OFF 3er Display para decimales digitalWrite(13,LOW); digitalWrite(12,HIGH);//Mantiene el punto de la velocidad encendid PORTD=B00000000;//Imprimiendo Guion(usado como punto) en el 2do Display delay(10); analogWrite(A0,225);//ON 1er Display para unidades analogWrite(A1,225);//OFF 2do Display punto(marcado en el Display como un guion analogWrite(A2,0);//OFF 3er Display para decimales digitalWrite(12,LOW);//Mantiene el punto apagado numero2(); delay(10); tiempodisplay=tiempodisplay+30; } if(tiempodisplay>2999){//Con esta condicionpermido que se borre todo de los displays pasados 3 seg. de haber mostrado algo PORTD=B00000000; digitalWrite(13,LOW); digitalWrite(12,LOW); entradainicio=0;//Habilito la lectura de luz en los sensores, para poder iniciar todo el proceso devuelta. entrada3=0;//Deshabilito que cualquier numero se despliege en los displays. tiempodisplay=0;//Evito que los displays se queden apagados por siempre. luz1=1010; luz2=810; } } } } } ///////////////////////////Funciones Numero////////////////////////// void numero1(){ switch(num1i){ case 0: digitalWrite(13,HIGH); PORTD=B01111110; break; case 1: PORTD=B00001100; break; case 2: digitalWrite(13,HIGH); PORTD=B10110110; break; case 3: digitalWrite(13,HIGH); PORTD=B10011110; break; case 4: PORTD=B11001100; break; case 5: digitalWrite(13,HIGH);
  • 5. Universidad Autónoma de Baja California 25/08/2014 5 PORTD=B11011010; break; case 6: digitalWrite(13,HIGH); PORTD=B11111010; break; case 7: digitalWrite(13,HIGH); PORTD=B00001110; break; case 8: digitalWrite(13,HIGH); PORTD=B11111110; break; case 9: digitalWrite(13,HIGH); PORTD=B11011110; break; } } void numero2(){ switch(num2i){ case 0: digitalWrite(13,HIGH); PORTD=B01111110; break; case 1: PORTD=B00001100; break; case 2: digitalWrite(13,HIGH); PORTD=B10110110; break; case 3: digitalWrite(13,HIGH); PORTD=B10011110; break; case 4: PORTD=B11001100; break; case 5: digitalWrite(13,HIGH); PORTD=B11011010; break; case 6: digitalWrite(13,HIGH); PORTD=B11111010; break; case 7: digitalWrite(13,HIGH); PORTD=B00001110; break; case 8: digitalWrite(13,HIGH); PORTD=B11111110; break; case 9: digitalWrite(13,HIGH); PORTD=B11011110; break; } }
  • 6. Universidad Autónoma de Baja California 25/08/2014 6 El esquema de todo el circuito se puede apreciar en la siguiente figura. El sistema finalizado se muestra en la figura siguiente. 5 CONCLUCION El desarrollo de esta práctica en verdad se me hizo extenso, porque para poder realizarlo tuvimos que realizar una serie de pruebas con las fotorresistencias para que la variación fuera lo másmínimo posible, la practica la pudimos finalizar aunque con una detallitos, no supimos cómo evitar que la fotorresistencia variara.
  • 7. Universidad Autónoma de Baja California 25/08/2014 7 La primera prueba o medición de velocidad salía perfectamente, pero cuando queríamos realizar enseguida la segunda prueba surgían errores debido a que los valores de las fotorresistencias variaban y esto provocaba mediciones erróneas y por lo tanto se realizaban errores en los cálculos. (Marcos Marcos Fernando) 6 REFERENCIAS [1]http://platea.pntic.mec.es/~lmarti2/arduino/introar du/index.htm