tentativa 1
- pegamos a metaboard
- pegamos o shield Arduino USB ou o shield Virtual USB Keyboard
- quando queremos programar, usamos o firmware normal da metaboard
- quando queremos nos comunicar com o computador, usamos a própria porta usb do arduino com o shield Arduino USB (usando UsbStream.h, UsbDevice.h ou UsbKeyboard.h ao invés da Serial.h)
todo
- gravar o programa do shield Arduino USB no Arduino e testar UsbStream.h
- montar a metaboard
- redesenhar a metaboard para um design minimalista (pensando em wearable computing... amenduino)
circuitos
Shield Virtual USB Keyboard

Shield Arduino USB

Metaboard
Metaboard com auto-bootloader-jumping

usbasp

v-usb

código
Usando as bibliotecas do arduinousb (que usam a v-usb). Tomar cuidado com a licença da v-usb!!
#include <UsbStream.h>
void setup() {
UsbStream.begin();
UsbStream.write(0xff);
}
void loop() {
UsbStream.refresh();
if (UsbStream.available() > 0) {
int data = UsbStream.read();
}
}
Ou em python:
from arduino.usbdevice import ArduinoUsbDevice
theDevice = ArduinoUsbDevice(idVendor=0x16c0, idProduct=0x05df)
theDevice.write(0x01)
print theDevice.read()
referências
- produino
- metaboard sendo vendida por $8 pelo pessoal da produino
- versão 2.0 do one-chip arduino baseado na metaboard
tentativa 0
arduino severino sem porta serial. programação pela usb. sem smd.
metaboard... placa sem smd com novo firmware compatível com arduino que faz a conversão serial/usb nele próprio. aparentemente usa a alimentação da própria usb também. problema: não é possível comunicação serial metaboard <-> computador... http://metalab.at/wiki/Metaboard
usbaspbootloader... http://www.obdev.at/products/vusb/usbasploader.html
shield usb... http://code.rancidbacon.com/ProjectLogArduinoUSB
proposta...
primeiramente montar o shield usb e testar...
depois montar uma gravadora (parecida com http://www.fischl.de/usbasp/)
a idéia seria usar o bootloader padrão do Arduino (que aceita qualquer arquivo .hex, enviado pelo avrdude, http://code.rancidbacon.com/Arduino#Bootloader10) em conjunto com esta nova interface usb... a dúvida é: programas do Arduino continuariam compatíveis? podemos fazer comunicação entre Arduino <-> computador?
este projeto de um teclado usb para o arduino tem quase a mesma especificação/circuito do shield usb... ou seja... o foco está no firmware/booloader... pois em ambos são usados pinos digitais do arduino para a comunicação usb... http://www.practicalarduino.com/projects/virtual-usb-keyboard
precisamos entender o bootloader!