Loginskip to content

Archive for the 'news' Category

Remote Controlled NXT car

Sunday, June 22nd, 2008

cimg0038.jpg
Juan Antonio sent me a link to this nice project, showing the NXT driving a RC car. In particular, I noticed the use of the Lattebox NXTe controller I posted about a few while ago. Hopefully more details, like the program codes, would be available.

3 joint robotic arm

Saturday, June 21st, 2008



Here’s a nice demonstration of 3 Hitechnic Gyro sensors by Ramin. Three gyros are mounted on the operator’s hand, and their reading (i.e. rotation per second) is integrated (using Runge-Kutta method) to get the absolute angle which is set to the motor’s. Very nice work! Notice there’s sometimes a delay between the operator and the robot, which is expected.

The code for this robot can be downloaded here.

NXTCam v. 2

Wednesday, June 18th, 2008

Mindsensors.com announced a new version of their NXT camera sensor. The new version comes with an enclosure, and is supposed to have improved firmware, lens and power management.

I havn’t seen the new sensor in action, but I sure hope the firmware upgrade improved the usefullness of this highly desired sensor.

New Book: LabVIEW for MINDSTORMS

Monday, June 16th, 2008

Michael Gasperi, whom most of you know wrote the excellent book Extreme NXT (among others), is working on a new book from NTS press called ‘LabVIEW for MINDSTORMS’. As the press release states this book would introduce LabVIEW to non-LabVIEW programmers using the NXT platform. The book covers both on-brick and direct command programming, and being the Technical Reviewer of the book - I can promise it is gonna be a GREAT book!

DDC is I2C, do you want to try?

Saturday, June 14th, 2008

I learned from Lugnet about this amazing option - an I2C connection allready present in my laptop’s VGA monitor port! It appears that there exists a Display Data Channel (DDC) option in various video cards which in nothing but an I2C bus between the computer and the monitor. The author did not try DDC in Windows platforms, not because it is impossible, but he claims he doesn’t know how…
Anyone want to be first to show DDC communcation between PC and NXT? Here’s a lead:
http://www.instructables.com/id/Worlds-Cheapest-I2C-I-Squared-C-Adapter/

Meet Lego, the kid.

Friday, June 6th, 2008

The Administrative Court of Appeals in Stockholm has ruled that a Swedish boy has the right to be named Lego.  Take a look at the article!

Josh

Lego Dalek

Friday, June 6th, 2008

Here’s a neat Black Dalek from geekdad with accompanying Davros.  The post can be found here and building instructions here!

Josh

Johnny-5 is Alive!

Friday, June 6th, 2008

Check out this cool replica of Johnny-5 designed by rack911.  You can read the short article here.

Johnny-5

Josh

Connecting BT using NXC

Friday, May 30th, 2008

As happend several time in the past, this forum topic proved what I considered ‘impossible’ (and has been telling this “truth” over and over in the forum..) is simple… this time it is the ability to connect a BT device programatically within NXC (and the standard firmware). This ability has long been possible in alternative firmware (pbLua, RobotC etc.) by so far I allways thought it can’t be done in NXT regular firmware. As it turns out - I was wrong.
Thanks to our forum user ronmcrae for sending this code:

asm { dseg segment
args TCommExecuteFunction // define argument structure for syscall
dseg ends
set args.Cmd INTF_CONNECT // request bluetooth connection initiation
set args.Param1 0 // assumes the first entry in the table
set args.Param2 1 // connect on channel 1
syscall CommExecuteFunction,args} // and make it happen

On another site (www.mindstormsforum.de) I found an alternative code (see post here):

void connect() {
CommExecuteFunctionType args;
args.Cmd = INTF_CONNECT;
args.Param1 = 0; // device index
args.Param2 = 1; // connection index

SysCommExecuteFunction(args);
}

void disconnect() {
CommExecuteFunctionType args;
args.Cmd = INTF_DISCONNECT;
args.Param1 = 1; // connection index

SysCommExecuteFunction(args);
}

task main() {
connect();
Wait(5000);
disconnect();
}

I didn’t test this, and can’t read the post neither.. but it seems a cleaner way (no asm segement) to do the same thing.

All these have one drawback - they assume the NXT you want to attach to is in the position 0 in the stored ‘past connections’ table on the Master NXT. Now I suppose there’s no way to find an NXT by name on this list, or am I wrong again ;) ?

btw. since at the moment the LabVIEW SysCall is limited to a predefined set, I couldn’t figure out a way to do the same in LV (and then in an NXT-G block). Again - I might be wrong… but I am more confident on this one, unfortunatly.

Guy Ziv

List of NXT related books

Thursday, May 22nd, 2008

David J. Perdue, author of “The Unofficial LEGO MINDSTORMS NXT Inventor’s Guide” made a web page with a list of all available NXT books. Check it out here: http://www.booksnbots.com/

Running nxtOSEK from “standard” NXT

Thursday, May 22nd, 2008

As Sivan published, he and John made possible to run native ARM codes from RAM. This requires an “enhanced” firmware version is compatible with NXT-G, LabView and NXC but can also run native codes. Takashi Chikamasa has now made a beta version of nxtOSEK which support this enhanced firmware. You can write a code, complie it using nxtOSEK and run on the firmware John Hansen made.

Here’re more details from Takashi:

I just uploaded a beta version of nxtOSEK (v2.02b0) which supports the enhanced NXT firmware:
https://sourceforge.net/project/showfiles.php?group_id=196690&package_id=274370&release_id=601108

nxtOSEK application is stored in Flash and it copied and executed from RAM. Once nxtOSEK is executed, NXT is fully controlled by nxtOSEK application, so there is no difference between nxtOSEK in ramboot and nxtOSEK in the enhanced firmware.
There are several benefits in case of using the enhanced LEGO standard firmware:
- You can use NXT-G, NXC/NBC and nxtOSEK without replacing the firmware.
- You can upload multiple nxtOSEK applications to a NXT.
- Support for Windows Vista (I guess)

If you wanted to write larger application over 64Kbytes, you could use NXT BIOS instead of the enhanced firmware. (max. 224Kbytes Flash are available for your C/C++ application with nxtOSEK)

For more detailed information about this new feature, please check readme.txt in the zip file.

P.S. nxtOSEK v2.02 also supports LATTEBOX NXTe RC servo controller such as leJOS has done. NXT becomes more than just a LEGO (even it’s already enough great), but a multi-purpose embedded platform!

Running on the Bare Metal, the Easy Way

Monday, May 19th, 2008

John Hansen and I created a way to start programs that run on the bare metal (directly controlling the processor) from an almost-standard firmware.

If you ever wished to program the NXT at the lowest and most powerful level, but did not want (or could not) deal with SAM-BA, the native boot loader, then this project is just what you were looking for you. You will be able to build C programs using the free GCC compiler suite and run them on the NXT. When the program terminates (or when you press the little reset button hidden in the Technic hole below the USB socket), the NXT returns to the standard firmware. You never lose the ability to download and run a NXT-G or NXC program. You can learn a great deal about embedded programming by trying this out.
Perhaps more importantly, if you are the developer of a programming environment that normally gets installed on the bare metal, this project would be useful for you too. It would allow users to invoke your programming environment from the (almost) standard firmware.

The complete details and code to get you started are available here. The code includes a small set of device drivers that currently support the motors, analog sensors, the key pad, the display, and sound.

I’ll try to support the code on the Software Forum here at nxtasy.org (but feel free to send email if I don’t respond).