Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
11 views

4260239pov Propeller Display Based On Arduino With Bluetooth Control

Design of a propeller clock

Uploaded by

stevennguims
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

4260239pov Propeller Display Based On Arduino With Bluetooth Control

Design of a propeller clock

Uploaded by

stevennguims
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

INTERNATIONAL JOURNAL FOR RESEARCH & DEVELOPMENT IN Volume-6,Issue-5 (Dec-16)

TECHNOLOGY ISSN (O) :- 2349-3585

POV PROPELLER DISPLAY BASED ON ARDUINO


WITH BLUETOOTH CONTROL
__________________________________________________________________________________________
N.DHAMODHARAN1, R.S.KARRTHIK2, V.HEAMANTH RAJ3
1,2
Assistant Professor, 3Student
1,3
Akshaya College of Engineering and Technology,Coimbatore
2
Bannari amman institute of technology, Sathyamagalam

ABSTRACT: The project mainly emphasizes on the POV Persistence of vision is still the accepted term for this
technology. In current era where energy is the main factor in phenomenon in the realm of cinema history and theory[3]. In
designing all the applications, maximum and efficient use of the past, it was scientifically proven that a frame rate of less
the energy is very important. A POV display has many than 16 frames per second caused the mind to see flashing
advantages over a traditional CRT, LCD or LED display, like images. People still identify motion at rates as low as ten
power saving, less complexity, easy configuration, frames per second or slower like in flipbook[5],[6][7]. The
attractiveness etc. To overcome the drawback of complex phenomenon of POV is evident in a number of events like for
programming environment of microcontrollers we have e.g.: When we rotate a fire cracker stick at high speed, we
decided to implement the same display with a new and observe a continuous circle being formed. A two dimensional
advanced microcontroller, the Arduino UNO which consists POV display is often accomplished by means of rapidly
of ATmega328p as the brain. This platform brings an easy moving a single row of LEDs along a linear or circular path.
coding environment and a different understanding of Using the POV principle to make a propeller display. It
peripherals. ARDUINO BOARDS provide us with a low-cost, emphasizes on using a 8051 microcontroller to serve as the
convenient and easy-to use technology to create the project. brain of the project. This display consists of just 8 bright LEDs
To accomplish this, we will be interfacing the display with an which are rotated to show the display. This display can show
Android device using a Bluetooth module. This project can the messages, which will require a whopping 525 LEDs. But
be implemented with help of any Android Smartphone/tablet this model lags in terms of easy programming capabilities
running Android 4.0+. Unlike traditional technique [6],[7]. POV technique to make the display using the RGB
programming the text to be displayed, the board is LEDs so that even multicolor text or images can be displayed.
programmed to receive the custom text from a connected The project mentioned used a Raspberry PI controller as the
android device via Bluetooth and store it on the EEPROM brain. The Raspberry PI uses a python programming language
memory of the controller. to program the display. Though the programming environment
Keywords: POV, ARDUINO, UNO, LED, DC motor is easy to code and develop, but using a controller such as
INTRODUCTION Raspberry PI adds on more cost. These Raspberry PI
This work is based the phenomenon of Persistence of controllers have a high spec, processing speed, memory and
vision(POV). Persistence of vision is the phenomenon other hardware peripherals that makes it a little costly
pertaining to the human eye by which an afterimage is thought compared to other microcontrollers [6],[7]. Using a 8-bit shift
to persist for approximately one twenty-fifth of a second on the registers to store and shift the data through the column of the
retina [1]. The way this phenomenon of persistence of vision LED. Using the shift register to serve for data storage and
works is based on the belief that human perception of motion transmission through the LED column might add on a small
(brain centered) is the result of persistence of vision (eye cost factor while the microcontroller is all alone capable of
centered). Any motion that we see around us is the direct doing it [5]. The proposed system uses an propeller instead of
implication of persistence of vision phenomenon at work[2]. the shift registers. Instead of shifting the data through the shift

217
All rights reserved by www.ijrdt.org
Paper Title:- POV PROPELLER DISPLAY BASED ON ARDUINO WITH BLUETOOTH CONTROL

