Created
March 8, 2013 11:32
-
-
Save carlosdelfino/5115852 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/***************** | |
By Param Aggarwal | |
www.feemo.in | |
AccPOV | |
Uses an accelerometer to sense when it is being waved in the air. | |
Uses Arduino Decimilia and Accelerometer and a custom made shield for the Arduino. | |
*******************/ | |
// Display goes on PORTD | |
// GS1 on 10 Sensitivity Selection pins | |
// GS2 on 11 +- 4g selected here | |
// SLEEP on 12 and active LOW | |
int GS1 = 10; | |
int GS2 = 11; | |
int SLEEP = 12; | |
int Y=0; // Temp | |
int p=0; //Temp | |
// Tells the microcontroller how to write letters. Little Kid. | |
// Taken from Sparkfun Library | |
int text_array[475] = { | |
0x00,0x00,0x00,0x00,0x00,/*space*/ // is 32 in ASCII | |
0x00,0xF6,0xF6,0x00,0x00,/*!*/ | |
0x00,0xE0,0x00,0xE0,0x00,/*"*/ | |
0x28,0xFE,0x28,0xFE,0x28,/*#*/ | |
0x00,0x64,0xD6,0x54,0x08,/*$*/ | |
0xC2,0xCC,0x10,0x26,0xC6,/*%*/ | |
0x4C,0xB2,0x92,0x6C,0x0A,/*&*/ | |
0x00,0x00,0xE0,0x00,0x00,/*'*/ | |
0x00,0x38,0x44,0x82,0x00,/*(*/ | |
0x00,0x82,0x44,0x38,0x00,/*)*/ | |
0x88,0x50,0xF8,0x50,0x88,/***/ | |
0x08,0x08,0x3E,0x08,0x08,/*+*/ | |
0x00,0x00,0x05,0x06,0x00,/*,*/ | |
0x08,0x08,0x08,0x08,0x08,/*-*/ | |
0x00,0x00,0x06,0x06,0x00,/*.*/ | |
0x02,0x0C,0x10,0x60,0x80,/*/*/ | |
0x7C,0x8A,0x92,0xA2,0x7C,/*0*/ | |
0x00,0x42,0xFE,0x02,0x00,/*1*/ | |
0x42,0x86,0x8A,0x92,0x62,/*2*/ | |
0x44,0x82,0x92,0x92,0x6C,/*3*/ | |
0x10,0x30,0x50,0xFE,0x10,/*4*/ | |
0xE4,0xA2,0xA2,0xA2,0x9C,/*5*/ | |
0x3C,0x52,0x92,0x92,0x0C,/*6*/ | |
0x80,0x86,0x98,0xE0,0x80,/*7*/ | |
0x6C,0x92,0x92,0x92,0x6C,/*8*/ | |
0x60,0x92,0x92,0x94,0x78,/*9*/ | |
0x00,0x00,0x36,0x36,0x00,/*:*/ | |
0x00,0x00,0x35,0x36,0x00,/*;*/ | |
0x10,0x28,0x44,0x82,0x00,/*<*/ | |
0x28,0x28,0x28,0x28,0x28,/*=*/ | |
0x00,0x82,0x44,0x28,0x10,/*>*/ | |
0x40,0x80,0x8A,0x90,0x60,/*?*/ | |
0x7C,0x82,0xBA,0xBA,0x62,/*@*/ | |
0x3E,0x48,0x88,0x48,0x3E,/*A*/ | |
0xFE,0x92,0x92,0x92,0x6C,/*B*/ | |
0x7C,0x82,0x82,0x82,0x44,/*C*/ | |
0xFE,0x82,0x82,0x82,0x7C,/*D*/ | |
0xFE,0x92,0x92,0x92,0x82,/*E*/ | |
0xFE,0x90,0x90,0x90,0x80,/*F*/ | |
0x7C,0x82,0x82,0x8A,0x4E,/*G*/ | |
0xFE,0x10,0x10,0x10,0xFE,/*H*/ | |
0x82,0x82,0xFE,0x82,0x82,/*I*/ | |
0x84,0x82,0xFC,0x80,0x80,/*J*/ | |
0xFE,0x10,0x28,0x44,0x82,/*K*/ | |
0xFE,0x02,0x02,0x02,0x02,/*L*/ | |
0xFE,0x40,0x20,0x40,0xFE,/*M*/ | |
0xFE,0x60,0x10,0x0C,0xFE,/*N*/ | |
0x7C,0x82,0x82,0x82,0x7C,/*O*/ | |
0xFE,0x90,0x90,0x90,0x60,/*P*/ | |
0x7C,0x82,0x82,0x86,0x7E,/*Q*/ | |
0xFE,0x90,0x98,0x94,0x62,/*R*/ | |
0x64,0x92,0x92,0x92,0x4C,/*S*/ | |
0x80,0x80,0xFE,0x80,0x80,/*T*/ | |
0xFC,0x02,0x02,0x02,0xFC,/*U*/ | |
0xF8,0x04,0x02,0x04,0xF8,/*V*/ | |
0xFC,0x02,0x0C,0x02,0xFC,/*W*/ | |
0xC6,0x28,0x10,0x28,0xC6,/*X*/ | |
0xC0,0x20,0x1E,0x20,0xC0,/*Y*/ | |
0x86,0x8A,0x92,0xA2,0xC2,/*Z*/ | |
0x00,0x00,0xFE,0x82,0x00,/*[*/ | |
0x00,0x00,0x00,0x00,0x00,/*this should be / */ | |
0x80,0x60,0x10,0x0C,0x02,/*]*/ | |
0x20,0x40,0x80,0x40,0x20,/*^*/ | |
0x01,0x01,0x01,0x01,0x01,/*_*/ | |
0x80,0x40,0x20,0x00,0x00,/*`*/ | |
0x04,0x2A,0x2A,0x2A,0x1E,/*a*/ | |
0xFE,0x12,0x22,0x22,0x1C,/*b*/ | |
0x1C,0x22,0x22,0x22,0x14,/*c*/ | |
0x1C,0x22,0x22,0x12,0xFE,/*d*/ | |
0x1C,0x2A,0x2A,0x2A,0x18,/*e*/ | |
0x10,0x7E,0x90,0x80,0x40,/*f*/ | |
0x18,0x25,0x25,0x25,0x1E,/*g*/ | |
0xFE,0x10,0x10,0x10,0x0E,/*h*/ | |
0x00,0x12,0x5E,0x02,0x00,/*i*/ | |
0x02,0x01,0x01,0x11,0x5E,/*j*/ | |
0xFE,0x08,0x08,0x14,0x22,/*k*/ | |
0x00,0x82,0xFE,0x02,0x00,/*l*/ | |
0x3E,0x20,0x1C,0x20,0x1E,/*m*/ | |
0x3E,0x20,0x20,0x20,0x1E,/*n*/ | |
0x1C,0x22,0x22,0x22,0x1C,/*o*/ | |
0x3F,0x24,0x24,0x24,0x18,/*p*/ | |
0x18,0x24,0x24,0x3F,0x01,/*q*/ | |
0x3E,0x10,0x20,0x20,0x10,/*r*/ | |
0x12,0x2A,0x2A,0x2A,0x04,/*s*/ | |
0x00,0x10,0x3C,0x12,0x04,/*t*/ | |
0x3C,0x02,0x02,0x02,0x3E,/*u*/ | |
0x30,0x0C,0x02,0x0C,0x30,/*v*/ | |
0x38,0x06,0x18,0x06,0x38,/*w*/ | |
0x22,0x14,0x08,0x14,0x22,/*x*/ | |
0x38,0x05,0x05,0x05,0x3E,/*y*/ | |
0x22,0x26,0x2A,0x32,0x22,/*z*/ | |
0x00,0x10,0x6C,0x82,0x82,/*{*/ | |
//0x00,0x00,0xFF,0x00,0x00,/*|*/ | |
0x04,0x02,0xFF,0x02,0x04,/*|, arrow*/ | |
0x82,0x82,0x6C,0x10,0x00,/*}*/ | |
0x08,0x10,0x18,0x08,0x10/*~*/ | |
}; | |
// Displays the text | |
void display(char c) | |
{ | |
int i = (c - 32)*5; | |
for ( int temp = i; temp < i + 5; temp++ ) { | |
PORTD = text_array[temp]; delayMicroseconds(500); | |
PORTD = 0x00; delay(3); | |
} | |
PORTD = 0x00; delay(3); | |
} | |
void setup() | |
{ | |
pinMode(0,OUTPUT); // Set display as OUTPUT | |
pinMode(1,OUTPUT); | |
pinMode(2,OUTPUT); | |
pinMode(3,OUTPUT); | |
pinMode(4,OUTPUT); | |
pinMode(5,OUTPUT); | |
pinMode(6,OUTPUT); | |
pinMode(7,OUTPUT); | |
pinMode(8,OUTPUT); | |
pinMode(9,OUTPUT); | |
pinMode(10,OUTPUT); | |
pinMode(11,OUTPUT); | |
pinMode(12,OUTPUT); | |
pinMode(13,OUTPUT); | |
digitalWrite(GS1,HIGH); // Sensitivity Select | |
digitalWrite(GS2,LOW); | |
digitalWrite(SLEEP,HIGH); // Don't let the Accelerometer sleep !!! | |
} | |
void loop() | |
{ | |
Y = analogRead(1); // Read the sensor... | |
if ( Y > 650) | |
{ | |
p++; | |
if(p=2) // Take alternate acceleration... | |
{ | |
p=0; | |
delay(60); // Wait a moment before starting | |
display('P'); // Paaaaraaammm... | |
display('a'); | |
display('r'); | |
display('a'); | |
display('m'); | |
display(':'); | |
display('-'); | |
display(')'); | |
display(' '); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment