Buenas a todos
Soy un estudiante de grado superior en zaragoza y soy nuevo en este foro
Estamos realizando en clase un proyecto de fin de curso, consistente en recibir datos en el pic mediante bluetooth y activar unas cargas, como luces, persianas, puerta, etc.
El problema principal que tenemos es que no conseguimos realizar la conexion bluetooth con el PIC. En el proteus nos funciona todo perfectamente al simularlo, pero en cuanto lo monto fisicamente en placa blanca, no nos funciona nada. El bluetooth que estamos utilizando es el EB-301, de microcontroladores.com. El bluetooth funciona perfectamente, ya que lo hemos probado con un pic16f84a y funcionaba. A continuacion os dejo el codigo que hemos programado, a ver si alguien nos puede ayuda. Gracias anticipadas a todos por vuestra ayuda, y perdon si me he equivocado colocando el tema, ya que es la primera vez que escribimos.
Un saludo
#include <16f877a.h>
#fuses NOWDT, XT, NOPUT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG
#use standard_io(b)
#use delay(clock=4000000)
#byte port_a=5
#byte port_b=6
#byte port_c=7
#use rs232 (baud=9600, Xmit=pin_c6, Rcv=pin_c7, bits=8) // ordenes del puerto serie
main()
{
char a;
set_tris_a(0b00000000);
set_tris_b(0b00000000);
port_a=0;
port_b=0;
while(1)
{
a=getc();
if(a=='w') // enciende la luz interior
{
output_high(pin_b6);
output_low(pin_b7);
puts("enciende interior");
}
if(a=='s') // apaga la luz interior
{
output_low(pin_b6);
output_low(pin_b7);
puts("apaga interior");
}
if(a=='d') // enciende la luz exterior
{
output_high(pin_b0);
output_low(pin_b1);
puts("enciende exterior");
}
if(a=='a') // apaga la luz exterior
{
output_low(pin_b0);
output_low(pin_b1);
puts("apaga exterior");
}
if(a=='f') // abre la puerta
{
output_high(pin_a2);
output_low(pin_a3);
delay_ms(1000);
output_low(pin_a2);
output_low(pin_a3);
puts("abre puerta");
}
if(a=='b') // cierra la puerta
{
output_low(pin_a2);
output_high(pin_a3);
delay_ms(1000);
output_low(pin_a2);
output_low(pin_a3);
puts("cierra puerta");
}
if(a=='c') // sube las persianas
{
output_high(pin_b2);
output_high(pin_b4);
output_low(pin_b3);
output_low(pin_b5);
delay_ms(3000);
output_low(pin_b2);
output_low(pin_b4);
output_low(pin_b3);
output_low(pin_b5);
puts("sube persianas");
}
if(a=='e') // baja las persianas
{
output_low(pin_b2);
output_low(pin_b4);
output_high(pin_b3);
output_high(pin_b5);
delay_ms(3000);
output_low(pin_b2);
output_low(pin_b4);
output_low(pin_b3);
output_low(pin_b5);
puts("baja persianas");
}
if(a=='h') // activa la sirena
{
output_high(pin_a0);
output_low(pin_a1);
puts("activa sirena");
}
if(a=='j') // desactiva la sirena
{
output_low(pin_a0);
output_low(pin_a1);
puts("desactiva sirena");
}
}}