quinta-feira, 16 de junho de 2016

Comunicação USB CDC (communications device class) com PIC18F4550 – Completamente funcional



Boa a noite a todos!

Hoje (16/06/2016) abordaremos um tema bastante interessante, a comunicação USB entre um microcontrolador e o computador.
O microcontrolador em questão é o PIC 18F4550, fabricado pela Microchip, e programado utilizando a linguagem C padrão CCS.

Por que utilizar o microcontrolador PIC18F4550?

Este microcontrolador possui um módulo USB nativo, por esse motivo ele foi escolhido, entretanto existem ouros microcontroladores da Microchip que podem ser utilizados, estes são alguns deles: PIC18F13K50, PIC18F14K50, PIC18F2450, PIC18F2455, PIC18F2458, PIC18F2550, PIC18F2553, PIC18F4450, PIC18F4455, PIC18F4458, PIC18F4550, PIC18F4553, PIC18LF13K50 e PIC18LF14K50.

Como funciona um dispositivo CDC?

É bem simples de entender, quando um microcontrolador é programado desta forma, para se portar como um USB CDC, as aplicações que o utilizarão irão identifica-lo como uma porta de comunicação serial RS232, desta forma temos a virtualização de uma porta USB como serial RS232. A principal desvantagem da utilização do modo CDC é o fato de que é necessário que um driver seja instalado no computador, as versões mais antigas do Windows não possuem. O meu computador é 8.1 e funcionou perfeitamente. Essa classe pode ser usada para equipamentos industriais, tais como máquinas CNC, para permitir a atualização de softwares controladores mais velhos RS-232, uma vez que eles podem manter a compatibilidade de software.

Mãos à obra!

1- Passo;
Utilizando o Project Wizard do CCS configure na aba Device como apresentado a seguir:


2- Passo;
Configure na aba USB como apresentado:


3- Passo;
O código gerado será apresentado, agora podemos edita-lo:


4- Passo;
Apague tudo que estiver dentro da função main() e digite o seguinte código:


5- Passo;
Agora, altere o #include <usb_cdc.h> para #include "usb_cdc.h", as aspas servem para indicar que o arquivo em questão se encontra na mesma pasta em que está o arquivo que cotem o main(). Feito isso selecione esta linha, clique com o botão direito sobre a seleção e escolha Open file at cursor para abrir o arquivo, edite o da seguinte maneira:


6- Passo;
Após compilar o código, (obs: se você fez tudo certo não é para ocorrer nenhum erro) basta gravar o hex no PIC. O hardware utilizado pode ser observado a seguir:


Obs: eu tentei utilizar o USB durante a simulação no ISIS, entretanto não consegui, isso provavelmente se deve ao fato de que o meu sistema operacional é de 64bits.


7- Passo;
Bem, agora falta pouco, basta conectar o PIC ao computador, no meu caso reconheceu automaticamente =), mas pode ser necessário a instalação de um driver, para verificar isso acessamos o gerenciador de dispositivos, e procure por Portas (COM e LTP), ao expandir aparecerá algo semelhante, no meu caso, reconheceu como COM3 perfeitamente. O driver pode ser baixado no site: http://www.microchip.com/mplab/microchip-libraries-for-applications.


8 – FIM.
Para testar basta abrir o Serial Monitor do próprio CCS na aba Tools, e digitar as letras (A, a, B, b, C, c) para acender e apagar os LEDs.

Este é um exemplo bem simples que permite a utilização da comunicação USB, mas que permite executar os mais diferentes projetos!

Bons estudos, pois só com muito estudo foi possível desenvolver este conteúdo.

Já conhece nosso canal no YouTube, se inscreva é de graça, e em breve teremos mais novidades! Mecatrônica Júnior no YouTube.
Para ficar mais fácil, temos também nossa página no Facebook, deixe seu LIKE, e nos acompanhe nessa jornada!
Qualquer sugestão, pergunta ou erro que venha ter, deixe-me um comentário.
Muito obrigado pela visita, volte sempre. =) e continue estudando!

segunda-feira, 16 de maio de 2016

Fractais recursivos - JAVA

 1- Koch Snowflake;
 2 - Sierpinski Triangle;
 3 - Koch Snowflake and Sierpinski Triangle;
 4 - Fractal Tree;
 5 - Twig #1;
 6 - Twig #2;
 7 - Twig #3;
 8 - Twig #4.

Algoritmo em Java que permite gerar Fractais em diferentes níveis de interação, utilizando de métodos recursivos.

Código:

sábado, 14 de maio de 2016

Fractais

o QUE SÃO  FRACTAIS?

Os fractais são conjuntos cuja forma e extremamente irregular ou fragmentada e que têm essencialmente a mesma estrutura em todas as escalas. A origem do termo fractal, introduzido por Mandelbrot, está no radical fractus, proveniente do verbo latino frangere, que quer dizer quebrar, produzir pedaços irregulares; vem da mesma raiz a palavra fragmentar, em português.

As principais propriedades que caracteriza e que permitem definir os conjuntos fractais são as seguintes:  

1) A auto similaridade, que pode ser exata ou estatística, ou seja, o sistema é invariante (mantém a mesma forma e estrutura) sob uma transformação de escala (transformação que reduz ou amplia o objeto ou parte dele);
2) A extrema ‘irregularidade’ no sentido de rugosidade (não suavidade) ou fragmentação;
3) Possuir, em geral, uma dimensão fractal não inteira. A dimensão fractal, quantifica, de certo modo, o grau de irregularidade ou fragmentação do conjunto considerado.

Fonte: Complexidade e caos / Organização de H.Moysés Nussenzveig 3ed. - Rio de Janeiro. 2008.