I've done a lot of projects with
JAL and a page on this topic was long overdue. This page is still not
what it's supposed to be; it's just a brief overview of some of my
projects (
be sure to check out my robot pages too!). But it's a start
and I expect it's usefull for some of you! And if you have questions,
feel free to email me.
History
My first PIC micro was a 16f877 which came with the
MARK III. Actually,
the controller was an OOPIC, but I was disappointed with the
capabilities of this interpreter. So I decided to try JAL, developed by
Wouter van Ooijen. To program the controllers, I bought a
wisp628
programmer. This comes with a python program, but I prefere the windows
executable
xwisp2w
RobH made.
This was the first of many PIC/JAL projects.
My second JAL project was an I2C slave IO controller with two Sharp
distance sensors, each mounted on a servo. This concept -
an
I2C slave
PIC which controls some outputs, reads some inputs and does
pre-processing - worked quite well and was re-used dozens of times in
my robots.
Some of these are:
FrontEye - Two Sharp sensors, each on a servo (roadbot 2).
Electronic Speed Controller - An H-brigde and servo controller to
control an RC-car (roadbot 2).
Mconsole
- A LCD display, keyboard, Lego RC receiver and some LEDs (mbot).
MMotorController
- Dual H-bridge controller (mbot).
MLineSensor
- a sensor with 8 CNY70's for a line-following robot (mbot).
But there where also a few non-I2C slave projects. One is my
datalogger,
using an 18F242 which receives data from it's sterial port and stores
it on a SD memory card.
An other non-I2C projces was
MazeBot - a maze solver, based on an 18F542 because the 16F series did
not provide the memory space required to store and solve a 16x16 maze.
This was one of the most complex projects I did in JAL and I was not
confronted yet with the limits of JAL (V0.4). But the next project
did...
This next project was my balancing robot (sorry, no page yet). This
robot required a lot of calculations with 16, 24 and 32 bits vars for
signal processing. The balancing robot worked, so this proves it could
be done in JAL but... variable space was almost exhausted (since the
old JAL only supported vars in the first bank) and I spend a lot of
time on working with larger variables rather then on the balancing
issue's itself.
(Here are the
motorcontroller
and
sensor
of the balancing
robot)
At that time (great timing!) JAL V2,
developed by Kyle, was announced. JAL V2 is a complete rebuild
compiler and supported
a lot of new features, like longer variables. With this beta-version of
the compiler, I developed Sbot - a line following robot with stepper
motors which competed in
Roborama
2006.
From that moment on, al my 16F projects (18F chips are (were?)
not supported yet)
are developed in or converted to JAL V2. One of those is Mbot, with 4
I2C slave pics, which competed in Roborama 2006 and 2007. And
currently, I'm working (amongst others) on new software for my
balancing robot.
As you might have guessed, imho JAL is a great language. And.. it's
free and has an large and active community. See links below for the
pages of some of them and take a look at the
JAL list.
Bert van Dam heeft een
boek
geschreven
over programmeren van PICs met JAL V2.
Links:
Joep
Suijs