registers the propeller shifts the position of the whole column. 1000RPM. The DC motor is plugged into the wall socket and
The only thing to be kept track on is the data to be given at the can be held or placed firmly on any flat surface for the POV
right time to create the effect of persistence of vision. A display to function properly.
controller with a good spec to serve the purpose is enough to SYSTEM SPECIFICATION
display the data. The system also uses a Bluetooth module Adriano Uno is a microcontroller board based on the
interfaced with the controller to receive the text and through a ATmega328P. It has 14 digital input/output pins (of which 6
Smartphone. Thus obtained text can be stored in the EEPROM can be used as PWM outputs), 6 analog inputs, a 16 MHz
memory of the controller and retrieved later. The custom texts quartz crystal, a USB connection, a power jack, an ICSP
can be easily changed with the help of this Bluetooth module header and a reset button. The Board uses an ATmega328p as
interfaced with the controller. the brain of the board. It uses the Arduino boot loader to load
POV PHENOMENON the initial setup and port mapping to the controller and the
A POV display is similar to that of an LED display. Unlike board. The system uses the Arduino UNO board as the brain
using the shift registers to shift the data through the columns to generate different pattern and display the data with help of
of an LED display, a propeller with a single column of LEDs the LEDs. The FIG 4.1 shows an structure of Arduino Uno
is used. board and the Table 4.1 shows the technical specifications of
the Arduino Uno.
Table 1: Arduino UNO technical specifications
Microcontroller ATmega328p
Operating Voltage 5v
Input Voltage 7-12v
Input Voltage(limits) 6-20v
14(of which 6 provide PWM
Digital I/O Pins
output)
Analog Input Pins 6
DC Current per I/O Pin 20Ma
32KB of which 2KB used by
Flash Memory
boot loader
SRAM 2KB
EEPROM 1KB
Clock Speed 16MHz
Fig1 POV Phenomenon Length 68.6 mm
Fig 1 shows the six single color LEDs (RED) that are stacked
vertically and rotates in a circle on a vertical plane. The
pictures generated by the spinning LEDs are coordinated by an
Arduino UNO that has a ATmega328p microcontroller and
programmed using the Arduino IDE software. A Hall Effect
sensor is used in conjunction with a strong magnet so that the
microcontroller can receive a reference point as to when it
should start outputting the visual during each rotation. The
Hall Effect sensor will pass over the magnet during every
rotation. We put the LED board, Arduino microcontroller, and
a 9V battery (used to power the microcontroller) all onto a
single 2x8 inch platform that is mounted to the top of a small
12V DC motor which rotates at a speed of about

Fig 2 Arduino Uno

218
ISSN:-2349-3585 |www.ijrdt.org
Paper Title:- POV PROPELLER DISPLAY BASED ON ARDUINO WITH BLUETOOTH CONTROL

EXPERIMENTAL SET UP The display has Arduino Uno as the main co ntroller
Bluetooth is a wireless technology standard for exchanging interfaced with the Bluetooth module. The project receives
data over short distances (using short-wavelength UHF radio custom texts from any Android 4.0+ devices over Bluetooth
waves in the ISM band from 2.4 to 2.485 GHz) from fixed and and stores it in the EEPROM memory. The text stored is
mobile devices and building personal area networks (PANs). retrieved and displayed. Any new text sent replaces the old
Range is approximately 10 Meters (30 feet). These modules text in the EEPROM memory so that the text remains
are based on the Cambridge Silicon Radio BC417 2.4 GHz unchanged until it is manually changed Block diagram of the
Bluetooth Radio chip. This is a complex chip which uses an model has been given in thr Fig 3. And the connection of this
external 8 Mb it flash memory [7]. The system uses a 9V
battery to power the propeller circuit. The whole system on the
propeller is powered by this 9V supply. the battery could be
easily recharged with an adapter. A DC motor is any of a class
of electrical machines that converts direct current electrical
power into mechanical power. The most common types rely
on the forces produced by magnetic fields. The DC Motor is
used to rotate the propeller circuit. The DC motor rotates at a
speed of about 1000RPM. 12V DC Adapter converts the propeller display has been shown in the fig 4
200~220V AC power supply into 12V DC power supply. The
DC adapter is used to power the DC Motor. The adapted Fig 4. Connections of the propeller circuit
internally will have a power down circuit, a bridge rectifier ARDUINO PROGRAM
and a filtering circuit to provide a stable 12V DC output. The The ADUINO program for the POV display is give by [9],
software used to program Arduino is Arduino IDE. The [10.]
Arduino Integrated Development Environment - or Arduino #include<EEPROM.h>
Software (IDE) - contains a text editor for writing code, a int delayTime = 350; //sub-char delay time
message area, a text console, a toolbar with buttons for int charBreak = 150; //char delay time
common functions and a series of menus. It connects to the int LED1 = 2;
Arduino and Genuino hardware to upload programs and int LED2 = 3;
communicate with them. Programs written using Arduino int LED3 = 4;
Software (IDE) are called sketches. int LED4 = 5;
int LED5 = 6;
int under = 7;
String temp_msg = "";
String msg = "";
int gotdata = 0;
int underline = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
attachInterrupt(digitalPinToInterrupt(8), ISR, RISING);
Fig 3 Block diagram pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);

