Télécharger le code pour écrire en arabe sur votre vélo

agit_pov_arabe

Le code original qui vient de Alan Kwok a été modifié par Sofian Audry.

Visitez le site github de Sofian Audry pour télécharger le code ici.

/// Español

El código original que proviene de Alan Kwok ha sido modificado por Sofian Audry.

Visita el sitio github de Sofian Audry para descargar el código aquí.

/// English

The original code that comes from Alan Kwok has been modified by Sofian Audry.

Visit the Sofian Audry github‘s site for download the code here.

Circuit et Code

Code pour arduino ( source ->arduino.cc/forum/index.php/topic,8859.0.html)

// 7 LED POV

// letter width. since i have 7 LED, then each letter would look like a 7 x 5 matrix
#define WIDTH 5

//library, each letter stored in hex number instead of bit, five hex numbers make a letter; hence each hex number represent a column of a letter.

const byte font [][WIDTH] =
{
{0x00, 0x00, 0x00, 0x00, 0x00}, //null
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //space
{0x00, 0x00, 0x5f, 0x00, 0x00}, //!
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x08, 0x08, 0x3e, 0x08, 0x08}, //+
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x40, 0x00, 0x00, 0x00, 0x00}, //.
{0x20, 0x10, 0x08, 0x04, 0x02}, //nul
{0x3e, 0x41, 0x41, 0x41, 0x3e}, // /
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x14, 0x14, 0x14, 0x14, 0x14}, //=
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x00, 0x02, 0x59, 0x09, 0x06}, //?
{0x00, 0x00, 0x00, 0x00, 0x00}, //nul
{0x7e, 0x09, 0x09, 0x09, 0x7e}, //A
{0x7f, 0x49, 0x49, 0x49, 0x36}, //B
{0x3e, 0x41, 0x41, 0x41, 0x22}, //C
{0x7f, 0x41, 0x41, 0x22, 0x1c}, //D
{0x7f, 0x49, 0x49, 0x49, 0x49}, //E
{0x7f, 0x09, 0x09, 0x09, 0x09}, //F
{0x7e, 0x41, 0x49, 0x49, 0x38}, //G
{0x7f, 0x08, 0x08, 0x08, 0x7f}, //H
{0x00, 0x41, 0x7f, 0x41, 0x00}, //I
{0x30, 0x40, 0x41, 0x7f, 0x01}, //J
{0x7f, 0x08, 0x14, 0x22, 0x41}, //K
{0x7f, 0x40, 0x40, 0x40, 0x40}, //L
{0x7f, 0x02, 0x04, 0x02, 0x7f}, //M
{0x7f, 0x02, 0x0c, 0x10, 0x7f}, //N
{0x3e, 0x41, 0x41, 0x41, 0x3e}, //O
{0x7f, 0x09, 0x09, 0x09, 0x06}, //P
{0x1e, 0x21, 0x21, 0x21, 0x5e}, //Q
{0x7f, 0x09, 0x19, 0x29, 0x46}, //R
{0x26, 0x49, 0x49, 0x49, 0x32}, //S
{0x01, 0x01, 0x7f, 0x01, 0x01}, //T
{0x3f, 0x40, 0x40, 0x40, 0x3f}, //U
{0x07, 0x38, 0x40, 0x38, 0x07}, //V
{0x3f, 0x40, 0x3f, 0x40, 0x3f}, //W
{0x63, 0x14, 0x08, 0x14, 0x63}, //X
{0x07, 0x08, 0x70, 0x08, 0x07}, //Y
{0x61, 0x51, 0x49, 0x45, 0x43} //Z
};

// nous aurons besoin de comparer le temps écoulé entre deux lectures du senseur reed

unsigned long oldmillis = 42;
unsigned long newmillis = 46;
unsigned long laps = 666;
unsigned long intervalle = 0;

//set up pin 0 – 7 as OUTPUT
void setup()
{

// Serial.begin(9600);

for (int k=0;k=0; i–)
{ for (int j=(WIDTH-1); j>=0; j–)
{ PORTD = font[(int)POVstring[i]-0][j]; delayMicroseconds(3000); }
PORTD = B00000000; delayMicroseconds(5050);
}
}

// you simply feed a string to display it. this code only allows capital letters. however, if you add characters or lowercases in the library above, it would also be able to display it. (but then it would minus a different number instead of 65 above)

void loop()
{

if ( analogRead(5)==1023 ) // ATTENTION! REEED REEED!!!

{

newmillis = millis();
// Serial.print(“old = “);
// Serial.println(oldmillis);
// Serial.print(“new = “);
// Serial.println(newmillis);
laps = newmillis-oldmillis;
oldmillis = newmillis;
// Serial.print(“rpm = “);
// Serial.println(laps);

intervalle = min(laps/3, 400);
//Serial.println(intervalle);
// Serial.println();
delay(intervalle);
display(“BONJOUR”); }
}