Photos atelier Agit P.O.V. en Tunisie

Atelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en Tunisie
Atelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en Tunisie
Atelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en Tunisie
Atelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en TunisieAtelier Agit P.O.V. en Tunisie

Atelier Agit P.O.V. en Tunisie, a set on Flickr.

Atelier qui s’est tenu pendant l’E-Fest et la rencontre “Crea Numerica” organisé par l’Organisation Internationale de la Francophonie, Novembre 2012.

Merci pour l’enregistrement audiovisuel: M. Salah Malouli et Abdo Nawar.

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”); }
}

(Petit Objet de Vélo)

Agit P.O.V (Petit Objet de Vélo) est un microprojet pour hacker votre vélo inspiré par l’effet d’optique POV ou persistance rétinienne, les pratiques de propagande active de l’avant-garde russe (AGIT Prop), et le projet SpokePOV de Limor Fried (LadyAda). Un modeste circuit de 12 DELs, un micro-contrôleur et une pile fixés aux rayons de la roue d’une bicyclette ainsi que la programmation adéquate et l’énergie du cycliste suffisent à illuminer la rue de votre message poético-politique. Nos vélos peuvent porter une voix poétique et créative, participant à l’agitation de la ville.
///
Agit P.O.V. (Petit Objet de Vélo) es un microhack para bicicletas que dependen del efecto de persistencia de visión (POV), las tácticas de propaganda del avant-garde ruso (AGIT Prop) y el Proyecto de SpokePOV por Limor Fried (Ladyada).
Un modesto circuito con 12 leds, un microcontrolador, una batería montada en la rueda de su bicicleta y la velocidad del ciclista es suficiente para iluminar las calles con mensajes poético-políticos. Nuestras bicicletas son vehículos que pueden llevar voz poética, creativa, y agitar la ciudad.
///
Agit P.O.V. (Petit Objet de Vélo) is a microhack for bicycles relying on the persistence of vision (POV) effect, the propaganda tactics of the russian avant-garde (AGIT Prop) and the SpokePOV Project by Limor Fried (LadyAda).
A modest 12 LED circuit, a microcontroller, and a battery mounted on your bicycle wheel and the speed of the cyclist suffice to illuminate the streets with your poetical-political message. Our bicycles are vehicles that can carry our poetic and creative voices and agitate the city.

POV_

Voici quelques images d’un projet qui utilise la persistence rétinienne pour afficher des messages sur les roues de vélo.  Je voudrais maintenant en réaliser des circuits imprimés afin de faciliter la réalisation du circuit.  Il utilise présentement un Arduino (facile de changer le message) mais c’est coûteux et peut-être ‘overkill’.  Contactez-moi si vous voulez vous impliquer.

acastonguay _at_ artengine _dot_ ca

Inspiration : LadyAda (Lemor Fried) (Spoke POV) et le code vient d’ici:

Module de solénoïde

Description Le module permet de contrôler jusqu’à 8 solénoïdes depuis un Arduino * Attention, il y a une limite de 400 ma par solénoïde
Auteur Christian Klippel
Fichiers GPL V3 solenoid.brd  l  solenoid.sch l  solenoid.bom solenoid.zip
Autres références et inspiration Roman Haefeli, solenoid concert http://www.youtube.com/watch?v=g_hiz-Kx0kM&NR=1
Contact pour vous procurer le module Alexandre Castonguay –> acastonguay _at_ artengine.ca

Christian Klippel –> c.klippel _at_ gmx.de

Licence GPL V2 et plus récente pour les fichiers .brd et .sch
Enregistré avec ohanda OHANDA