Autor Tema: interesante (proyecto con pic y led)  (Leído 57713 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado KARINA83

  • PIC12
  • **
  • Mensajes: 50
interesante (proyecto con pic y led)
« en: 25 de Julio de 2008, 16:39:39 »
http://www.todopic.com.ar/foros/index.php?topic=21817.0
pero se podra hacer al reves?              si presiono  rb0 una vez prende una vez
                                                                           rb1  2                       una
                                                                           br2  3                        una
                                                                           br3  4                        una
dejen ver como seria con pbp
bye :-/ :g)
Las mujeres podemos cambiar al mundo.

Desconectado doppel

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1536
Re: interesante (proyecto con pic y led)
« Respuesta #1 en: 26 de Julio de 2008, 01:45:36 »
Hola Karina83

podrias explicarlo un poco mejor y con gusto te ayudaremos, por que si no entiendo mal quieres presionar 1, 2, 3 y 4 veces un pulsador? y encender una vez que cosa?

saludos

Hernán
" Para ser exitoso no tienes que hacer cosas extraordinarias. Haz cosas ordinarias, extraordinariamente bien "

Desconectado RALF2

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2062
Re: interesante (proyecto con pic y led)
« Respuesta #2 en: 26 de Julio de 2008, 12:12:59 »
Que tal karina!
Si te estas iniciando en los microcontroladores pic, te recomiendo:
1:Te recomiendo que te leas un buen libro de asembler para que comprendas como opera el pic.
2:leete el manual de arriba a abajo del pic basic pro si vas a trabajar con el.
3: lee, lee, lee, lee, y sigue leyendo sobre pic. Para ello en el foro hay bastante informacion.
4: Empieza por algo simple primero, nunca por algo complicado porque sino te vas a hacer un lio.

No olvides sigue leyendo  :mrgreen:

Saludos

Desconectado KARINA83

  • PIC12
  • **
  • Mensajes: 50
Re: interesante (proyecto con pic y led)
« Respuesta #3 en: 26 de Julio de 2008, 13:06:01 »
hola doppel y ralf  si entiendo el codigo de el amigo juanchiripiorcas y mi pregunta es: como seria el codigo de juan pero al reves.
lo que juan hace con su programa es lo siguiente:
 
tiene conectados cuatro pulsadores ( buttons) en RB0,RB1,RB2 , RB3 y RB4 con un led
cuando activa 1 vez RB0------------------RB4 enciende el led (destella ) 1 vez durante 300ms
cuando activa 1 vez RB1------------------RB4 enciende el led (destella)  2 veces durante 300ms
cuando activa 1 vez RB2------------------RB4 enciende el led (destella)  3 veces durante 300ms
cuando activa 1 vez RB3------------------RB4 enciende el led (destella)  4 veces durante 300ms
ya lo simule con proteus y si funciona bien

pero mi pregunta es como seria el codigo que lo haga lo contrario asi:

tiene conectados cuatro pulsadores ( buttons) en RB0,RB1,RB2 , RB3 y RB4 con un led
cuando activa 1    vez RB0------------------RB4 enciende el led (destella ) 1 vez durante 300ms
cuando activa 2 veces RB1------------------RB4 enciende el led (destella)  1 vez durante 300ms
cuando activa 3 veces RB2------------------RB4 enciende el led (destella)  1 vez durante 300ms
cuando activa 4 veces RB3------------------RB4 enciende el led (destella)  1 vez durante 300ms

(diganme si se entiende por que a veces soy un poco? tonta para explicar mis ideas) :D
lo estoy tratando de hacer por medio de la memoria pero no me funciona  bien  :8} :z)
dejen  le sigo un rato haber si puedo
gracias
saludos y besos :g)
Las mujeres podemos cambiar al mundo.

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 666
Re: interesante (proyecto con pic y led)
« Respuesta #4 en: 26 de Julio de 2008, 13:18:17 »
karina, buenos dias como ya te comento el amigo ralf2 trata en lo posible de ir leyendo sobre el compilador que te quieres familiarizar y luego empieza con ejemplos simples y que lo domines y luego vas dando grado de dificulpa a tus proyecto asi crecemos todos yo ando loco leyendo sobre las glcd pero asi es que uno aprende uy a parende cada dia mas


saludos y aca esta,os para colaborarte.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado sandra

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 374
Re: interesante (proyecto con pic y led)
« Respuesta #5 en: 26 de Julio de 2008, 13:54:36 »
hola doppel y ralf  si entiendo el codigo de el amigo juanchiripiorcas y mi pregunta es: como seria el codigo de juan pero al reves.
lo que juan hace con su programa es lo siguiente:
 
