Desenvolvimento de uma interface USB - I/O analógica e digital - Silveira, Alex Veloso da (2013)
Neste trabalho é descrito a montagem de uma plataforma de interface universal, com facilidades de entrada e saída analógica e entradas e saídas digitais, bem como a possibilidade de comunicação via USB (Universal Serial Bus) com o computador, desta forma é possível instalar o hardware específico fora do PC (Personal Computer), possibilitando sua utilização em notebooks. Com o aumento da facilidade de acesso ao PC, muitos usuários com pouca experiência em programação podem ter dificuldades em desenvolver aplicações em linguagem de baixo nível, como programação de microcontroladores. Neste sentido é proposto o desenvolvimento de pequenas rotinas (leitura das entradas analógicas, leitura das entradas digitais, escrita nas saídas analógicas, escrita nas saídas digitais) que permitam comunicação com o hardware e o PC. Foi escolhida a linguagem Python, como linguagem de alto nível, desta forma ’liberando’ o usuário final da necessidade de dominar em detalhes as instruções específicas da interface. Para facilitar o acesso ao hardware (interface USB, baseado no microcontrolador PIC18F2550 fabricado pela Microchip) foi desenvolvido e disponibilizado o diagrama elétrico e o layout da placa de circuito impresso. Visando o acesso de programação de baixo nível aos desenvolvedores interessados em trabalhar no firmware da interface, foi desenvolvido um programador para a família PIC18F da Microchip, usando como base o programador PicKit2 da mesma empresa. Como exemplo de aplicação, foi desenvolvido um controlador de temperatura de água utilizando a interface e a linguagem Python.