• Lunes 13 de Mayo de 2024, 16:51

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - ayasystems

Páginas: [1]
1
Programación en C / Detectar Tiempo Transcurrido Entre Pulsaciones
« en: Lunes 7 de Mayo de 2007, 12:11 »
Buenas a todos,

Estoy diseñando un circuito para el coche. Este se encargará de plegar los espejos eléctricos tras recibir dos pulsaciones de cierre seguidas en menos de dos segundos.

Se me ha ocurrido hacerlo de la siguiente manera, a ver si se os ocurre una forma más optima de contar el tiempo transcurrido entre pulsaciones

Graaaacias!!!!

Código: Text
  1.  
  2.  
  3. //Programa de control de espejos y ventanillas
  4. //Autor: Ayasystems 06/05/07
  5.  
  6. #include <12C508.h>
  7. #fuses INTRC,NOWDT,NOPROTECT, NOMCLR
  8. #use delay(clock=4000000)
  9. #define GP0 PIN_B0 //Relé sacar espejos
  10. #define GP1 PIN_B1 //Relé meter espejos
  11. #define GP2 PIN_B2 //Pulso cierre
  12. #define GP3 PIN_B3 //Pulso apertura
  13. #define GP4 PIN_B4
  14. #define GP5 PIN_B5
  15.  
  16.  
  17. void MirrorIn(void){
  18.    output_high(GP1);
  19.    delay_ms(4000); //Esperamos 4 seg. a que se metan
  20.    output_low(GP1);
  21. }
  22.  
  23. void MirrorOut(void){
  24.    output_high(GP0);
  25.    delay_ms(4000); //Esperamos 4 seg. a que salgan
  26.    output_low(GP0);
  27. }
  28.  
  29. main() {
  30.    char primer_pulso = 0;
  31.    char segundo_pulso = 0;
  32.    char contador = 0;
  33.    
  34.    output_low(GP0);
  35.    output_low(GP1);
  36.    output_low(GP2);
  37.    output_low(GP4);
  38.    
  39.    while (TRUE){
  40.       contador = 0;
  41.       if (input(GP2)){//pulsado cierre
  42.          //Detectar si han pulsado dos veces en menos de dos segundos
  43.          while (contador<25000){//Calcular el valor para que esté un segundo dando vueltas al While
  44.             if (input(GP2)){
  45.                segundo_pulso = 1;  
  46.             }//if input(GP2)
  47.          }//fin while
  48.          if (segundo_pulso = 1){
  49.             MirrorIn();//Metemos los espejos
  50.          }//if segundo_pulso
  51.       }//if input(GP2)  
  52.      
  53.      
  54.       if (input(GP3)){//pulsado abrrir
  55.          //Detectar si han pulsado dos veces en menos de dos segundos
  56.          while (contador<25000){//Calcular el valor para que esté un segundo dando vueltas al While
  57.             if (input(GP3)){
  58.                segundo_pulso = 1;  
  59.             }//if input(GP3)
  60.          } //fin while  
  61.          if (segundo_pulso = 1){
  62.             MirrorOut();//Sacamos los espejos
  63.          }//segundo_pulso
  64.       }//input(GP3)  
  65.    }//while TRUE Bulce infinito
  66. }//main
  67.  
  68.  

2
Microcontroladores / Re: Conversor A/d Y Pic
« en: Miércoles 6 de Septiembre de 2006, 23:31 »
Como funciona eso?? podria ser interesante y que ello diese la señal al PIC para poder hacer más cosas. No conozco ese tipo de componentes

3
Microcontroladores / Re: Conversor A/d Y Pic
« en: Domingo 3 de Septiembre de 2006, 22:42 »
eooo... se que es echarle mucha cara... me echais un cable??

4
Microcontroladores / Re: Conversor A/d Y Pic
« en: Domingo 13 de Agosto de 2006, 20:12 »
Realmente ya tendría 5V y 11V así que no me haría falta el regulador.
Vereis el circuito sería para un helicoptero de RC.
Quiero hacerlo con un PIC para aprovechar también y hacer el parpadeo de led simulando las luces de navegación.
La batería del helicoptero lleva 3 elementos de 3,7v en serie, es una batería de polimeros de litio, estas baterias son raritas y no pueden caer de los 3 voltios por célula.

por eso mi idea es que el PIC avise luminosa o acusticamente si la batería cae por debajo de los 9V

Me echais un cable para hacerlo??

Siento no haber contestado antes pero el foro no me notifico de las respuestas, estaré más atento a partir de ahora


Saludos y gracias!!!

5
Microcontroladores / Conversor A/d Y Pic
« en: Martes 20 de Junio de 2006, 13:08 »
Hola buenas a todos,

he estado mirando por el foro pero no me queda claro....

Supongamos que decido usar un 16F877

Éste me obtendrá el voltaje de entrada en forma digital.

Quiero hacer un avisador de batería baja que cuando la batería baje por debajo de los 9 voltios avise con un led por ejemplo.

Como paso el valor a decimal para poder luego poner un "IF volt < 9 ..... ENDIF"

El rango de entrada tiene que estar entre 0 y 5 voltios, no? uso un divisor de tensión para poder monitorear una batería de 12?

Gracias por adelantado, a ver si me podeís echar un cable.

Quiero hacerlo con un pic porque usaré más cosas de éste. Es para un helicoptero de radio control. Quiero monitorear la batería y aprovechar el Pic para que los LEDs parpadeen como las luces de navegación de los de verdad.


Saluuuudos ;)

Páginas: [1]