domenica 23 novembre 2008

Programmare l’RCX lego con ubuntu

Posted in Ubuntu tagged , , , a 14:38 di meltingshell

Come primo articolo spiegerò brevemente come installare tutto il necessario per poter utilizzare l’RCX lego su ubuntu.

L’articolo originale lo trovate qui.

I quattro passi fondamentali sono:

  1. Installazione della torretta usb a raggi infrarossi
  2. Installazione e configurazione del compilatore nqc
  3. Editor del codice utilizzabili
  4. Scaricamento firmware

1. USB tower a raggi infrarossi

Per prima cosa collegare la torretta al pc tramite una porta USB.

Aprire il file di configurazione come admin con:

sudo gedit /etc/udev/legoTower.conf

e incollarci all’interno questo testo:

#!/bin/bash
ln -s /dev/usb/legousbtower0 /dev/usb/lego0
chmod 666 /dev/usb/lego0

quindi chiudere il file e salvare.

Aprire il file di configurazione come admin con:

sudo gedit /etc/udev/rules.d/91-legotower.rules

e incollarci dentro questo testo:

ACTION==”add”, SUBSYSTEM==”usb”, ATTRS{product}==”LEGO USB Tower”, ATTRS{manufacturer}==”LEGO Group”, RUN+=”/etc/udev/legoTower.conf”

quindi chiudere e salvare.

In questo modo ogni volta che verrà collegata la torretta questa sarà subito disponibile.

Per testare la torretta scollegarla e ricollegarla, quindi digitare il comando:

echo test > /dev/usb/lego0

Se tutto è andato bene dovrebbe accedersi un led verde all’interno della torretta.

2. Compilatore NQC

1. Installazione da repository

Nqc è disponibile nei repository ufficiali ubuntu, potete installarlo digitando:

sudo apt-get install nqc

2. Installazione da sorgenti

Il compilatore NQC (Not Quite C) servirà per compilare i programmi scritti e scaricarli sull’RCX.

Per prima cosa bisogna scaricare l’ultima versione del codice sorgente di nqc da qui.

Una volta scaricato ed estratto spostarsi nella cartella e digitare il comando:

gedit Makefile

All’interno del file è necessario cercare la riga:

#  USBOBJ = rcxlib/RCX_USBTowerPipe_linux.o

e togliere il commento cioè il cancelletto davanti:

USBOBJ = rcxlib/RCX_USBTowerPipe_linux.o

quindi salvare il file e chiuderlo.

Ora creare la cartella rcxlib/LegoUSB:

mkdir rcxlib/LegoUSB

e copiarci all’interno il driver per la torretta:

cd rcxlib/LegoUSB

wget http://legousb.cvs.sourceforge.net/*checkout*/legousb/LegoUSB/drivers/linux/include/legousbtower.h rcxlib/LegoUSB/legousbtower.h

cd ../../

E quindi compilare ed installare il compilatore:

make

sudo make install

echo export RCX_PORT=usb >> ~/.bashrc

Anche questa volta per controllare che nqc utilizzi correttamente la torretta digitare il comando

nqc -msg 7

Se tutto è andato bene come prima dovrebbe accedersi un led verde nella torretta.

3. Editor del codice

Su windows è presente un ottimo editor chiamato Bricx Command Center che purtroppo non è disponibile per linux. Si può comunque ulilizzare attraverso wine anche se non è possibile collegarlo alla torretta IR.

E’ comunque possibile utilizzare tutti gli altri editor C, ad esempio gedit, compilarli e scaricarli sull’RCX con il compilatore nqc.

4. Scaricamento firmware

L’ultima cosa da fare è scaricare il firmware sull’RCX.

Inserire il cd-rom Robotics Invention System ed eseguire questo comando per scaricarlo sull’RCX:

nqc -firmware /media/cdrom/firm/firm0309.lgo

Ora abbiamo tutto quello che ci serve per poter cominciare a programmare i nostri robottini lego con ubuntu.

Buon divertimento

Lascia un commento

Progetta un sito come questo con WordPress.com
Comincia ora