Arduino

Mi último juguete es un Arduino. Básicamente es un programador de un microcontrolador Atmel vía USB con IDE incluido. Además de ser un cacharrito muy versátil y entretenido, es hardware libre (Su especificación está abierta) y por supuesto el IDE es también software libre. Acabo de ponerlo en funcionamiento en mi Linux y estoy feliz como un niño :D

Las instrucciones para hacerlo correr en Linux (en concreto en Ubuntu) han sido sacadas en su totalidad de la página web de Arduino (http://arduino.berlios.de/). Aquí las adjunto en la lengua de Cervantes.

  1. Ve a http://arduino.berlios.de/index.php/Main/Buy y hazte con tu Arduino. Lo venden ensamblado por 20€, o bien puedes comprar el PCB y montartelo tú (Por supuesto también puedes fabricarte tu el PCB)
  2. Una vez que lo tienes en tus manos, conéctalo a tu PC por el puerto USB
  3. Asegúrate de que tu kernel tiene soporte para el ftdi serial/usb chip
  4. Instálate subversion
    aptitude install subversion
  5. Pilla el código siguiendo las instrucciones de https://developer.berlios.de/svn/?group_id=3590 Para impacientes:
    svn checkout svn://svn.berlios.de/arduino/trunk
  6. Instálate Java. O bien con el siguiente repositorio y haciendo aptitude install j2re j2sdk deb ftp://ftp.easynet.be/blackdown/debian unstable main non-free o bien con las propias instrucciones de sun
  7. Instala avr-gcc, avr-libc, binutils-avr, jikes, uisp
    aptitude install avr-gcc avr-libc binutils-avr jikes uisp
  8. Actualiza el CLASSPATH. En mi caso:
    export CLASSPATH=/usr/java/jre/bin:/usr/java/jre/lib/rt.jar
  9. Añade el path a avr-gcc en DIRAVR. En mi caso:
    export DIRAVR=/usr/bin
  10. Ve al directorio en el que hayas descargado con subversion el código del ide de arduino y
    cd to trunk/build/linux
    ./make.sh
  11. Añade un enlace simbólico desde /dev/ttyUSB0 a /dev/ttyS* (NOTA: * es algún ttyS que no exista)
    ln -s /dev/tty/USB0 /dev/ttyS55
  12. Crea el siguiente directorio dentro de work:
    mkdir tools/avr/bin/
  13. En ese directorio, haz enlaces simbólicos a avr-gcc, avr-objcopy, avr-objdump, avr-size y uisp
  14. Arráncalo
    ./run.sh
  15. Crea un nuevo fichero y pega el siguiente código:
  16. /* Blinking LED
     * ------------
     *
     * turns on and off a light emitting diode(LED) connected to a digital
     * pin, in intervals of 2 seconds. Ideally we use pin 13 on the Arduino
     * board because it has a resistor attached to it, needing only an LED
    
     *
     * Created 1 June 2005
     * copyleft 2005 DojoDave
     * http://arduino.berlios.de
     *
     * based on an orginal by H. Barragan for the Wiring i/o board
     */
    
    int ledPin = 13;                 // LED connected to digital pin 13
    
    void setup()
    {
      pinMode(ledPin, OUTPUT);      // sets the digital pin as output
    }
    
    void loop()
    {
      digitalWrite(ledPin, HIGH);   // sets the LED on
      delay(1000);                  // waits for a second
      digitalWrite(ledPin, LOW);    // sets the LED off
      delay(1000);                  // waits for a second
    }
  17. Pulsa “Sketch -> Verify/Compile”. Si todo ha ido bien, en la barra de estado pondrá “Done compiling”
  18. Pulsa “Tools -> Serial Port” y selecciona el que hayas definido anteriormente
  19. Asegúrate de que en “Tools -> Serial Monitor Baud Rate” está marcado 9600
  20. Resetea el Arduino e ipso facto dale a “File -> Upload to I/O Board”. Si todo ha ido correctamente, la salida será la siguiente:
    Atmel AVR ATmega8 is found.
    Uploading: flash
    Firmware Version: 1.18
    Firmware Version: 1.18
  21. Pon una resistencia de 1K en el pin 13, y conecta un LED de la resistencia a tierra. Verás como parpadea con intervalos de un segundo :)


Deja un comentario