Interactive Mirror Build Instructions v2

19
Interactive Mirror Build Instructions This Android controlled interactive mirror runs a number of Android apps. The interactive mirror can display pictures, running text, simple games, and video streamed from the Android phone. Materials: RGB 16 x 32 Matrix from Adafruit $80 IOIO Board $50 Bluetooth Dongle $5 Another IOIO board or a PIC3KIT programmer (required if using Bluetooth to upgrade the IOIO firmware to Bluetooth compatible) Black Fabric (an old Black Tshirt will do) Black Foam Core Board 5V 2A Power Supply 2Way Mirror Picture Frame (Antiques shops are good places to find unique looking ones) Duct tape Android Phone 2.3.3 or above if using Bluetooth This project uses the IOIO microcontroller. Ytai BenTsvi, the creator of IOIO, has things well documented at IOIO Wiki (http://bit.ly/J0GOq4) as well as an active support community for questions. Step 1. IOIO Board Bootloader & Firmware Upgrade The first thing you’ll need to do is upgrade the bootloader on the IOIO microcontroller. Refer to these instructions: http://bit.ly/tS1GlZ on how to update the IOIO bootloader. Then, install a custom IOIO firmware that supports the 32 x 16 RBG LED matrix from Adafruit. The custom firmware can be found here, http://bit.ly/K2w9gm. Follow these instructions: http://bit.ly/J0vJp0 on the IOIO wiki to use the IOIO manager application from your Android phone to install the custom firmware.

description

interactive mirror

Transcript of Interactive Mirror Build Instructions v2

Interactive  Mirror  Build  Instructions  

 

This  Android  controlled  interactive  mirror  runs  a  number  of  Android  apps.  The  interactive  mirror  can  display  pictures,  running  text,  simple  games,  and  video  streamed  from  the  Android  phone.    

Materials:    RGB  16  x  32  Matrix  from  Adafruit    -­‐  $80    

IOIO  Board  -­‐  $50    Bluetooth  Dongle  -­‐  $5    Another  IOIO  board  or  a  PIC3KIT  programmer  (required  if  using  Bluetooth  to  upgrade  the  IOIO  firmware  to  Bluetooth  

compatible)    Black  Fabric  (an  old  Black  T-­‐shirt  will  do)  Black  Foam  Core  Board  

5V  2A  Power  Supply            2-­‐Way  Mirror  Picture  Frame  (Antiques  shops  are  good  places  to  find  unique  looking  ones)  

Duct  tape  Android  Phone  -­‐  2.3.3  or  above  if  using  Bluetooth      

This  project  uses  the  IOIO  microcontroller.  Ytai  Ben-­‐Tsvi,  the  creator  of  IOIO,  has  things  well  documented  at  IOIO  Wiki  (http://bit.ly/J0GOq4)  as  well  as  an  active  support  community  for  questions.    

Step  1.  IOIO  Board  Bootloader  &  Firmware  Upgrade  

The  first  thing  you’ll  need  to  do  is  upgrade  the  bootloader  on  the  IOIO  microcontroller.  Refer  to  these  instructions:  

http://bit.ly/tS1GlZ  on  how  to  update  the  IOIO  bootloader.  

Then,  install  a  custom  IOIO  firmware  that  supports  the  32  x  16  RBG  LED  matrix  from  Adafruit.  The  custom  firmware  can  be  found  here,  http://bit.ly/K2w9gm.  Follow  these  instructions:  http://bit.ly/J0vJp0  on  the  IOIO  wiki  to  use  the  IOIO  manager  application  from  your  Android  phone  to  install  the  custom  firmware.  

 

 

 

 

 

 

Step  2.  Wiring    

Wire  everything  per  this  schematic:  

Looking at the Cable from the top view (while it is plugged in to the M atrix), wire the pins noted to the respective pins on the IOIO board (ex. the top leftpin/wire on the cable goes to IOIO board pin 23)

Connect Included Cable Here

Back of the RGBLED M atrix

5V 2A Power Supply

5VDC for Power

5VDC for Power

Connect 13 Pins from LED M atrix to IOIO

ConnectUSB

BluetoothDongle Here

     

 

If  this  is  a  permanent  installation,  you  can  cut  off  the  other  end  of  the  included  LED  matrix  cable  and  solder  directly  to  the  pins  on  the  IOIO.  

 

 

 

 

 

 

 

 

 

After  wiring,  it  will  look  like  this:  

 

 

 

Before  mounting  in  the  picture  frame,  check  that  everything  is  wired  correctly.  Supply  5V  power  to  the  IOIO  board  and  5V  power  to  the  LED  matrix.  Also  plug  in  the  Bluetooth  dongle  to  the  IOIO  board.  Bluetooth  pair  the  IOIO  to  your  Android  phone,  the  pairing  code  is:  4545.  Then,  install  one  of  the  apps  in  step  5  on  your  Android  Phone  and  run  it.  If  all  is  well,  then  you’ll  see  the  LED  Matrix  light  up  per  the  app.  

   

Step  3.  Mounting  

Cut  the  Black  Foam  Core  board  to  the  size  of  your  picture  frame  and  then  cut  a  center  rectangle  in  the  middle  of  the  foam  core  board  to  fit  the  LED  matrix.  Mount  the  LED  matrix  in  Black  Foam  Core  board.  You  can  secure  the  back  of  it  

with  duct  tape.    

 

Front  of  the  LED  Matrix  

Now  cover  the  front  of  the  matrix  and  foam  core  board  with  the  black  t-­‐shirt.  This  is  needed  for  the  effect  of  the  2-­‐way  mirror.  If  there  is  any  white  exposed  the  mirror  effect  will  be  ruined.  

 

 

 Secure  the  t-­‐shirt  using  duct  tape  or  some  other  adhesive.    

 Use  a  glass  cutter  to  cut  the  two-­‐way  mirror  to  the  size  of  the  picture  frame.  

 Secure  the  two-­‐way  mirror  in  the  picture  frame  with  glue  or  two  sided  tape.  

 

   

Step  4.  Final  Installation  

Now  just  mount  the  LED  matrix  into  the  picture  frame.  It  should  be  a  tight  fit  so  it  won’t  move  around  much,  but  you  may  also  want  to  secure  it  with  duct  tape  or  some  other  frame  mount.        

 

   

Assuming  you  have  covered  the  LED  matrix  correctly  with  the  black  t-­‐shirt  and  there  is  no  white  showing,  it  will  look  like  a  mirror  when  turned  off.    

 

Just  for  reference,  if  the  LED  matrix  is  not  covered  in  black  fabric  the  mirror  effect  will  be  lost  and  it  will  look  like  this.  

 

 

The  LED  matrix  is  visible  when  turned  on  

   

Step  5.  Install  the  Apps  and  Enjoy  

At  the  time  of  this  writing,  there  are  four  apps  written  for  the  IOIO  LED  matrix  that  can  be  downloaded  from  Google  Play  (formerly  known  as  the  Android  Market).  Ensure  before  running  the  apps,  you  Bluetooth  pair  your  phone  to  the  IOIO  

using  pairing  code:  4545.  If  you  have  an  Android  phone  2.3.3  and  above  this  pairing  step  only  needs  to  be  done  once.  

App    IOIO  Pics  to  LED  Matrix  –  Choose  a  pre-­‐set  image  and  display  it  on  the  LED  matrix    

 

IOIO  8-­‐Ball  –  Magic  8-­‐Ball  fortune  teller.  Displays  the  answers  to  your  questions  on  the  LED  matrix.    

 IOIO  Verbage  to  LED  Matrix  –  Displays  random  words  on  the  LED  matrix    

 

IOIO  Camera  to  LED  Matrix  –  Streams  a  small  portion  of  the  camera  frame  to  the  LED  matrix.  This  one  is  not  really  that  useful  as  the  portion  of  the  camera  video  displayed  is  very  small  and  is  really  more  of  a  proof  of  concept  that  the  IOIO  LED  matrix  can  also  do  video.  

   

   

 

 

The  Magic  8  Ball  app  

 

 

 

 

 

 

 

Step  6  (Optional):  Add  your  own  graphics  &  modify  the  source  code  

The  source  code  for  each  of  the  apps  is  posted  here:  http://bit.ly/JsoE4X    If  you  can  code  in  Android  (essentially  Java),  feel  free  to  modify  the  apps  per  your  own  needs  using  your  own  graphics.  You’ll  find  the  graphics  in  the  /res/raw  folder  

in  the  Android  projects.  The  bitmap  graphics  must  be  saved  in  the  RGB565  BMP  format.  Adobe  Photoshop  claims  to  be  able  to  save  in  RBG565  format,  but  unfortunately  those  files  were  not  compatible  so  as  a  work  around,  edit  the  graphic  as  you’d  like  in  Photoshop,  or  your  favorite  photo  editor.  The  file  must  be  saved  as  32  pixels  wide  and  16  pixels  high.  

Then  for  Windows  users,  install  a  free  program  called  Paint.net  and  also  the  RGB565  plug-­‐in  (http://bit.ly/LOuTBW)  for  Paint.net.  Then    import  your  file  into  Paint.net  and  save  in  the  RGB565  format,  your  file  will  then  have  an  .rgb565  extension  which  you  can  then  copy  into  the  /res/raw  folder  and  then  use  in  your  modified  code.  

Follow  these  instructions:  http://bit.ly/IUbBKE  to  setup  your  Eclipse  development  environment.  Then  you’ll  need  to  

import  the  IOIO  libraries  into  your  Eclipse  environment  that  are  in  the  custom  firmware  download  (http://bit.ly/K2w9gm).  Ytai,  the  creator  of  IOIO,  was  kind  enough  to  write  a  custom  library  to  interface  IOIO  with  this  particular  hardware  LED  matrix  but  you  can  only  get  this  library  in  the  custom  firmware  download  

(http://bit.ly/K2w9gm)  so  be  sure  and  not  skip  this  step,  otherwise  your  source  will  not  compile.  

 

Saving  your  graphics  as  .rgb565  files  from  the  Paint.net  program