Simple POV Homemade Arduino Shield

52,202

40

38

Posted in TechnologyArduino

Introduction: Simple POV Homemade Arduino Shield

Has Gunnery Sergeant Hartman (Full Metal Jacket) says during the riffle pray “There are many like it, but this one is mine”

Step 1: Material


Indeed there is many project like available on internet.

This one use a tilt switch as trigger

1 x Arduino board (http://shop.snootlab.com/lang-en/arduino/68-arduino-duemilanove.html)
7 x 500 ohms resitors ¼ W
7 x basic red leds
1 x 10 k ohms resitors ¼ W
1 x tilt switch (I use this one http://shop.snootlab.com/lang-en/parts/96-tilt-sensor.html)
A piece of prototyping board plated holes
Male header (0,1") 1 row, 40 pins (need only 28 for complet arduino connexion , and realy need 10 for this project) http://fr.mouser.com/ProductDetail/FCI/68004-236/?qs=sGAEpiMZZMtsLRyDR9nM10aphOtlQBeldG%252bobNTQj6E%3d

Tools

A PC to program the arduino
An soldering iron
Some tin
A cutter

Step 2: Prepare the Board

You have to cut the board to get a piece of about 21 x 18 holes (the hole spacing is 2,54 mm)
For this kind of board, just score with a sharp knife, place a metal ruler or similar on the top and snap it.

Then you have to solder the Male header.
First cut the male header in
2 pieces of 8 pins
2 pieces of 6 pins

Then, solder the Male header. Take care of the two 8 pins. They must be tilted to fit the arduino connectors. First, make a try with a single soldering point.

You can find instructable of this here =>https://www.instructables.com/id/Embarassingly-Easy-Arduino-ProtoShield/

and here https://www.instructables.com/id/Arduino-ProtoShield-from-quotHouseholdquot-Ite/

Step 3: Solder the Electronics Parts

Solder the 500 ohms resistors. They must be connected to the male header of the arduino pin 6 to 12

Solder the leds. The “upper” leds must be on the pin 6

Solder the tilt switch and the 10 kohms resistor.

With my tilt switch, I’m using only two pins (see picture)

Add some jumper wire… and finally it should looks like the last picture

Step 4: The Code

You can tune these parameters

If you use deferent pin for your leds or for your sensor
#define led1 6
#define led2 7
#define led3 8
#define led4 9
#define led5 10
#define led6 11
#define led7 12
#define sensorPin 2

Currently this code display two message : “SNOOTLAB” and “RULEZ”

The two messages are define in
char texte[] = "SNOOTLAB"; // data to write on startup
char texte2[] = "RULEZ"; // data to write after "repet" writing of the first message

The message changes after 10 displays. You can change this value here
#define repet 10 //number of repetition before changing message

Step 5: Enjoy



I think there is many way to improve this, by using interruption for example. For this purpose, I have connected the sensor on the pin 2 of the arduino of the external interruption.
If you made a think like this, please post this upgrade on instructable.

Share

    Recommendations

    • Spotless Contest

      Spotless Contest
    • Microcontroller Contest

      Microcontroller Contest
    • Space Challenge

      Space Challenge
    user

    We have a be nice policy.
    Please be positive and constructive.

    Tips

    Questions

    38 Comments

    If i am using a Hall Effect sensor, then do i need to change the code for sensor?

    Means how it triggers the change and the time delay?

    Hi Phil,,,, you did an excellent work...i want to try the same thing, but want to build it on a rotating base. Can you please guide me what changes i might need to do in the program?

    2 replies

    Hi bhawick55

    Thank you for your comment

    For a rotating base, I
    think this code can work without modification. The main modification is on the hardware part

    The tilt sensor can’t work
    on a rotating base because the centrifuge force will “stick” the ball in the
    tilt sensor

    The way to do that is an
    optical sensor, a REEL sensor or a hall effect sensor

    You can find some inspiration
    on this project è https://code.google.com/p/povglobe/

    Regards

    Thank you for your feedback, i will try to do it using a hall effect sensor, will let you know how it works.

    I built this project (on a breadboard for testing), and have come across two problems. 1. The led on pin 12 doesn't light up (I have checked that it works, and it works on the same pin in a different program). 2. I have tried changing the settings, but I can't get the text to show up, like it does in the video. I'm using an UNO, not a Duemilanove, if that makes any difference

    1 reply

    Hi, thank you for your
    interest for my project.

    Can you send me a picture
    of your breadbord ?

    About the arduino UNO or
    Duemilanove, I don't think it is important.

    The code doesn’t use any
    uno or duemilanove specific function

    About the led on the 12
    pin, this led is use with some char (like _, @ , j,...) but most of them doesn’t
    need the led on the pin 12.

    Take a look in the file
    font7x5.h. The char using the led 12 are like this one

    //106 j

    0b00010000,

    0b00000000,

    0b00110000,

    0b00010000,

    0b00010000,

    0b00010000,

    0b01100000,

    If the last
    line have some “1” the led 12 will lit

    You can found here an example of this setup on breadbord ==>

    http://forum.snootlab.com/viewtopic.php?f=32&t=142...

    Hello;

    What do you call error ?
    Error to download, ?
    Error to unzip ?
    Error in the Arduino IDE ?
    What is the error message ?

    Regards

    hello author,

    I really liked this project.

    I tried running this code and got the following errors. Can you please tell me what changes are to be made.
    Thanks in advance.

    ERRORS:-
    sketch_apr10a.ino:6:21: error: font7x5.h: No such file or directory

    sketch_apr10a.ino: In function 'void displayChar(char)':

    sketch_apr10a:97: error: 'charbook' was not declared in this scope

    3 replies

    In the file pov05.zip you have two files : font7x5.h and pov05.ino you have to put this two files in to the same directory (in arduino you have to name this directory "pov05")

    Let me know if it works

    Regards

    Hello again

    Thank you so much.

    I put these 2 files in the same directory. Its still showing an "error sketch_apr11a.ino:781:21: error: font7x5.h: No such file or directory"

    should i remove:- #include "font7x5.h"..?

    It strange because your error message talk about : sketch_apr11a.ino file

    You have to open the pov05.ino file with arduino and to copy the code from this file into the arduino ide.

    Please find below a step by step guide to do that

    1 - close all the windows of your Arduino IDE

    2 - download the pov05.zip file

    3 - unzip it in your skectchbook folder

    4 - be sure that the two files (font7x5.h and pov05.ino) are in a folder named pov05 at the root of your sketchbook folder

    5 - start arduino ide, now in the menu "file" => "skectchbook" you souhld have a item called pov05.

    6 - clic on pov05

    7 - enjoy

    please help me! pov05.ino is the arduino sketch. but what about the font7x5.h? where should I install the font?

    1 reply

    Copy the font7x5.h file in the same directory of the pov05.ino file. Thank you for your interest for my instructable.

    Voilà ma bricole >>>
    Merci d'avance

    Untitled Sketch.jpg_bb.jpgUntitled Sketch.jpg_bb.jpg
    1 reply

    Oups deux images !

    hi,
    I received all the materials needed for doing a similar pov :), i am on the soldering components part and i have a problem :s >>> how can the 500 ohms resistors be connected to pin 6 to 12 of arduino male header meanwhile it is occupied by
    two male header of 8 pins?
    Don't know if i have missed something to resolve that
    Thank you in advance!:)

    2 replies

    You have several ways to make that.
    The first way is to make a kind PCB trace like this http://www.niklasroy.com/images/ping/ping_04.jpg
    The second way is to solder the leg of the resistor on the 8 pin header
    I will post a picture of the back of my pcb with the two solution ASAP (maybe tomorrow)

    suggestion: 2 unnecessary dots can be removed by changing these lines

    for (a=0;afor (a=0;a
    to

    for (a=0;a<(sizeof(texte)-1);a++)
    for (a=0;a<(sizeof(texte2)-1);a++)