Student Projects

cancel
Showing results for 
Search instead for 
Did you mean: 

mySkyWriter: Draw Images in Thin Air

Overview

Hello Everyone,

Using the National Instruments myRIO and LabVIEW, I have worked on a project to demonstrate the concept of Persistance of Vision. The idea was to be able to display text in air whilst waving the myRIO using a single column of 8 LEDS mounted on a stripboard as opposed to displaying text on screens / matrix displays. This works on the theory of Persistence Of Vision which is explained in futher detail below.

FullSizeRender.jpg

*The following images of the project were taken when the project was modified to have a series of patterns/graphics displayed. The user could cycle through the different images by pressing the "button0" on the myRIO. The code was built into a RT EXE which was deployed onto the myRIO and ran on startup.


Description

"Persistence of vision is the theory where an afterimage is thought to persist for approximately one twenty-fifth of a second on the retina."

-Wikipedia

The human eye remembers the image it previously saw and then tries to match it up with the current image. This causes the visual appearance of continuous motion. The concept of persistence of vision exists all around us. Very simple examples that use this include:

  • Film Systems
  • Computer Monitors
  • Cartoon Animations
  • Flip Books

Picture3.jpg

This concept was implemented in my project by asking a user to enter a word on the front panel, that they would like to display. This "word" is a simple string control that is then broken down into individual letters in the block diagram. Each letter is then associated with a 8x6 boolean array which in effect divides each letter into 6 columns. The columns are then sent to the DIO lines of the myRIO with a calculated delay.

Currently the delay is hardcoded and was calculated using trial and error to get high accuracy and clear visibility.Ideally, I would like to use the data from the accelerometer within the myRIO to get a timescale from the waving motion and use that to calculate the delay automatically I.e.: The faster you wave, the smaller the delay between each column.

Steps to Execute Code

After connecting the power supply and computer USB to the myRIO and establishing a proper connection with the myRIO, follow the steps below:

  1. Open POV Display.lvproj
  2. Open & Run accelerometer data.vi
  3. Open Main VI (Interactive Edition).vi and enter a word to display on the string control located on the front panel
  4. Run Main.vi
  5. Wave myRIO left to right at a nominal speed

Requirements

Software

- LabVIEW 2014

- myRIO toolkit 2014

Hardware

- Stripboard

- 8x Green LEDs

- 8x 270 ohms Resistors

- Octal buffer / Line Driver (SN74HC244 - Texas Instruments)*

* The octal buffer/line driver was used to drive the LEDs using the current from the 5V rail ( ~100mA). The DIO lines on the myRIO provide ~20mA. The LEDs require slightly higher current in order to be bright.  With this octal buffer, you can control the LEDs using the DIO lines but use the current from the 5V rail.

Video


A Bit About The Developer

My name is Shazil Muhammad, a student at the University of Manchester studying Mechatronic Engineering. I am currently doing a placement year at National Instruments,as an Intern in the Applications Engineering Department. Engaging myself in the project has not only strenghtened my technical ability when it comes to coding in LabVIEW but has also made me learn so many new skills that I will definitely take back and implement in my final year.


Shazil M.
CLAD
Applications Engineer
National Instruments UK & Ireland
Comments
Menelaos.K
NI Employee (retired)
on

This is a great project. Well done!

ShazilM
NI Employee (retired)
on

Thanks a lot. Really appreciate it

Shazil M.
CLAD
Applications Engineer
National Instruments UK & Ireland
Contributors