Programar PIC 18F452

#1
Hola!

tengo que hacer un programa por medio de proteus que realice:

utilizando el PIC 18F452 escribir un programa que detecta la luz del día y que se convierte en un pequeño motor que se cierra una ventana cuando oscurece. El motor debe permanecer encendida durante 10 segundos. Cuando se llega brillante el motor de nuevo se debe ejecutar durante 10 segundos, pero en la dirección opuesta. El nivel de luz en que el movimiento se activa deberá ser regulable.


puede que este escrito de forma que no se entiendan algunas cosas ya que lo he traducido del ingles con el traductor de google :LOL:

si alguien me puede ayudar se lo agradeceria!!! esk no se por donde empezar...
 
#2
Como practica de todo buen programador te recomiendo que inicies haciendo algun algoritmo en lapiza y papel sobre lo que deseas que haga el circuito (si te es mas facil has un diagrama de flujo) te aseguro te servira de mucha ayuda dado que podras ir haciendo tu programa paso a paso segun tu diagrama de flujo.
 
#3
hola!

muchas gracias por contestar
la verdad que tengo la idea de lo que tiene que hacer el programa, pero no se como poner el codigo...
en teoria tendria que poner que cuando hay luz es 0 y cuando no hay es 1 (por ejemplo)
y asi que el motor vaya en una direccion u otra segun lo que sea dicha variable

en esta pag he encontrado lo que seria el circuito que tengo que utilizar para ponerlo junto al PIC:

http://www.robotroom.com/BipolarHBridge.html

alguien me puede echar una mano con el codigo?

un saludo y muchas gracias por la contestacion de antes
 
#4
hola!

aqui sigo con mi problema... tengo hecho todo el circuito... alguien sabria que codigo tengo que hacer para que funcione???

os djo aki el dibujo para que lo veais:

 
#5
alguien sabria que codigo tengo que hacer para que funcione???
Por tu pregunta entonces supongo que no sabes programar un micro verdad?? de lo contrario pues Isis acepta el archivo *.hex o el *.cod generados al compilar C o el *.hex generado al compilar ensamblador.
Puedes hacer tu programa con cualquiera de esos dos lenguajes
 
#6
hola!

pues la verdad que no, este es el primer año que me pongo con los PICs

Aqui dejo lo que llevo de codigo hasta ahora (si, no os jarteis mucho, seguro que es una mierda y no tiene ni pies ni cabeza con lo que quiero que haga en verdad)

nu se.. la cosa es que cuando haya luz se mueva el motor en una direccion en 10 segundos y cuando oscurezca se mueva en la otra direccion durante 10 segundos otra vez....


#include <p18cxxx.h>
#include<adc.h>
#include <stdlib.h>
#include <delays.h>

void main(void)
{

int result;
PORTC = 0;
TRISC = 0;
Open(ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_8ANA_0REF, ADC_CHO & ADC_INT_OFF);
//configure A/D convertor
while(1)
{
Delay10TCYx(10);
ConvertADC();

while(BusyADC);
result=ReadADC();

if(result>=100)
PORTC = 00000011;

else if(result<100)
PORTC = 00001100;

}

close ADC();
}


gracias de nuevo por todo
 
Arriba