Home of www.RoboHobby.com Java robotics project www.CubesAndCrosses.com
Train your logic skills in geometry
Create and delete one-color crosses
Play for free right in your browser!
Home-made CNC machine
Our new project -
How to make home-made CNC router
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

www.RoboHobby.com
Home of www.RoboHobby.com
Java robotics project


Portable Notebook Table
How to make Portable Notebook Table.
Do it yourself!

Control robot on-line (GWT)
Control our robot on-line,
using GWT-based Web interface

Web-based (GWT) remote control for Java robotics.

Control robot on-line
Control our robot on-line,
using simple Web interface
(Old JSP-based version)

Web-based (JSP) remote control for Java robotics.

Sun SPOTs for robotics
Sun SPOT for hobby robotics.
How to use Sun SPOT devices
comunication of group of robots


Sun SPOT Accelerometer + Servo
Sun SPOT Balancing robot
Draft of new article


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.

Java ME Code Examples
Java ME Source code examples
for robotics projects


Run Java ME Code Examples
How to run our Java ME code examples
for robotics projects


Java - work from home
Draft for article
'Java work from home.
(Java and self-employment)
Where and how to get
remote (telecommuting) job'


ScreenShots
See some screenshots of RoboHobby
Java/SWING application

See some screenshots of www.RoboHobby.com Java SWING application

Where programmers go
after age of 35?

Article in Russian
about job discriminationin
in IT industry:
'Where programmers go
after age of 35'?




Atmel NGW100 for
Java Hobby robotics

Set of articles about
Atmel NGW100 for
Java Hobby Robotics




Canon A570 IS + CHDK for
Kite Aerial Photography

How to use photo camera Canon A570 IS
with CHDK for kite aerial photography

Plastic box for Canon A570 IS
for Kite Aerial Photography (KAP)

How to make plastic box for Canon A570 IS

Kite Aerial Photography
Create your own hand-made kite for KAP
and do snapshots from a kite

Create your own hand-made kite for Kite Aerial Photography (KAP) and do snapshots from a kite, using cell phone or camera.

RoboHobby Kite
How to install and use
J2ME program on your cell phone,
make spy camera from it
and do snapshots from a kite

Picavet Suspension
Hand-made 'Picavet Suspension' for
Kite Aerial Photography (KAP).
How to make it by yourself.

Compact Picavet Suspension
Aluminum Home-made compact
'Picavet Suspension' for
Kite Aerial Photography (KAP).
You can fold it and make it
portable.

How to fly 'Flow form' kite in calm (No Wind) condiction.
Green Island KAP photos
Photo views from kite of
'Green Island'

Green Island
Some views from the ground
of rectreation zone
'Green Island'

KAP Wind Maps
Web-Map-based project
for local win measurement



Simple Spam Protection
Simple Spam Email Protection -
GWT-based code example


Under Linux
Install and Run RoboHobby application under
KNOPPIX 5.0


Under Windows
Install and Run RoboHobby application under
MS Windows XP


Platforms for Java Robotics
Which hardware/os platform to choose
for hobby robotics?



Download
Download RoboHoby Software

SpyGear's 'Spy Robot'
Article about reconstruction RC toy 'Spy Robot'
How to make robot with web camera or
with cell phone on a board from it


Load to your phone
Download RoboHobbyJ2ME application
right to your Siemens S75 cell phone.
Now no need to load it to PC, unzip, etc.


RoboHobby Linux Live CD
RoboHobby Linux Live CD
is ready for download.


Projects
List of old and current RoboHobby projects.

Hardware
List of what we use as a hardware

Software
List of software, we use in our projects

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

How to update Java
on KNOPPIX 5.0

Set of articles about how to remove
old version of Java (JRE or JDK)
on KNOPPIX and install new one
on remastered CD
Part 1 (Just test new Java)

Part 2
(Place new Java on Linux Live CD)



Java to EXE
Article about how to compile Java
programs to native binary code
(EXE for Windows)


Range of Bluetooth, Wi-Fi, ZigBee
What is the a real connection distance
of typical Bluetooth and Wi-Fi,
ZigBee or other RF devices?



What is inside?

What is inside web camera
'Genius Look 312P'?
How to re-construct it,
improve and use in robotics.

What is inside web camera
'Genius VideoCAM GE111'?
How to re-construct it,
improve and use in robotics.

What is inside web/photo camera
'Genius G-Shot D612'?
How to use it for
Kite Aerial Photography (KAP).


Sun SPOTs (in Russian)
Sun SPOT for hobby robotics.
Introduction lecture in Russian.




