Como criar seu próprio joystick! whoami Rodrigo Delduca @skhaz http://nullonerror.org Desenvolve jogos durante o dia, cheira estanho derretido durante a noite O que é um joystick? Down to the metal http://pt.wikipedia.org/wiki/Ficheiro:Intel_8742_153056995.jpg Pré-história O jogo fazia polling dos botões pressionados a cada frame Game Port http://en.wikipedia.org/wiki/File:Da-15_port.PNG Universal Serial Bus (USB) HID (Human Interface Device) DAFUQ? HID Descriptor Tool http://www.usb.org/developers/hidpage#HID Descriptor Tool Botão Uma CPU (normalmente de 8 bits) faz a leitura dos botões e eixos analógicos periodicamente e os envia para o console e/ou PC Potenciômetro Um potenciômetro é um componente eletrônico que possui resistência elétrica ajustável (Imagens http://baudaeletronica.blogspot.com.br/2011/09/potenciometro.html) Eixos analógicos Analog-to-digital converter (ADC) Responsável por traduzir grandezas analógicas para uma representação digital, o microcontrolador escolhido tem uma resolução de 10 bits, ou seja, ADC value = Vin * 2 ^ 10 / ARef Oscilador de Cristal Define o ritmo, como se fosse o coração ou o surdo numa orquestra Microcontrolador Microcontrolador Principais fabricantes: - Freescale (68HC08, 68HC16, MPC 8540/8555/8560) - Microchip (PIC16F628, PIC16F84, PIC18F452) - Atmel AVR (AT90, ATMega, ATTiny) - Intel - Texas Instruments - ETC... Microcontrolador Principais fabricantes: - Freescale (68HC08, 68HC16, MPC 8540/8555/8560) - Microchip (PIC16F628, PIC16F84, PIC18F452) - Atmel AVR (AT90, ATMega, ATTiny) - Intel - Texas Instruments - ETC... Atmel AVR - Arquitetura AVR - 3 tipos de mémoria (Flash, EEPROM e SRAM) - Alguns modelos possuem um oscilador interno, simplificando ainda mais o projeto - O mesmo microcontrolador que o Arduino utiliza (Atmega168/328) Será um termo bem comum a partir de agora, que vai permitir fazer operações bit a bit em