Autor Tema: insertar una condicion mientras se ejecuta un while  (Leído 3765 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado nuevo mundo

  • PIC16
  • ***
  • Mensajes: 108
Re:insertar una condicion mientras se ejecuta un while
« Respuesta #15 en: 09 de Marzo de 2016, 14:02:35 »
ok KILLERJC si lo leí según yo investigue (&&) que significa compuesta nand y si vi que hay que cambiar el valor de un pin aún sigo en la lucha si se que un servidor le falta mucho pero se que con un poco de ayuda iré superando esto gracias  por el apoyo y claro la paciencia jejejeje  si lo ves de la siguiente maner lo  simple puede servir para mucho.
es programa se combertira poco a poco en un prollecto de una alarma con esendido y apagado
b0=entrada de un foto diodo
b1= es un on/of de la alarma
b2= entrada de un sensor (laser(para el patio si el ratero corta el as dara salida en b3) o magnetico (si el rata abre la puerta dara salida en b3)
b3=1 entonses algun sensor se acciono
puede ir creciendo poco a poco la verda por que cuando quede se puede copiar la ultima parte del codigo y aunmentar mas sensores en los otros pines que faltan
y te soy sinsero lo digo de nuevo yo voy aun en carreta y ustedes en banes espaciales jejejeje pero si te comento que tengo exelentes ideas te comparto una de ingenieria electrica es mas compleja que esto pero tengo la idea de com aserlo (solo que aun estoy aprendiendo el lenguaje c para pic) hay ba piensa en lo siguiente un generador y en sus pricipios de funcionamiento de hay un servidor explicara la teoria y la idea en el siguiente comentaria

Desconectado nuevo mundo

  • PIC16
  • ***
  • Mensajes: 108
Re:insertar una condicion mientras se ejecuta un while
« Respuesta #16 en: 09 de Marzo de 2016, 14:40:59 »
Continuo con compartir una idea mayor y que de verdad puede hacer un ( nuevo mundo) asi  me puse para que un generado eléctrico funcione se requiere de 3 componentes (1 campo magnético, 2 movimiento, 3 conductor ) entonces al si nosotros alimentamos la bobina creamos un campo magnético que asu ves lo asemos girar tendremos por lógica tendremos polo norte y polo sur que asu bes se acerca a una bobina que es el estator en la cual por inducción magnética nos da una salida de voltaje

bueno por ultimo aquí viene lo mejor o la idea que se que funcionaria es realizar un generador eléctrico pero prado si parado si lo ves de la forma que lo e visto es la siguiente la bobina lo que reamente ase es acercarse y alejarse del campo magnético entonces por que girar la bobina si con electrónica podemos conmutar la polaridad de la alimentación de la bobina y con esto tendremos un electro iman que cambia de polaridad y si le ponemos una bobina (estator) me aprese que se crea un generador eléctrico parado disculpa que telo comente aun hay mas porque en donde trabajo (bueno ahora sin empleo jejejeje) está un generador pero lógico giratorio y una de las ´partes se tiene que usar para mi idea
te sigo comentando este generado tiene un pwm modulador de ancho de pulso) el cual embia la excitación a una bobina primaria de hay esa bobina primaria excita el campo más grande.

yo e pensado que con solo unos cuantos amperes que manda el pwm a la excitación primaria el generador nos da unos 2200 kw asu mecha mucha electricidad pero el generarla es super cara por la parte mecánica que es un motor que consumen para que des una idea madamas unos 1500 litros de dissel cada 24 horas en presios mexicanos son unos 25,500 el caso es súper deficiente te imaginas esa idea jejeje perdón per salirme del tema pero con un pic se que se puede hacer un pwm y por logia conmutar un par de pines como la instrucción toogle pero en este caso se tendría que acelerar la conmutación con un potenciómetro (eso se que los que saben mucho la hacen con un convertidor A/D) veo que la forma de probar mi teoría es programar un pic jejje hacer las bobinas y medir la salidas aaaaaaaassssssuuuuuu mecha un sueño creo que no tan duro si aprendo a programar pic en c o si alguien me ayuda yo tengo la idea saludos y gracias por la ayuda  ((:-)) a el programa que intento hacer si me esfuerzos de verdad me quedo a deshoras de la noche el  caso es que quede jejeeje

Desconectado nuevo mundo

  • PIC16
  • ***
  • Mensajes: 108
Re:insertar una condicion mientras se ejecuta un while
« Respuesta #17 en: 09 de Marzo de 2016, 15:36:24 »
ya realise los cambios segun yo pero nada que me funciona pongo el programa a continuacion


#include <16f84a.h>//<16F877a.h>
#use delay(clock=4000000)
#fuses xt//,PWRT,CP //NOWDT,XT,NOPUT,NOPROTECT,BROWNOUT,NOLVP,NOCPD,NOWRT




    #use fast_io(b)


    void main(void){

            set_tris_b(0b00000101);         // Se asigna B0 y B2 entradas
            output_low(PIN_B0);             // garantiso que el pin b0 esta en bajo
            output_low(pin_b3);             // pongo b3 en bajo

            while(1)
            {
                    if(input(PIN_B0)==0)                    // Pregunto si la entrada B0 es=0
                    {
                            delay_ms(10);                   // Espero 10ms por si la llave esta rebotando (variando entre 1 y 0 )
                            while(input(PIN_B0)==0);        // Espero que suelte el boton, observa el ; al final, es decir un while(){}
                            output_toggle(PIN_B1);          // Cambio el valor del pin
                    }
                       
                    if(input(PIN_B1)==1 && input(PIN_B2)==1)// Pregunto si pin B1 es =1 y si B1 es= 1
                    {
                            delay_ms(10);                   // Espero 10ms por si la llave esta rebotando (variando entre 1 y 0 )
                            output_high(pin_b3);             //Si se cumple el if anterior dale un 1 en b3
                            if(input(pin_b1==1 && input(PIN_B2==0)));//pregunto de nuevo si se cumple el if dare un 0 ala terminal b3
                            output_low(pin_b3);
                    }
            }
   
    }

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:insertar una condicion mientras se ejecuta un while
« Respuesta #18 en: 09 de Marzo de 2016, 17:28:28 »
Código: C
  1. void main(void){
  2.  
  3.         set_tris_b(0b00000101);         // B0 y B2 entradas
  4.         output_low(PIN_B0);
  5.  
  6.         while(1)
  7.         {
  8.                 if(input(PIN_B0)==0)                    // Pregunto si B0 es 0
  9.                 {
  10.                         delay_ms(10);                   // Espero 10ms por si la llave esta rebotando (variando entre 1 y 0 )
  11.                         while(input(PIN_B0)==0);        // Espero que suelte el boton, observa el ; al final, es decir un while(){}
  12.                         output_toggle(PIN_B1);          // Cambio el valor del pin
  13.                 }
  14.  
  15.                 if(input(PIN_B1)==1)
  16.                 {
  17.                         if(input(PIN_B2)==1)
  18.                         {
  19.                                 output_high(PIN_B3);          // Cambio el valor del pin
  20.                         }
  21.                         else
  22.                         {
  23.                                 output_low(PIN_B3);
  24.                         }
  25.                 }
  26.                 else
  27.                 {
  28.                         output_low(PIN_B3);
  29.                 }
  30.         }
  31. }
« Última modificación: 09 de Marzo de 2016, 17:32:20 por KILLERJC »

Desconectado nuevo mundo

  • PIC16
  • ***
  • Mensajes: 108
Re:insertar una condicion mientras se ejecuta un while
« Respuesta #19 en: 09 de Marzo de 2016, 22:22:25 »
hola KILLERJC deverdad me as enseñado mucho en el primer programa realmente abri los ojos con todo lo bueno que es el lenguage c pic
en el programa de solo 4 pines usaste las siguientes sentencias (if, else, outp_togle, y asta vi la conpúerta nan (&&) y los basicos output_low, output_high. asummecha exelente me quito el sonbrero y doy gracias al creador del universo por que me da la oportunidad de conoser un ser con tanto talento como tu y que de manera jobial y desinteresara ayude a los que pueda gracias el progrma hase lo que debe de hacer ya lo simule  (((:-))) un plauso para ti y me queda fabricar o comprar el programador de pic (tengo uno pero es paralelo y veo que eso ya no se usa y ni tengo la pc de antes nesesit el serial jejejej y por logica conectar un sensor en b2

esta funcion tienes algun egemplo donde la pueda verla funcionar 
switch
y si es correctro en esta parte del programa     if(input(PIN_B1)==1)      meter los demas pines ya que se cambie en  set_tris_b(0b11110101); a entradas la entrada b4,b5,b6,b7 del pic 16f84a 
  if(input(PIN_B2)==1)
« Última modificación: 10 de Marzo de 2016, 00:35:01 por nuevo mundo »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:insertar una condicion mientras se ejecuta un while
« Respuesta #20 en: 09 de Marzo de 2016, 23:11:14 »
Gracias nuevo mundo, aca en el foro hay muchas personas que tiene mucho mas "talento" que yo y que ayudan a los demas, termino contestando yo por que estoy mas desocupado. ( Rogando que me llamen de algunos lugares donde presente el CV )

Es cierto que use varias cosas, pero lo importante es que entiendas paso a paso el programa, tratar de entenderle para que en el momento que necesites realizar algo no dependas de otras personas, sigas intentando y viendo que esta mal, se te ocurran cosas para probar si el programa llega a donde vos queres o no, o donde esta el problema y tratar de solucionarlo por uno mismo, si luego de tratar hasta el cansancio no encontras una respuesta ( y me refiero a dias tratando ) podes buscar nuevas ideas en el foro, normalmente de alguien con mas experiencia y que paso por el mismo problema que vos antes.

El programa que te pase era muy simple, por eso buscaba que lo hicieras vos mismo.

Respecto al programador es cierto que ayuda un poco a meterse con la electronica o en realidad "emociona" crearse el programador uno mismo, pero si vas a programar varios micros por ahi deberias pensar en comprarte un programador que admita todos los tipos de PIC como un Pickit 3, que es el Oficial de Microchip.

Ahora si tu idea es grabar solo un par de micros y de los mas "viejitos", un Pickit 2 ( o un clon del mismo ) te podria servir, pero pensa que podrias gastar 1 sola ves y tenerlo para todos los micros ( el pickit 3 ), Creo que los precios son parecidos.

Construirlo uno mismo , lo maximo que podrias acercarte es un Pickit 2, en el cual vas a tener que grabar el micro del programador, necesitando de otro programador, Y deberias analizar los costos sobre que es mas barato, la durabilidad, lo que se te ocurra.

----------------

Citar
bueno por ultimo aquí viene lo mejor o la idea que se que funcionaria es realizar un generador eléctrico pero prado si parado si lo ves de la forma que lo e visto es la siguiente la bobina lo que reamente ase es acercarse y alejarse del campo magnético entonces por que girar la bobina si con electrónica podemos conmutar la polaridad de la alimentación de la bobina y con esto tendremos un electro iman que cambia de polaridad y si le ponemos una bobina (estator) me aprese que se crea un generador eléctrico parado disculpa que telo comente aun hay mas porque en donde trabajo (bueno ahora sin empleo jejejeje) está un generador pero lógico giratorio y una de las ´partes se tiene que usar para mi idea

Estudio Ingeniera Electronica por lo cual tengo el deber de estudiar la fisica/matematica de los trnasformadores/generadores. Eso no quiere decir que no me pueda equivocar obviamente.
Yo no creo que estes en lo correcto con lo que planetas, para mi lo que estas intentando hacer es un transformador con un nucleo de aire.

Muy distinto a un generador. Para hacerte una idea te doy esta sentencia: la energia no se crea se transforma.

Es decir en un generador normal: La energia proviene del combustible, que hace girar al motor, del movimiento giratorio mecanico del motor se transforma en energia electrica. Apartir de aca el consumo hace que el generador quiera "frenarse" pero que el motor provee la energia para que no suceda.
En cambio lo que vos planteas es darle energia electrica a una bobina para sacar energia electrica por la otra. Basicamente un transformador. Como te decia la energia no se crea, entonces la energia que vas a sacar, tambien la tenes que tener en el "rotor". Y creo que no ves el problema principal, es que necesitas energia electrica donde NO LO HAY! y por eso es que usas otro tipo de energia como el combustible, Gas, Vapor, Carbon, Agua(hidraulicas), Viento (eolicas), etc.

Pensaras que podrias almacenar energia en baterias, por supuesto podes hacerlo, pero recuerdo haber visto 1 sala llena de UPS + 1 sala llena de baterias una conectada con otras para poder proveer a una estacion terrena ( de satelites ) de energia, para esperar a 2 generadores se pongan en marcha que no me parecieron gigantes (con lo vistos en algunas fabricas ). Basicamente usaban esos UPS para darle tiempo a los generadores a arrancar y no tener que hacerlos arrancar por 1 minuto ( a pesar que se los mantenia calientes, etc etc ) , pero su duracion era muy limitada ( Creo que 2 horas maximo era ). Luego tenes que pensar en el costo de reemplazo de baterias, el tiempo de "funcionamiento" etc. No lo veo como una solucion rapida hasta que no exista una mejora significativa en baterias.

Por como lo decis creo que te falta interiorizarte mucho mas en Fisica, deberias ver transformadores y generadores desde la parte matematica/fisica mucho mejor.

Citar
ok KILLERJC si lo leí según yo investigue (&&) que significa compuesta nand

Se comporta como una AND , es una AND logica, no confundir con una & ( AND bit-wise , o bit a bit )

Cuando vos usas un if, o tenes alguna condicion, ejemplo:

input(PIN_B0) == 0

Lo que hace eso es preguntar si el PIN_B0 es 0, si es asi el resultado de eso es TRUE (verdadero) , en caso contrario seria FALSE (falso). Con la && es para ese tipo de valores. Suponete esto:

if ( 123 && 12 && 0 && -10)

Eso primero se evalua cada uno de los datos, cualquier numero distinto de 0 es TRUE, y el 0 es FALSE. Esntonce eso se transforma en:

if ( TRUE && TRUE && FALSE && TRUE )

Como toda AND, si alguno es 0 ( false ) va a tener 0 en la salida ese if nunca va a entrar.
Distinto es el & bit a bit como te decia.

variable = 0b10101001 & 0b00001111;

Lo que hace eso es realizar una AND bit a bit, es decir,  bit0 del primer valor AND bit0 del segundo valor.
Como se puede ver rapidamente, solo van a quedar los 4 ultimos bits, es decir que variable va a tener el valor : 0b00001001

Eliminados un par de mensajes por atentar contra las Normas del Foro:

5º No hagas consultas sobre piratería de software, por favor. Es ilegal y compromete al foro. Nada de cracks, serials, plug-in's pagos y/o cualquier software y/o hardware sujeto a Copyrights y/o Derechos de Autor;

6º Si citas o incluyes material sujeto a Copyrights y/o Derechos de Autor en tu mensaje, asegúrate de cumplir con todas las pautas que exige su Autor;

un saludo

Gracias Xocas
« Última modificación: 09 de Marzo de 2016, 23:16:52 por KILLERJC »

Desconectado nuevo mundo

  • PIC16
  • ***
  • Mensajes: 108
Re:insertar una condicion mientras se ejecuta un while
« Respuesta #21 en: 10 de Marzo de 2016, 23:16:12 »
ok KILLERJC a su mecha compadrito eres bueno en esto de programar la verdad me explicaste muy bien lo de las compuesta nan gracias oyes  KILLERJC una pregunta me podrías seguir ayudando con el programa que tengo para acensarle mas entradas en el puerto b rb4,rb5,rb6,rb7 es que la condición ese es el problema ósea si ves el diagrama que subí tengo un DWS1 pero a un me gustaría aumentarle más entradas pero como meterle más condiciones al if quiero meterle rb4 , rb5,rb6 al if ósea lo que hace está bien ahora anexarle rb4, rb5,rb6 por ultimo  rb7 este últimos la diferencia es que al detectar un 1 en cualquiera de las entradas (rb3,rb4,rb5,rb6) de salida en este último pero con intervalo de tiempo de 1 min encendido y otro pagado are mi intento para que veas si ya me empiezo a aprender algo del análisis de leer programas.

y por otro lado si me gustaría seguir platicando más sobre la idea del generador estático la verdad que creo que si es factible desarrollar la idea no se en tu escuela como se titulan pero en México uno se puede titular por proyecto tu presenta un proyecto pero claro uno en donde desarrolles nuevos campos y si demuestras que desarrollaste algo nuevo pos te dan el titilo
si te molesto con esto del generador parado me dices no es mi intención pero si creo que es un excelente reto desarrollar la idea. Mira si tienes razón en primera vista es un trasformador pero en realidad una de las cosas que primero es desarrollar un electroimán pero este es algo especial que el sentido de la corriente tiene que cambiar para que la polaridad magnética cambie también en esta parte entran dos cosas pic programado para la conmutación y luego que ya se haga eso realizar una fuente conmutada o un modulador de ancho de pulso para alimentar el electroimán claro que se tiene que ir realizando por parte por que alimentar la bobina del electro iman tiene su chiste (tendría que ser al principio con electrónica de potencia  baja) para los primeros  experimentos de hay aumentar la corriente para que sea mas fuete el magnetismo y por lógica más campo magnético y mayor salida en el estator (nota e buscado como hacer electroimanes y no e encontrado mucho solo en you tuve encontré un video donde hacen los imanes mas poderosos del mundo

aaaaaaaa me da pena la verdad tienes razón en depender de otras personas pero en el proceso uno aprende como dices voy a intentar meter los otros pin a la condición que te mencione luego subiré lo que hice y si lo logre

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:insertar una condicion mientras se ejecuta un while
« Respuesta #22 en: 11 de Marzo de 2016, 01:08:51 »
Citar
me da pena la verdad tienes razón en depender de otras personas pero en el proceso uno aprende

Si, uno aprende pero si ya te doy mas codigo no es ayudarte sino hacerte el trabajo, y con lo aprendido hasta el momento deberias ser capas de realizarlo por vos mismo al programa que intentas hacer. Aunque no logre entender exactamente que querias hacer por que no te explicaste demasiado bien con lo de las entradas. Ni tampoco poseo el tiempo para dedicarme a lo tuyo, ya que siempre tengo cosas para hacer.

Citar
y por otro lado si me gustaría seguir platicando más sobre la idea del generador estático la verdad que creo que si es factible desarrollar la idea no se en tu escuela como se titulan pero en México uno se puede titular por proyecto tu presenta un proyecto pero claro uno en donde desarrolles nuevos campos y si demuestras que desarrollaste algo nuevo pos te dan el titilo

No se que "escuela" estas hablando, pero estamos hablando de carreras universitarias, no conozco ninguna carrera que te den un "titulo" por lo que hayas realizado, es decir no vas a salir con un ingenieria/doctorado por solo presentar un proyecto, ya que el titulo tiene muchas mas incumbencias que lo que podes desarrollar. Si la educacion es esa entonces es la peor educacion que se me ocurre. Pero estoy mas que seguro que no es asi. Y que debes estar equivocado.

Para no extenderme demasiado, que estes hablando de como pensas armar tu "generador" (por que es energia electrica a electrica, y tal ves la palabra que buscas es "inversor", ya que NO seria un "generador" ), que me digas que estas buscando videos en youtube para hacer un electroiman y no un libro tecnico, que me digas eso de los estudios y los titulos.
Hace que no pueda tomar en serio de lo que me estas hablando. Todo es tan ilogico que me hace pensar si realmente tenes idea de lo que estas planteando.
En fin yo no soy quien para decirte nada, vos mismo probaras y luego buscaras el por que no te funciona como vos crees.
Asi que por mi adelante, podes seguir investigando, construir algo y probarlo.

Desconectado nuevo mundo

  • PIC16
  • ***
  • Mensajes: 108
Re:insertar una condicion mientras se ejecuta un while
« Respuesta #23 en: 11 de Marzo de 2016, 03:56:25 »
KILLERJC ok amigo estoy agradesido  con un servidor saludos un fuerte abrazo voy a macharle mas al programa asta hecharlo a andar tamos en contacto

Desconectado nuevo mundo

  • PIC16
  • ***
  • Mensajes: 108
Re:insertar una condicion mientras se ejecuta un while
« Respuesta #24 en: 11 de Marzo de 2016, 12:30:06 »
KILLERJC oyes compadrito por alguna manera el promama funciono pero ya que le intente copiarlo y modificarlo y simulardo de nuevo la verdad  no gase nada ni siquiera lo primero que es el cambio de salida en ra1 nada  de nada la verdad me esta frustrando esta cosa pero respirare profundo y empesare de nuevo cuando tengas un tiempesito pos me apoyas por lo pronto de nuevo lo empesare por partes aver que tal

Desconectado Berto

  • PIC16
  • ***
  • Mensajes: 191
Re:insertar una condicion mientras se ejecuta un while
« Respuesta #25 en: 31 de Marzo de 2016, 12:22:43 »
Si no me e perdido en algo que halla leido yo utilizaria una AND fisica, te ahorras en pin2, escribir codigo, memoria RON y tiempo de ejecucion.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:insertar una condicion mientras se ejecuta un while
« Respuesta #26 en: 31 de Marzo de 2016, 18:54:47 »
Si no me e perdido en algo que halla leido yo utilizaria una AND fisica, te ahorras en pin2, escribir codigo, memoria RON y tiempo de ejecucion.

En lo que te ahorras la memoria ROM que le deberia sobrar, tiempo de ejecucion que le deberia sobrar por que no son entradas que necesiten alta velocidad de respuesta. Terminas agregando complejidad en la placa y mas integrados. Aunque creo que lo sigue en otro hilo, paso a un PIC16F877A que posee 40 pines, y le sobran por lo que piensa hacer.

Desconectado nuevo mundo

  • PIC16
  • ***
  • Mensajes: 108
Re:insertar una condicion mientras se ejecuta un while
« Respuesta #27 en: 01 de Abril de 2016, 02:43:58 »
hola Berto te informo que pase a otro tema hay continuare lo que quiero terminar realizando lo cual es una alarma si gustas seguir el avance o ayudar será bienvenido por lo pronto creo que este tema insertar una condición mientras se ejecuta un wile se cumple al realizar la primera condición de lectura del prime pin el cual será para una alarma pero en realidad necesito seguir avanzando para llegar a buen fin  y me esta asesorando killerjc
pase a lectura digitales y analógicas
saludos



 

anything