Rotating Digital Picture Frame

A place to document your own projects.

Rotating Digital Picture Frame

Postby Markus Gritsch » Thu Jul 12, 2012 1:24 am

Hi,

I built a small digital picture frame, which automatically rotates itself into portrait or landscape orientation, depending on the picture displayed.

IMG_6445.JPG

I connected a 2.4" LCD with a resolution of 320x240 pixels which I got from ITead to a PIC32MX120F032B using the PICs Parallel Master Port (PMP) peripheral. The display is setup to work in 8-bit mode, so using the PMP was a bit tricky, but I managed to get two 8-bit writes out of a 16 bit transfer by connecting the appropriate pins to two 1N4004 diodes and a pull-up resistor leading to a logical OR for the nWR signal.

schematic.jpg

IMG_6418.JPG

The LCD breakout board also has an SD-card slot on its back. The file system is accessed by using FatFs and an MMC-driver which I modified to support software SPI. I did this because although this PIC32 has Peripheral Pin Select (PPS), it is not possible to use any of the hardware SPI pheripherals together with the PMP.

The perfboard is held and rotated by a conventional RC servo. After rotating, the PIC32 cuts off the power to the servo to prevent it from making annoying humming noises.

IMG_6422.JPG

IMG_6425.JPG

The Python script to convert JPEG images into an easy to read RAW format is also included. The script basically resizes the images, applies a gentle sharpening-filter, and does some Floyd-Steinberg dithering to reduce the color space to 16 bit (RGB 565). It also adds the information whether the image should be displayed in portrait or landscape orientation.

The PIC32 directly writes the image data to the display, and by syncing the line currently written with the hardware scrolling offset of the display driver chip, one can achieve a nice sliding transition between the images.

To give the device a nice looking finnish, I sprayed a piece of acrylic glass with some black paint and hot-glued it to the LCD board.

A video is available on YouTube: http://www.youtube.com/watch?v=yGzvt1zctiU

Please find the firmware and the converter script attached.

Have fun,
Markus
Attachments
picture_frame_2012-07-11.zip
(505.6 KiB) Downloaded 193 times
User avatar
Markus Gritsch
Sr. Member
Sr. Member
 
Posts: 271
Joined: Tue Feb 09, 2010 6:54 am

Re: Rotating Digital Picture Frame

Postby Markus Gritsch » Thu Jul 12, 2012 1:25 am

IMG_6426.JPG

IMG_6430.JPG

IMG_6432.JPG

IMG_6434.JPG
User avatar
Markus Gritsch
Sr. Member
Sr. Member
 
Posts: 271
Joined: Tue Feb 09, 2010 6:54 am

Re: Rotating Digital Picture Frame

Postby arupbsk » Thu Jul 12, 2012 1:34 am

When I saw the thread title, I thought you were taking about rotating display dimensions to fit picture, which is normally done. But after reading the thread and seeing images, I find that you're actually rotating the frame itself. Nice work. +1
Still learning
-Arup
User avatar
arupbsk
Sr. Member
Sr. Member
 
Posts: 385
Joined: Fri Aug 12, 2011 6:12 am
Location: Gopalganj, India

Re: Rotating Digital Picture Frame

Postby Alex » Tue Jul 24, 2012 10:42 am

Cool ! Now we have the 5" LCD with 720x480 resolutions (http://imall.iteadstudio.com/display/tf ... 19008.html), it is suitable for digital picture frame.

And, we are working on the 7" LCD module - it can be drive with 16 bit data and 4 control wires by many MCUs, be supported by Arduino Library as well.
Alex
Newbie
Newbie
 
Posts: 18
Joined: Wed Jun 08, 2011 11:15 pm


Return to Project logs