tiene conectados cuatro pulsadores ( buttons) en RB0,RB1,RB2 , RB3 y RB4 con un led
cuando activa 1 vez RB0------------------RB4 enciende el led (destella ) 1 vez durante 300ms
cuando activa 1 vez RB1------------------RB4 enciende el led (destella)  2 veces durante 300ms
cuando activa 1 vez RB2------------------RB4 enciende el led (destella)  3 veces durante 300ms
cuando activa 1 vez RB3------------------RB4 enciende el led (destella)  4 veces durante 300ms
ya lo simule con proteus y si funciona bien

pero mi pregunta es como seria el codigo que lo haga lo contrario asi:

tiene conectados cuatro pulsadores ( buttons) en RB0,RB1,RB2 , RB3 y RB4 con un led
cuando activa 1    vez RB0------------------RB4 enciende el led (destella ) 1 vez durante 300ms
cuando activa 2 veces RB1------------------RB4 enciende el led (destella)  1 vez durante 300ms
cuando activa 3 veces RB2------------------RB4 enciende el led (destella)  1 vez durante 300ms
cuando activa 4 veces RB3------------------RB4 enciende el led (destella)  1 vez durante 300ms

(diganme si se entiende por que a veces soy un poco? tonta para explicar mis ideas) :D
lo estoy tratando de hacer por medio de la memoria pero no me funciona  bien  :8} :z)
dejen  le sigo un rato haber si puedo
gracias
saludos y besos :g)

Anda hija mía que te enrollas muy feo :D :D  con calma :-) :-) lo que pretendes por supuesto que es posible no tiene mayor complicación. 8)
Así que déjanos ver tu código y con mucho gusto te ayudamos. :-/ :-/



El pesimista se queja del viento
El optimista espera que cambie
El realista ajusta las velas

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: interesante (proyecto con pic y led)
« Respuesta #6 en: 26 de Julio de 2008, 14:30:22 »
Hola Karina, leí tu mensaje y entendí lo que querías (aunque me costó eh  :D ), pero no respondí porque no tenía mucho tiempo, y de verdad que lo ví así como que quieres hacer eso sólo por curiosidad, lo cual es muy bueno.
Como te mencionó Sandra, claro que es posible. Lo único que tendrías que hacer sería evaluar que se presionó el botón por primera vez, luego si se presionó evalúas si se vuelve a presionar tantas veces como dependa del pulsador en cuestión...

Un ejemplo con RB1, que si se presiona dos veces activa RB4, sería con if anidados, algo así:

Código: FreeBasic
  1. if (PORTB.1==0) then          'si entra a este if es porque se presionó una vez.
  2.       pause 500                     'un retardo mientras el pulsador vuelve a su estado normal y luego lo vuelves a presionar.    
  3.       if(PORTB.1==0) then     'si entra a este if es porque se presionó por segunda vez.
  4.            high PORTB.4            'entonces enciende el led
  5.            pause 300                'esperas 300ms
  6.            low PORTB.4             'y lo apagas (Estoy suponiendo que el led está conectado con cátodo a tierra, o sea enciende con 1 lógico).
  7.       endif
  8.       else
  9.            goto inicio                'si no entra al if es porque no se presionó por segunda vez, entonces vuelve al principio para seguir evaluando.
  10. endif

Bueno esta sería más o menos la lógica, tendrías tú que seguir con el resto del programa para hacerlo con los otros tres pulsadores.
Esperamos tus avances!
Un cordial saludo, nos leemos!  :mrgreen:

P.D.: EDITO para corregir los "if(condicion)" que había colocado por "if(condicion)then...endif"... es que se me pegaron las llaves de tanto estar trabajando en C :D
Sandra gracias por recordármelo...  :lol:
« Última modificación: 26 de Julio de 2008, 15:55:34 por firepic »
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: interesante (proyecto con pic y led)
« Respuesta #7 en: 26 de Julio de 2008, 14:40:59 »
Karina, acabo de ver que si quieres hacerlo más elegante, puedes usar la instrucción "Button"... mira el manual de pbp para que veas cómo es la sintaxis.
Un cordial saludo!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado sandra

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 374
Re: interesante (proyecto con pic y led)
« Respuesta #8 en: 26 de Julio de 2008, 15:46:07 »
Bueno aunque es una forma de darle solución otra forma seria  que cada ves que se presione el botón sumes 1 algo así  if portb.0=1 then suma=suma+1
                                   If  suma=4  then 
                                   gosub parpadeo
Aclaro esto es solo la idea ase falta desarrollarlo  así es como yo lo atacaría  otra forma de que quede mas elegante es utilizando el selec case  así evitas anidar los if then
El pesimista se queja del viento
El optimista espera que cambie
El realista ajusta las velas

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: interesante (proyecto con pic y led)
« Respuesta #9 en: 26 de Julio de 2008, 15:57:25 »
Excelente idea Sandra!  :-/
Pero igual habría que colocar un retardo verdad? Digo por el efecto rebote...
Ok saludos, nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado doppel

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1536
Re: interesante (proyecto con pic y led)
« Respuesta #10 en: 27 de Julio de 2008, 02:39:17 »
Hola a todos!!
Acabo de entender la idea!! ahora tengo una preguntita!! si hacemos eso que dicen que presionamos una vez y enciende 1 vez el led por 300ms y presionamos 2 veces y enciende el led por 300ms  digo yo como nos damos cuenta que anda bien el programa!? :shock: ya que siempre presionemos una dos o 4 veces encenderá el led no hay forma alguna de identificar por este medio si está funcionando correctamente el programa que hemos escrito, me explico? mas allá de que es totalmente posible hacer lo que piden en la realidad sería muy dificil saber si anda bien   :mrgreen:

