tentativa 1

  1. pegamos a metaboard
  2. pegamos o shield Arduino USB ou o shield Virtual USB Keyboard
  3. quando queremos programar, usamos o firmware normal da metaboard
  4. 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

  1. gravar o programa do shield Arduino USB no Arduino e testar UsbStream.h
  2. montar a metaboard
  3. 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

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

http://www.fischl.de/usbasp/

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!


Page last modified on May 26, 2010, at 12:44 AM