USB experimental boardoverview
This project aims to provide a easy to use USB experimental board for students of the first year. instead of only using the standard log for their (yet simple) programs, they are able to integrate hardware into their applications, which makes programming more interesting. the project provides a Java API to access the hardware such as display, Flash, ADCs, etc. on the target board over USB from the PC. this approach requires a high level of parallelism action to make it possible to use a simple but flexible Java API hiding the hardware and communication details.
For advanced students, firmware based on the existing framework can be developed on the microcontroller and downloaded over USB or JTAG.
Hardware
For communication and controlling the hardware a Atmel at90usb1287 USB microcontroller is used. The following hardware components are accessible on the Board:
3x12 characters I2C/Twi LCD display
Serial Interface (UART)
32 Mbit serial flash memory (SPI)
4 + 1-way joystick
Loudspeaker
Microphone
Light dependent resistor (LDR)
Thermal Resistor (NTC)
4 LEDs
6 buttons
Software
The communication with the device is based on the Java libusb wrapper.
Each hardware component is represented by a Java class. prior to using the class, the connection to the USB device must be established. the following code snippet shows how to write a string to the display usingDisplayClass.
// Create and open the USB devicedevice Dev = devicefactory. getdevice (); Dev. open (); // create and initialize the displaydisplay disp = New Display (Dev); Disp. init (true, true, true); // write a string to the displaydisp. write ("Hello World"); // close the USB devicedev. close ();
More information can be found in the javadoc.
Test Application
To test your device you can use the test application avrexpboard Ta
Reference: http://inf.ntb.ch/infoportal/help/index.jsp? Topic =/CH. NTB. infoportal/projects.html