Programming Difficulties

this topic is about programming.

i think thats the major problem with these different kinds of cpu, brains whatever...

so can everybody please post te difficulty of your programming system.

1 being easy peasy. 10 being need a refference for ever letter i type.

thanx for reading.

So far I have only used
So far I have only used Picaxe and its probably the easiest one out there. Being easy, it also has a lot of limitations, so I am thinking of moving to something else, where I can use C or assembler. But I think that picaxe is a good place to start. The 28pin starter kit is easy to work with and it’s easy to get something to work with a few wires and a few lines of code.

thanx

thanx.

cos i got the PICkit flash starter kit. it can use c, assembly and another randome one that i dont like.

thanx ill probably get a PICaxe 28x1 when i get a job… im 14

i advice everyone to test

i advice everyone to test Arduino, i don’t have lot of experience with it yeath, but it have easy code “arduino language” that its like a easy C for beguiners, but arduino suport code direcly in C or C++, what make it have lot of more potential to evolution after the basic steps.

Basic stamp its easy language too, PBASIC language its very easy to use, but have a lot of limitations after the first steps, and its a bit expensive for what it makes… (i started with microcontrolers with it very easy, but i’m now migrating to Arduino)

I have tried LEGO MINDSTORM

I have tried LEGO MINDSTORM (NXT and RCX), PICAXE 40X1 and LPC-2106 ARM7.

LEGO RCX (difficulty 1)

This can be programmed in a variety of different languages. I used leJOS (Java) and that integrated well with Eclipse (a powerful development environment that does well with Java) and the only bad thing was the very annoying program download procedure where you had to transfer program over infrared link. It took almost 1 minute for downloading a somewhat sophisticated program!

Of course you should know how to write Java programs to do it this way. If you’re very new to programming it is always possible to use the LEGO graphical programming language which was designed for children from 10 years and up, so I would say the RCX is an easy microcontroller to use - although it is very limited regarding number of sensors and number of motors.

LEGO NXT (difficulty 1)

Like the RCX this can be programmed in a variety of different languages. Once again I used Java and Eclipse and it works just fine. You can find a tutorial about setting this up with Eclipse somewhere on this site. A great improvement over the RCX is the possibility of connecting a USB cable for programming and then downloading is realy speedy (5 to 10 seconds).

Again you can use LEGO’s graphical programming language which has become even easier to use (and still very powerful). Since this “language” has been developed by National Instruments it is also possible to program the NXT using LabView and even extending the graphical language with new blocks if you have constructed new sensors.

The NXT holds a really powerful Atmel ARM7 microcontroller inside as main processor and an Atmel ATmega48 as a co-processor, so the NXT should easily be able to outperform any of the chips from the PICAXE line. Documentation for the NXT is awesome and it is no big deal to build your own sensors for the NXT since all sensor ports have I2C-busses (a two-wire serial communication form) in them.

The major downside is the price of the NXT brick. Very expensive! I think I could buy 50 PICAXE 40X1 for the price of 1 NXT brick! If you want the rechargeable battery it gets even more expensive.

PICAXE 40X1 (difficulty 2)

PICAXE was made for beginners and so it is very easy to use. The PICAXE can be programmed in PICAXE BASIC and in the graphical flowchart thingie that noone ever uses :-).

Although it’s a basic programming language it has some strange counter-intuitive behaviour. For example it does mathematical evaluation strictly from left to right completely ignoring operator precedence which can really trick you if you don’t know about it. It doesn’t know about negative numbers or fractions.

Despite its shortcomings it does have some nice features that makes it an ideal choice for beginners IMHO. The programming circuit for the chip is very small (a mini-jack connector and two resistors!) and makes it easy to use the PICAXE on your own homebrew electronics boards. In the basic language there are nice functions for a lot of cool stuff - for example I like the functions for easily controlling servo motors.

LPC-2106 ARM7 (difficulty 8)

This is not for beginners. In order to try to understand what is going on with phase-locked loops, vectored interrupts, timer prescalers etc. you have to read a bunch of documentation, although you can download example files where the whole thing has been set. There is a GNU chain for the ARM family so you can use standard compilers like GCC. It integrates very nicely with Eclipse.

I have only just scratched the surface with this one trying out some tutorial examples and so on. I still need to do a proper robot with it.

- Jimmy