PICkit2 - Tutorials, Experiments
PICkit 2 - Small size USB programmer
from Microchip.
How to use it as a demo device for
USB programming in C language
Java SE SWING JSR-296 Example
How to run background task in
JSR-296 SWING application
with 'busy animation' in the status bar.
Useful addition to Netbeans template.
Computer vision
Vision is the main sense of our robots.
See some Java algorithms we use
Tips-n-Tricks
Some advices about hardware and software tricks
PIC Programming
(firmware)
Assembler program for PIC16F628A
Communication program for sending
commands from cell phone to motors.
Driver for motor controller.
RoboHobbyPlugin
Open Source project on
SourceForge, Java brain
for the robot
In German
Short description of www.RoboHobby.com
in German
In French
Short description of www.RoboHobby.com
in French
In Spanish
Short description of www.RoboHobby.com
in Spanish
In Italian
Short description of www.RoboHobby.com
in Italian
In Russian
Short description of www.RoboHobby.com
in Russian
www.RoboHobby.com
The purpose of this site is to help people to crate their
own hand-made robots with Java 'brain'.
We suppose that everyone can build his/her own hand-made robot,
using very cheap parts and free software.
We created several software applications, written mainly in Java.
Also there is one module, written in assembler for processor PIC16F628A.
You can download these Java applications.
Also we will publish some tips and trick how to create small
robots from very simple
and really cheap components.
We have some news for you -
1) We are moving from Java to C/C++/QT.
2) We will add Arduino section to our web site.
3) We are going to use Drupal/PHP solution for next generation of our web sites
Hi,
In this post I want to say some words about changes on the site www.RoboHobby.com.
As you might know the site was devoted to robotics as a hobby and to Java language
as a base for robotics programming.
Life is going and changes are coming. Now we will focus not only on the Java language.
I like Java and it still popular but we suppose it would be good if we look
at some interesting alternatives.
Why Java?
Why did we choose Java?
There were several reasons -
1) Java is really good high level object-oriented language.
2) there are a lot of technologies, based on the Java language - server-side technologies,
like EJB, JSP, JFC, etc. and client-side technologies, like SWING, SWT, etc.
3) Java code is universal code for several platforms - Windows, Linux, etc.
4) It is really practical to know Java and Java-based things.
There are a lot of jobs for Java programmers. And it is very profitable to be a Java professional.
Why not Java?
Why we are going to different (non-Java) languages?
To be honest we should say that original idea of Java - "Write once, run anywhere" (WORA)
is not absolutely true in reality.
Also this slogan is not so actual in real World.
To run program in Java on special kind of processor you should
have JRE - Java virtual machine for that processor.
But when you see new processor on the market, you can find, that there are no JRE/JVM for this processor.
Then - what about universality of Java language? If no JRE - no Java things. No at all.
But as a rule you can find C/C++ compiler for new processors.
C/C++ is much more practical alternative.
Next - What we are talking about, when we say "platforms"?
In reality there are limited numbers of platforms in real World -
just Windows, Linux, some Unix-based platforms and then - some ARM -based platforms.
That's all.
In this case - do we really need "universality"?
Also there is one important feature of standard Java compiler - it can not produce binary code.
Typical Java compiler can produce only special kind of "bytecode", which can run only under JVM.
This feature was declared as advance - just imagine, you can run your
Java application on different platforms without re-compilation.
In reality we can say that it is disadvantage.
It is easy to do reverse-engeneering of the application code -
from bytecode back to Java and then you technological secrets can be easily stolen.
Write once, compile anywhere (WOCA)
One more thing about Java - Java requires additional resources - some memory, CPU time, etc.
And Java is not as fast as C/C++.
We found that C/C++ World is moving in good direction.
Now there is a good alternative to Java-SWING - It is C++ tool QT from Nokia.
Also we like GNU C/C++ compiler gcc.
GCC is universal thing. It works on several platforms - Linux, Windows, ARM-based systems, etc.
And it can produce native code for several processors.
Hardware
Now we are moving to popular hobby robotics platform - Arduino (Freeduino,Seeeduino, etc.)
It uses GCC-based approach. And there are a lot of libs for this platform.
We created several projects, using Seeeduino. Hope we will find time and publish info about that projects.
What a wonderful thing Java!
We are Java programmers and like this language very much.
If you are also like Java programming, we will be happy to know
what you are doing in this direction.
Hope that using our Java applications, especially RoboHobbyPlugin
(now it is Open Source project on www.SourceForge.net)
you will be able to create your own virtual brain for your robot.
Even if you are not Java fanatic, you will be able to drive our small robot on-line,
using simple our Java/SWING program or simple Web interface
(Web interface is not ready yet, but we are working on this).
We use KNOPPIX as a main OS for our Java/SWING robotics application.
And we will publish articles, where we will describe our own experience
how to use KNOPPIX for Java-based bluetooth robotics.
What a wonderful thing a cell phone!
Just see what do you have in your hand:
1) Not too bad CPU. Modern cell phones have pretty good processors from 200 to 400Mhz
2) Really good embedded language Java (J2ME version)
3) Several megabytes of memory
4) Camera
5) Sound
6) Memory card for several hundreds megabytes
And all these in one small device!
Why not to use cell phone as a brain for small hand-made robot?
What a wonderful thing the Internet!
You can see pages from all around the World and you can communicate
with people from any places.
Why not to use it for communication between your robot and people far away from your place?
How to combine these two exciting things -
the Internet and a cell phone and use them together?
How to use them for hobby robotics?
How to use Java and Linux for all these things - for robot building and for Internet connection?
We are trying to implement these ideas to reality.
Theoretically all these sound really exciting,
but what about practical use of all these things?
Practically there are a lot of problems and disappointments on this road.
We will publish articles about the subject and publish Java code examples on this web site.