AV16/32 Board PIC32 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 …
You can download all the projects as a single ZIP file (Demonstrations1-5) here.

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)

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

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)

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)

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): display previous in list
– button 2 : display next in list
– button 3 : display all sequentially (alphabetically)
– button 4 : display all in random order (shuffle)
– press any button during loading 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)


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 480×480 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)