Ir ao conteúdo

Posts recomendados

Postado

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.

Postado

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

  • Curtir 1
Postado

@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 

  • Membro VIP
  • Solução
Postado

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

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...