AV16-32 Board Projects

Here is a series of new projects above and beyond what you have found in the book.
They build on what you have learned in the book adding a little bit of fun thanks to the AV16/32 Audio and Video board ...

1- Animated 2D graphics demo

Description:
This demo is basically the 2D graphic project (developed in Chapter 13) with additional "animation" features.  Double buffered graphics is used to make the animation smooth and glitch-less.
When started, a simple 2D grid is shown, but using the S4 and S5 buttons it is possible to increase/decrease the "gain" of the "wave". Press S4 to increase / press S5 to decrease.
Also S3 and S6 control the x axis offset, moving the "wave" left and right.

Requirements:

- Explorer16 board (if using the PIC32 I/O expansion board you will have to modify the button inputs)
- AV16/32 board (only the composite video portion of the board needs to be completed)
- explore.c must be available
- graphics.c must be configured for the selected video output (PAL or NTSC)

Download:

Animated Graph 2D

2- Advanced Mandelbrot Set Viewer

Description:
This is an enhanced version of the Mandelbrot project presented in Chapter 13 with added options to:
- save the current display content in a "screenshot" (SVR) file
- perform self timing for (math) performance comparisons
Additional navigation features include:
  - buttons 1, 2, 3 and 4 (from left) zoom in the corresponding quadrant
  - buttons 1 + 2  zoom in center
  - buttons 1 + 4 save screenshot to .SVR file
  - button 1 (press and keep pressing for >2s) re-start from original cardiod

Requirements:

- Explorer16 board (if using the PIC32 I/O expansion board you will have to modify the button inputs)
- AV16/32 board (only the composite video and SD/MMC portions of the board need to be completed)
- explore.c must be available
- graphics.c must be configured for the selected video output (PAL or NTSC)
- fileio.c and sdmmc.c modules must be available

Download:

Mandelbrot Set Viewer

3- More Cubes

Description:
This demo uses integer math to perform 3D drawing and animation with Isometric perspective. There are truly 3 demos, depending on which button is pressed on the Explorer16 board after start up:
1- leftmosts button shows a single cube spinning
2- second from left, shows 38 cubes forming the digits "32"
3- third button from left, show 100+ cubes forming the string: "I (love) PIC32"
   - press once more (any) button to start (scramble)
   - press and keep pressed (any) button to have message gravitate back in place

Requirements:

- Explorer16 board (if using the PIC32 I/O expansion board you will have to modify the button inputs)
- AV16/32 board (only the composite video portion of the board need to be completed)
- explore.c must be available
- graphics.c must be configured for the selected video output (PAL or NTSC)

Download:

Cubes

4- More WAVES

Description:
This demo combines the best of chapters 13/14/15 and 16 in a single application performing WAV files playback.
It demonstrates:
- Use of PWM for stereo sound reproduction
- Fast fileio from SD/MMC card
- Wave file decoding
- Basic DSP operation (FFT)
- Real time graphics animated (single buffered)

After start up will prompt the user to insert a (SD/MMC) card  then will create a list of ".WAV" files present (in root) and sorts them alphabetically
Four commands are available for playback:
- button 1 (leftmost): play previous in list
- button 2 : play next in list
- button 3 : play all sequentially (alphabetically)
- button 4 : play all in random order (shuffle)
- press any button during playback to interrupt.
(Note that the list is artificially limited to 40 items, you can easily change this parameter)

Requirements:

- Explorer16 board (if using the PIC32 I/O expansion board you will have to modify the button inputs)
- AV16/32 board (the entire board needs to be completed)
- all lib and include files developed in chapters 13-16 must be available
- graphics.c must be configured for the selected video output (PAL or NTSC)

Download:

Advanced WAV Player

5- Slideshow

Description:
This demo allows to display sequentially (or randomly) a series of images (screenshots .SCN files) previously saved on the SD/MMC card using the Advanced Mandelbrot demo.

After start up will prompt the user to insert a card, then it will create a list of .SVR files present (in root) up to 40 files, and sorts them alphabetically
Four commands are available for slideshow playback:
- button 1 (leftmost): play previous in list
- button 2 : play next in list
- button 3 : play all sequentially (alphabetically)
- button 4 : play all in random order (shuffle)
- press any button during playback to interrupt.

Requirements:

- Explorer16 board (if using the PIC32 I/O expansion board you will have to modify the button inputs)
- AV16/32 board (only the composite video and SD/MMC card portions need to be completed)
- graphics.c must be configured for the selected video output (PAL or NTSC)

Download:

Slideshow

6- Monochrome VGA Graphics

Description:
This projects makes use of the capability offered by the AV16/32 demo board, when built in the VGA option (R1 and R2 are mounted, R4 is replaced by a 1N4148 diode, R3 and R32 are not required) to drive directly a VGA display.
Notice that the RAM memory available in the current MX3 and MX4 series of PIC32 processors limits the resolution to a 480x480 monochrome image.
To demonstration is based on the Advanced Mandelbrot viewer project, taking advantage of the increased image size and resolution.

Requirements:

- Explorer16 board (if using the PIC32 I/O expansion board you will have to modify the button inputs)
- AV16/32 board (only the VGA video portion needs to be completed)

Download:

VGA Graphics