Upload
justina-peters
View
213
Download
0
Tags:
Embed Size (px)
Citation preview
A Presentation by:
Frank Kuo
Nkiruka (Nikky) Chuka-Obah
Keith Mayoral
07/28/2006
NESL - Ragobot Wars
Click to edit Master title style
Test Cart - completed
Complete wiring of the test cart• Completed testing on desktop
• Complete communication with LabVIEW (usb, RS-232)
• Installed onto test cart computer
• Tested LabVIEW program with common emitter amplifier
Embedded C Programming
Familiarizing with Embedded Programming (1 week)• ATMEL STK500 Test Board
• ATMEGA128 Microcontroller (8-bit controller)
• Program in C, convert to .hex, load program into controller
• Basic assignments:
– Read from switches, blink LEDs, use CPU clock to blink LEDChunk of code from program
//Turning lights on with switches
DDRB=0xff; //all bits of portB are output
DDRA=0x00; //all bits of portA are input
while(1){
PORTB=PINA; //read portA and write to portB, portA are switches
}
// Toggle lights with switch
DDRB=0x01; // LSB as output
EICRA=0x03;
EICRB=0x00;
EIMSK=0x01; // external interrupt mask register set to INT0
EIFR=0x01;
sei(); // enable global interrupts - SREG=0x80;
while(1); // processing to wait for interrupt
• Problems: First fried board, figuring out syntax, re-installing AVR components, cygwin
• Goal: learn embedded C programming to program LCD on ragobot
Embedded C Programming
Review
Design
•User connects to ragoworld through a java applet.
•Applet sends data to java application to parse
•Application sends valid requests to SOSserver through a TCP socket connection
•SOSserv radios the commands to Ragobots in the Ragoworld and reports back to application and user.
Review
Design
•User connects to ragoworld through a java applet.
•Applet sends data to java application to parse
•Application sends valid requests to SOSserver through a TCP socket connection
•SOSserv radios the commands to Ragobots in the Ragoworld and reports back to application and user.
What’s been done…
• Communication between Applet and Server• In Java,
– Both sides use PrintWriter and BufferedReader streams to send strings containing data/commands.
– Data/commands are received in separate threads and parsed to allow for unexpected packets.
What’s been done…
• SOS – Cygwin (a Linux-like env. for Windows)– Necessary to run SOSserv program on the SOS
server mote– Still need to find out how Cygwin detects USB port…
• Patrick has already coded some java to send ragobots commands…
• Just created a java class to run console commands to hopefully run Cygwin and SOSserv from the java application
SOS server
Problems left to fix…
• Bugs always pop up when merging GUI code with communication code
• Formatting applet
• Getting the applet to run on our test web server without getting security/null pointer exceptions.
• Figuring how to make SOSserv work in a non-linux environment (/dev/USB01)
• Non-fatal annoying bugs
Relevance to CENS
• Remote control functionality-Just one possible application
– Control robot in the field from the comfort of your own home!
– Use on-board sensors to sense things un-sensed ever before in the sensible world!
– Paired with Ragodoc it can recharge and head out without having to come home for a battery change
Any Questions???