219
ISSN:-2349-3585 |www.ijrdt.org
Paper Title:- POV PROPELLER DISPLAY BASED ON ARDUINO WITH BLUETOOTH CONTROL

pinMode(LED3, OUTPUT); int hypen[] = {0, 4, 4, 4, 0};


pinMode(LED4, OUTPUT); int diamond[] = {4, 10, 17, 10, 4};
pinMode(LED5, OUTPUT); int space[] = {0, 0, 0, 0, 0};
pinMode(under, OUTPUT); int heart[] = {12, 18, 9, 18, 12};
int addr=0; void displayLine(int line)
while(EEPROM.read(addr)!=0) {
{ int myline;
msg += char(EEPROM.read(addr)); myline = line;
addr++; if (myline>=16)
} {
underline = EEPROM.read(100); digitalWrite(LED1, HIGH);
} myline-=16;
int a[] = {1, 6, 26, 6, 1}; }
int b[] = {31, 21, 21, 10, 0}; else
int c2[] = {14, 17, 17, 10, 0}; {
int d[] = {31, 17, 17, 14, 0}; digitalWrite(LED1, LOW);
int e[] = {31, 21, 21, 17, 0}; }
int f[] = {31, 20, 20, 16, 0}; if (myline>=8)
int g[] = {14, 17, 19, 10, 0}; {
int h[] = {31, 4, 4, 4, 31}; digitalWrite(LED2, HIGH);
int i[] = {0, 17, 31, 17, 0}; myline-=8;
int j[] = {0, 17, 30, 16, 0}; }
int k[] = {31, 4, 10, 17, 0}; else
int l[] = {31, 1, 1, 1, 0}; {
int m[] = {31, 12, 3, 12, 31}; digitalWrite(LED2, LOW);
int n[] = {31, 12, 3, 31, 0}; }
int o[] = {14, 17, 17, 14, 0}; if (myline>=4)
int p[] = {31, 20, 20, 8, 0}; {
int q[] = {14, 17, 19, 14, 2}; digitalWrite(LED3, HIGH);
int r[] = {31, 20, 22, 9, 0}; myline-=4;
int s[] = {8, 21, 21, 2, 0}; }
int t[] = {16, 16, 31, 16, 16}; else
int u[] = {30, 1, 1, 30, 0}; {
int v[] = {24, 6, 1, 6, 24}; digitalWrite(LED3, LOW);
int w[] = {28, 3, 12, 3, 28}; }
int x[] = {17, 10, 4, 10, 17}; if (myline>=2)
int y[] = {17, 10, 4, 8, 16}; {
int z[] = {19, 21, 21, 25, 0}; digitalWrite(LED4, HIGH);
int eos[] = {0, 1, 0, 0, 0}; myline-=2;
int excl[] = {0, 29, 0, 0, 0}; }
int ques[] = {8, 19, 20, 8, 0}; else

220
ISSN:-2349-3585 |www.ijrdt.org
Paper Title:- POV PROPELLER DISPLAY BASED ON ARDUINO WITH BLUETOOTH CONTROL