About
Some info about this site

About EATJ Java hosting
Some info about EATJ Java server-side
JSP/Servlet hosting



Short description of www.RoboHobby.com in German In German
Short description of www.RoboHobby.com
in German


Short description of www.RoboHobby.com in French In French
Short description of www.RoboHobby.com
in French


Short description of www.RoboHobby.com in Spanish In Spanish
Short description of www.RoboHobby.com
in Spanish


Short description of www.RoboHobby.com in Italian In Italian
Short description of www.RoboHobby.com
in Italian


Short description of www.RoboHobby.com in Russian In Russian
Short description of www.RoboHobby.com
in Russian





www.RoboHobby.com


PIC Programming - simple 'firmware driver' for our cell phone mobile robot



RoboHobby_PIC_Driver.asm

Here you can download an assembler program for PIC16F628A.
This program is a part of our robotics project.
Main part of our project is a J2ME program, which works on cell phone.
We use cell phone as a 'brain' of our robot.
But we need some assembler programming for technical purpose.
Cell phone can not drive DC motors.
But it can send byte to serial interface via cell phone socket.
We use for this special additional board, which uses PIC (Microchip) processor.
And program on this page is a kind of 'software driver' (firmware) for our robot.
We are trying to keep the PIC assembler part of our robotics project as simple as possible.
All 'business logic' we put to cell phone Java program.

And this assembler program we use just for a very primitive function:
The program receives 1 byte from serial interface from Java cell phone
and put this value to the port.
It just turn on/off some contacts (put voltage to some pins/legs on the PIC chip).
There are no any timers here - we moved timing function to Java program.
Now Java program decides - how long this or that motor should work.
It is not a function of PIC assembler program.
We are Java programmers and we are trying to keep ASM part in very simple form.

Download it and have fun!


The code:
;
; www.RoboHobby.com
; Assember code for PIC processor PIC16F628A.
;
; Motor driver for small hand-made robot.
; (c) 2004-2006, Oleg Lioubtchenko, Anton Lioubtchenko
;
;
list p=16F628A, r=DEC
#include "P16F628A.INC"

__config _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _BODEN_OFF & _MCLRE_OFF & _LVP_OFF

cblock 0x20 ;variables

offset,char,loop1,loop2

endc

org 0x000 ;program start
;******************
; initialization:

;------------------------
Start movlw 0x07
movwf CMCON ;turn comparators off (make it like a 16F84)
;------------------------

bsf STATUS,RP0 ;bank 1

movlw b'00000010' ;set PORTB data directions
movwf TRISB

movlw b'00000000' ;set PORTA data directions
movwf TRISA

bcf STATUS,RP0 ;bank 0

movlw b'11110000' ;shut off leds
movwf PORTB

movlw b'10101010' ;shut off leds of Port A
movwf PORTA

bsf STATUS,RP0 ;bank 1

clrf offset ;offset=0
decf offset,1 ;offset=$ff (-1)

;************************
;* init RS232 at 9600,8,N,1
movlw 0x19 ;0x19=9600 baud
movwf SPBRG
movlw b'00100100' ;brgh = high
movwf TXSTA ;enable async transmit

bcf STATUS,RP0 ;bank 0

movlw b'10010000' ;enable async receive
movwf RCSTA

call delay ;startup settle time


loop:
call receive ;wait for a char

movwf PORTA
call transmit ;echo the char

goto loop

;******************************************
;* Wait for a char from RS232 - return in W
receive:
btfss PIR1,RCIF ;wait for a byte from RS232
goto receive

movf RCREG,W ;return received byte in W
return

;*************************
transmit:
movwf TXREG ;transmit byte in W

bsf STATUS,RP0 ;bank 1
send1: btfss TXSTA,TRMT ;is the transmission done?
goto send1 ;no, then go again
bcf STATUS,RP0 ;bank 0
return ;OK, done
;*******
;* Delay
delay movlw 60
movwf loop1
outer movlw 200
movwf loop2
inner nop

nop
decfsz loop2,F
goto inner
decfsz loop1,F
goto outer
return

END






Google
 



Contact us:


My Skype name is oleg_skp
Start Skype text chatStart Skype text chat
View Skype profileView Skype profile
Start Skype voice callStart Skype voice call
Add me to your Skype contact listAdd to Skype contact list
Leave voicemail using SkypeLeave voicemail using Skype
Send a file using SkypeSend a file using Skype
Note: To use these links
the Skype program should
be installed on your computer.
You can load it for free from
their official site:
Contact via Skypewww.Skype.com
------------------