Pesquisar

AFSmartRadio Tranceiver 915Mhz Lora

AFSmartRadio Tranceiver 915Mhz Lora Módulo AFsmart Lora V1.0 montado Arduino Pro-Mini e Rádio Rf4463PRO A Internet das coisas (...

Alternando Leds do Módulo AFSmartBoard PIC18F4550

Alternando Leds do Módulo AFSmartBoard PIC18F4550

Esta é uma aplicação de forma a apresentar o módulo AFSmartBoard PIC18F4550. Para  desenvolvimento claro não podíamos deixar de utilizar o módulo em questão, devido à facilidade de utiliza-la.

É um módulo interessante para cursos, palestras, treinamentos, tcc, etc..

E porque não desenvolvimento de aplicações profissionais, uma vez que a mesma é um módulo robusto, montado com tecnologia SMD, desenvolvida e fabricada pela AFEletronica.
O módulo facilita muito o desenvolvimento de qualquer aplicação uma vez que possui bootloader integrado, a aplicação é enviada usando a entrada USB.

Não sendo necessário o uso gravadores externos para utilizar o módulo, o que facilita muito a vida de estudantes, o custo de um desenvolvimento cai consideravelmente.

Embora não seja necessário utilizar gravador externo, ela possui o footprint para soldar uma barra de pinos e conectar o Pickit2 ou Pickit3 direto na placa, sem necessidade de realizar alterações o que não altera as características do módulo.

Querendo desenvolver uma aplicação com sensor de temperatura por exemplo, ela possui no seu interior footprint para soldar o sensor de temperatura DS18B20 lembrando que esse sensor é digital e não analógico.

Sua alimentação é de 9 @ 12 Vdc, possui chaveamento automático, da alimentação USB/Fonte, se estiver conectado o Cabo USB e a fonte de alimentação externa, neste caso estará consumindo corrente da fonte externa, se sem a fonte externa estará consumindo corrente da porta USB do computador, mas atente que a corrente máxima da USB de um computador é de 500mA. 

Sendo assim, se a aplicação a ser desenvolvida consome corrente superior à 500mA, mantenha uma fonte externa ligada à AFSmartBoard.

Possui no barramento ainda 3,3Vdc para alimentação de sensores do tipo acelerômetros, bussolas, etc. deve se tomar o cuidado somente com a corrente do que ligar neste pino pois a corrente fornecida é baixa, mas por si só já é uma excelente opção em relação aos módulos concorrentes no mercado.

Possui Botão RESET na placa e um botão ligado ao Pino RA3 do processador, sua função é entrar no  moto de gravação, mas pode ser utilizado também na aplicação como um botão comum, para ligar uma saída, desenvolver um menu, etc...

Para envio da Aplicação ao módulo é utilizado o programa USB HID Bootloader.


Para envio da aplicação, deve realizar o seguinte procedimento:
1 - Segure pressionado os botões RESET e RA3
2 - Solte RESET
3 - Solte RA3
Neste momento o módulo irá se conectar ao programa USB HID Bootloader, como mostrado acima.
Pronto, basta escolher a aplicação e enviar para o módulo.
Após enviar, basta apertar o botão RESET do módulo, ou então utilizar o botão RESET do programa, neste momento sua aplicação já estará rodando.

Importante informar sempre ao módulo para começar a gravação do arquivo de programa à partir do endereço 0x1000 da flash, pois abaixo desse endereço esta gravado o bootloader do módulo.

Caso seja gravado em posição errada a aplicação não irá rodar, mas não irá apagar o bootloader ou algo do tipo, basta voltar e informar a posição que dever começar a gravação do programa, utilizando o comando:

#pragma orgall 0x1000
void main (void) org 0x1000
{
     // aqui código da aplicação
}

Mas isso esta claro no exemplo abaixo.


Material utilizado:
Cabo USB para envio da aplicação e alimentação da placa.


/****************************************************************
Placa Desenvolvimento AFSmartBoard PIC18F4550 by AFEletronica
Aplicação desenvolvida utilizando o Compilador MikroC PRO for v6.6.1
www.afeletronica.com.br

Detalhes Importantes sobre a Placa e self programming USB:
        - devido ao Bootloader-self programming USB - ocupar do endereço 0x0000 ao 0x0FFF, o programa/ código
        deverá começar sempre à partir do endereço 0x1000, para isto usar sempre o linker script "rm18f4550 - USB Bootloader v2.90a"
        que fará o realocamento na compilação
        - Devido ao Uso com USB o Clock do PIC está em 48MHz, considerar este quando calculando baud, delays, etc.
        - Configurações de IOs e gerais de hardware estão na função AFSmartBoard_Init

REV.0 - Janeiro 2016

Notas: usando programa acima endereço 0x1000  - compatibilidade BootLoader USB
*****************************************************************/

#pragma orgall 0x1000
void AFSmartBoard_Init (void);

void main (void) org 0x1000
{
    AFSmartBoard_Init(); // função que inicializa a placa AFSmartBoard
    // Alterna um dos Leds
    PORTA.RA5 = 1;
    while (1)
    {
        // Altera o estado que se encontra o LED
        PORTA.RA5 ^= 1;
        PORTA.RA4 ^= 1;
        // Delay
        Delay_ms(2000);
    }
}
void AFSmartBoard_Init (void)
{
      RCON = 0X80; // Limpa o Registro de Reset
      ADCON1 = 0x0F; // Configura todas a portas como Portas Analogicas exeto A0
      CMCON = 0x0F; // Desabilita o Comparador
      LATA = 0;
      TRISA = 0b11001111;
      T0CON = 0b11000101; // Habilita Timer , 8 bits,clock interno, preescale 1:64
      LATB = 0; // Limpa Latch PortB
      TRISB = 0; // Coloca todos como tudo Saida
      LATD = 0;
      TRISD = 0x00; // Colocar PORTD como saída
      LATE = 0;
}