saludos

Hernán

PD: mi humilde consejo es que leas el manual y vayas hojeando en la parte de basic del foro hay mucha información que te puede ser de utilidad, y a medida que avances tu sola podrás proponerte diferentes retos para programar y con mucho gusto te ayudaremos, que para eso está el foro.-
" Para ser exitoso no tienes que hacer cosas extraordinarias. Haz cosas ordinarias, extraordinariamente bien "

Desconectado sandra

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 374
Re: interesante (proyecto con pic y led)
« Respuesta #11 en: 27 de Julio de 2008, 11:12:47 »
Efectivamente   aria falta  un retardo para evitar el rebote de lo contrario no tendríamos control sobré cuantas veces se incrementa la variable suma ,sin el retardo podría incrementar aleatoria mente  de 1 asta el valor máximo que permita el tipo de variable que utilicemos.
Y si realmente así como lo pretende realizar es difícil checar el funcionamiento del programa.
El pesimista se queja del viento
El optimista espera que cambie
El realista ajusta las velas

Desconectado KARINA83

  • PIC12
  • **
  • Mensajes: 50
Re: interesante (proyecto con pic y led)
« Respuesta #12 en: 27 de Julio de 2008, 22:49:12 »
 hola a todas y todos
 :z)  este funiona pero hay que pulsar rapido(esta loco el programa verdad?)



;RB0 una pulsada = 1 destello
        if PORTB.0 = 1 then     
         high 6
         pause 300
         low 6
         endif
         ;RB1 3pulsadas = 1 destello
         if PORTB.1 = 1 then     
         high 5
         pause 500
         low 5
         if PORTB.1 = 1 then     
         high 5
         pause 500
         low 5
         
         if PORTB.1 = 1 then
         high 5
         pause 500
         low 5
         high 6
         pause 300 
         low 6
         endif
         endif 
         endif


es que soy nuevita......jajaja  para usar  lo que me recomienda sandrita
(y si, en verdad  no le veo un fin practico  pero para fines didacticos seria de mucha utilidad en especial para mi jajaja)
 recivan un caluroso abrazo y nos leemos bye. :g)
Las mujeres podemos cambiar al mundo.

Desconectado KARINA83

  • PIC12
  • **
  • Mensajes: 50
Re: interesante (proyecto con pic y led)
« Respuesta #13 en: 28 de Julio de 2008, 02:54:43 »
ayyyyyy sandrita deveras que eres canijilla  son casi las 00:30 y ya medio entedi tus señales ahorita ya puedo con 1 y 2 pulsaciones

S A N D R I T A ...... misssssss RESPETOS  jefa ,tenias quer  ser vieja(mujer) ajua... voy por 3 pulsaciones ( a ver si puedo)
y que quede bien claro es solo curisidad.
Las mujeres podemos cambiar al mundo.

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: interesante (proyecto con pic y led)
« Respuesta #14 en: 28 de Julio de 2008, 11:27:33 »
Acabo de entender la idea!! ahora tengo una preguntita!! si hacemos eso que dicen que presionamos una vez y enciende 1 vez el led por 300ms y presionamos 2 veces y enciende el led por 300ms  digo yo como nos damos cuenta que anda bien el programa!? :shock: ya que siempre presionemos una dos o 4 veces encenderá el led no hay forma alguna de identificar por este medio si está funcionando correctamente el programa que hemos escrito, me explico? mas allá de que es totalmente posible hacer lo que piden en la realidad sería muy dificil saber si anda bien   :mrgreen:

Maestro doppel, sí se puede saber si funciona bien o no. Porque si te das cuenta, aunque hay un único led, hay cuatro pulsadores distintos.
Pulsador 1Debe presionarse 1 vez      Led enciende por 300ms
Pulsador 2Debe presionarse 2 veces  Led enciende por 300ms
Pulsador 3Debe presionarse 3 veces  Led enciende por 300ms
Pulsador 4Debe presionarse 4 veces  Led enciende por 300ms

Karina sandra es una experta... de hecho haciéndolo de la forma que ella menciona ni siquiera tendrás problemas en que tienes que pulsar rápido o lentamente... claro que siempre, para envitar los rebotes, deberías introducir un retardo, tal como ella menciona.
Y te felicito por tu curiosidad y entrepidez. Sigue así, que te divertirás en grande programando!  :D
Ey, y déjanos ver ese código funcionando!
Saludos, nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web