{ {for (int i = 0; i <5; i++)


digitalWrite(LED4, LOW); {displayLine(g[i]);delayMicroseconds(delayTime);}
} displayLine(0);}
if (myline>=1) if (c == 'h')
{ {for (int i = 0; i <5; i++)
digitalWrite(LED5, HIGH); {displayLine(h[i]);delayMicroseconds(delayTime);}
myline-=1; displayLine(0);}
} if (c == 'i')
else {for (int it = 0; it <5; it++)
{ {displayLine(i[it]);delayMicroseconds(delayTime);}
digitalWrite(LED5, LOW); displayLine(0);}
} if (c == 'j')
} {for (int i = 0; i <5; i++)
void displayChar(char c) {displayLine(j[i]);delayMicroseconds(delayTime);}
{ displayLine(0);}
digitalWrite(under, underline); if (c == 'k')
if (c == 'a') {for (int i = 0; i <5; i++)
{for (int i = 0; i <5; i++) {displayLine(k[i]);delayMicroseconds(delayTime);}
{displayLine(a[i]);delayMicroseconds(delayTime);} displayLine(0);}
displayLine(0);} if (c == 'l')
if (c == 'b') {for (int i = 0; i <5; i++)
{for (int i = 0; i <5; i++) {displayLine(l[i]);delayMicroseconds(delayTime);}
{displayLine(b[i]);delayMicroseconds(delayTime);} displayLine(0);}
displayLine(0);} if (c == 'm')
if (c == 'c') {for (int i = 0; i <5; i++)
{for (int i = 0; i <5; i++) {displayLine(m[i]);delayMicroseconds(delayTime);}
{displayLine(c2[i]);delayMicroseconds(delayTime);} displayLine(0);}
displayLine(0);} if (c == 'n')
if (c == 'd') {for (int i = 0; i <5; i++)
{for (int i = 0; i <5; i++) {displayLine(n[i]);delayMicroseconds(delayTime);}
{displayLine(d[i]);delayMicroseconds(delayTime);} displayLine(0);}
displayLine(0);} if (c == 'o')
if (c == 'e') {for (int i = 0; i <5; i++)
{for (int i = 0; i <5; i++) {displayLine(o[i]);delayMicroseconds(delayTime);}
{displayLine(e[i]);delayMicroseconds(delayTime);} displayLine(0);}
displayLine(0);} if (c == 'p')
if (c == 'f') {for (int i = 0; i <5; i++)
{for (int i = 0; i <5; i++) {displayLine(p[i]);delayMicroseconds(delayTime);}
{displayLine(f[i]);delayMicroseconds(delayTime);} displayLine(0);}
displayLine(0);} if (c == 'q')
if (c == 'g') {for (int i = 0; i <5; i++)

221
ISSN:-2349-3585 |www.ijrdt.org
Paper Title:- POV PROPELLER DISPLAY BASED ON ARDUINO WITH BLUETOOTH CONTROL

{displayLine(q[i]);delayMicroseconds(delayTime);} displayLine(0);}
displayLine(0);} if (c == '?')
if (c == 'r') {for (int i = 0; i <5; i++)
{for (int i = 0; i <5; i++) {displayLine(ques[i]);delayMicroseconds(delayTime);}
{displayLine(r[i]);delayMicroseconds(delayTime);} displayLine(0);}
displayLine(0);} if (c == '.')
if (c == 's') {for (int i = 0; i <5; i++)
{for (int i = 0; i <5; i++) {displayLine(eos[i]);delayMicroseconds(delayTime);}
{displayLine(s[i]);delayMicroseconds(delayTime);} displayLine(0);}
displayLine(0);} if (c == '-')
if (c == 't') {for (int i = 0; i <5; i++)
{for (int i = 0; i <5; i++) {displayLine(hypen[i]);delayMicroseconds(delayTime);}
{displayLine(t[i]);delayMicroseconds(delayTime);} displayLine(0);}
displayLine(0);} if (c == '@')
if (c == 'u') {for (int i = 0; i <5; i++)
{for (int i = 0; i <5; i++) {displayLine(diamond[i]);delayMicroseconds(delayTime);}
{displayLine(u[i]);delayMicroseconds(delayTime);} displayLine(0);}
displayLine(0);} if (c == ' ')
if (c == 'v') {for (int i = 0; i <5; i++)
{for (int i = 0; i <5; i++) {displayLine(space[i]);delayMicroseconds(delayTime);}
{displayLine(v[i]);delayMicroseconds(delayTime);} displayLine(0);}
displayLine(0);} if (c == 'H')
if (c == 'w') {for (int i = 0; i <5; i++)
{for (int i = 0; i <5; i++) {displayLine(heart[i]);delayMicroseconds(delayTime);}
{displayLine(w[i]);delayMicroseconds(delayTime);} displayLine(0);}
displayLine(0);} digitalWrite(under,LOW);
if (c == 'x') delayMicroseconds(charBreak);
{for (int i = 0; i <5; i++) }
{displayLine(x[i]);delayMicroseconds(delayTime);} void displayString(String s)
displayLine(0);} {
if (c == 'y') for (int i = 0; i<=s.length(); i++)
{for (int i = 0; i <5; i++) {
{displayLine(y[i]);delayMicroseconds(delayTime);} displayChar(s[i]);
displayLine(0);} Serial.print(s[i]);
if (c == 'z') }
{for (int i = 0; i <5; i++) }
{displayLine(z[i]);delayMicroseconds(delayTime);} void bluetooth()
displayLine(0);} {
if (c == '!') while(Serial.available())
{for (int i = 0; i <5; i++) {
{displayLine(excl[i]);delayMicroseconds(delayTime);} delay(10);

222
ISSN:-2349-3585 |www.ijrdt.org
Paper Title:- POV PROPELLER DISPLAY BASED ON ARDUINO WITH BLUETOOTH CONTROL

char temp = Serial.read(); displayString(msg);


if(temp == '#') }
break;
temp_msg+=temp;
gotdata=1;
}
}
void store()
{
int addr=0;
if(temp_msg[0]=='_')
{
if(underline == 0)
{
EEPROM.write(100, 1);
underline = 1;
}
Fig 5. POV display
else
{ CONCLUSION
EEPROM.write(100, 0); The conventional LED displays used in advertisements and
underline = 0; information display uses an individual matrix of LEDs for
} each character. For example in a display using 8X4 Led matrix
} for a single character, 10X8X4 LEDs would be required to
else display a word consisting of 10 characters, increasing the
{ circuit complexity. Our circuit uses a low power Arduino
while(addr<temp_msg.length()) board, with 7 LEDs and a low power motor. As shown in Fig
{ 5, This technology saves power monumentally. The display is
EEPROM.write(addr,char(temp_msg[addr])); configurable to show any pattern in any color through an
addr++; Android device that communicates via a Bluetooth module.
} The display is extremely attractive to look at and gives a sense
EEPROM.write(addr,0); of being a transparent display. By using a motor of higher
msg=temp_msg; RPM, one can achieve more clarity in the display.
temp_msg=""; REFERENCES
} [1]. Wertheimer, 1912. “Experimentelle Studien über das
gotdata = 0; Sehen von Bewegung. Zeitschrift für Psychologie”, pp.
} 161–265.
void loop() { [2]. Bazin, André (1967) “What is Cinema”, Vol. I, Trans.
// put your main code here, to run repeatedly: Hugh Gray, Berkeley: University of California Press.
bluetooth(); [3]. Cook, David A. (2004) “A History of Narrative Film”.
if(gotdata==1) New York, W. W. Norton & Company.
store();

223
ISSN:-2349-3585 |www.ijrdt.org
Paper Title:- POV PROPELLER DISPLAY BASED ON ARDUINO WITH BLUETOOTH CONTROL

[4]. Metz, Christian (1991) “A Semiotics of the Cinema”,


trans. Michael Taylor. Chicago: University of Chicago
Press.
[5]. “The 8051 microcontroller and Embedded Systems”, by
M.A.Mazidi.
[6]. Sheikh Rafik Manihar “The Power Saving Low Cost
Rotating 8 Led Information Display” International
Journal of Scientific & Engineering Research Volume
3, Issue 5, May-2012 1 ISSN 2229-5518
[7]. Aditya Patel, Ashish Kumar Khandual, Kavya Kumar
and Shreya Kumar “Persistence Of Vision Display” A
Review IOSR Journal of Electrical and Electronics
Engineering (IOSR-JEEE)
[8]. Ancy David, KJ Josphin, Sreejith S, Thomasukutty
Zacharia, Anish Benny, Neenu Rose Antony (2016)
“Propeller LED Display” international journal of
innovative research in electrical, electronics,
instrumentation and control engineering Vol. 4, Issue 4
[9]. https://www.arduino.cc/en/Main/ArduinoBoardUno
[10]. https://arduino info.wikispaces.com/BlueTooth-HC05-
HC06-Modules-How-To

224
ISSN:-2349-3585 |www.ijrdt.org

You might also like