(Flash, EEPROM e SRAM) - Alguns modelos possuem um oscilador interno, simplificando ainda mais o projeto - O mesmo microcontrolador que o Arduino utiliza (Atmega168/328)
vai permitir fazer operações bit a bit em determinada áreas. No nosso caso, poderemos "empacotar" até 8 botões num único byte usando o operador OR, e mais tarde usar máscaras para verificar por determinado bit usando o operador AND Máscara de bits
BUTTON_RIGHT 0x00000008 uint8_t buttons = GetButtonsState(); // Ex. Retorna o valor 5, que é 00000101 em binário if (buttons & BUTTON_UP) { // 00000101 AND 00000001 Resulta em verdadeiro y_vel = -5; } else if (buttons & BUTTON_DOWN) { // 00000101 AND 00000010 Resulta em falso y_vel = 5; } if (buttons & BUTTON_LEFT) { // 00000101 AND 00000100 Resulta em verdadeiro x_vel = -5; } else if (buttons & BUTTON_RIGHT) { // 00000101 AND 00001000 Resulta em falso x_vel = 5; } x += x_vel; y += y_vel; Máscara de bits
binários para a plataforma AVR - avr-libc: Biblioteca padrão C portada para arquitetura AVR - avr-binutils: Diversos utilitarios utilizados durante o processo de compilação (ld, strings, dlltool, as, etc...) - avrdude: Usado para subir e baixar o programa no microcontrolador - dfu-programmer: Usado para subir firmware em microcontroladores com USB bootloader já pre-carregado
exemplos - Suporta dezenas de dispositivos (Audio In, Audio out, keyboard, MIDI, Mouse, Joystick, Impressora, dispositivo de armazenamento em massa, etc) Contras: - Funciona apenas com série USB da Atmel (atmega8u2, atmega16u2, etc...)
tem problema, é possivel utilizar um Arduino, BeagleBone, Android IOIO, ou ainda um RaspberryPi para tal http://arduino.cc/en/Tutorial/ArduinoISP http://blog.stevemarple.co.uk/2012/07/avrarduino-isp-programmer-using.html http://www.instructables.com/id/Program-an-Arduino-using-BeagleBone- without-USB/