Ir ao conteúdo
  • Cadastre-se

PIC Programação de módulo Bluetooth com pic18f4550


Ir à solução Resolvido por .if,

Posts recomendados

Bom dia, estou embarcando em eletrônica agora, e estou com dificuldade para fazer a programação da comunicação do módulo hc-05 com o pic18f. Essa programação seria para que através de um app pudesse acionar os eixos x,y e z e fazer os motores avançarem e recuarem.

Link para o comentário
Compartilhar em outros sites

@aphawk

Bom dia, está aí. Eu queria saber como faço a comunicação do módulo com o pic. Por que iremos fazer o movimento da Ponte tanto com botões tanto com o Bluetooth

 

#define red    portD.rD2
#define green  portD.rD1
#define blue   portD.rD0
char uart_rd;

void main() {
  ADCON1 = 0x0F;                          // somente I/O digital
  CMCON  = 0x07;                          // comparadores off
  TRISA = 0xFF;
  TRISD = 0x00;

  UART1_Init(9600);               // Initialize UART module at 9600 bps
  Delay_ms(100);                  // Wait for UART module to stabilize

  UART1_Write_Text("PONTE ROLANTE");
  UART1_Write(10);
  UART1_Write(13);
  UART1_Write_Text("MOVER MOTOR");
  UART1_Write(10);
  UART1_Write(13);
  UART1_Write_Text("a) Green.");
  UART1_Write(10);
  UART1_Write(13);
  UART1_Write_Text("b) Blue. ");
  UART1_Write(10);
  UART1_Write(13);
  UART1_Write_Text("c) Red.  ");
  UART1_Write(10);
  UART1_Write(13);

  while (1) {                  // Endless loop
        // uart_rd = UART1_Read();
        if (UART1_Data_Ready()) {     // If data is received,
          uart_rd = UART1_Read();     // read the received data,
          //UART1_Write(uart_rd);       // and send data via UART
        }

        switch(uart_rd){
        case 'a' : green = 1; Delay_ms(2000); break;
        case 'b' : blue = 1; Delay_ms(2000);break;
        case 'c' : red = 1; Delay_ms(2000);break;
        case 'd' : green = 0; Delay_ms(2000); break;
        case 'e' : blue = 0; Delay_ms(2000);break;
        case 'f' : red = 0; Delay_ms(2000);break;

        }
        
    }  
}
 

adicionado 1 minuto depois
23 horas atrás, Luan Borges disse:

Só não se esqueça que esse modulo os pinos TX/RX tem um tolerância máxima de 3.3V, então você não pode fazer a comunicação direta com os pino TX/RX do Pic

Sim, isso eu sei obrigado irmão 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
  • Solução

Olá amigo. Já obtiveste sucesso com este programa? Ou seja, já conseguiste acender os leds de acordo com o dado recebido advindo do teu app? Se sim, seus problemas acabaram e você já conseguiu fazer

1 minuto atrás, Lucas Henrique Mello da Si disse:

a comunicação do módulo com o pic

Assim sendo, basta-te acrescentar mais condições. P.ex.:

#define ponteVAI   portD.rD3
#define ponteVEM   portD.rD4
...
case 'g' : ponteVAI = 1; Delay_ms(5000); ponteVAI=0;break;
case 'h' : ponteVEM = 1; Delay_ms(5000);ponteVEM=0; break;
...

E claro no hw os devidos ajustes

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...