Ceci est une ancienne révision du document !
Dans le cadre d'une édition jeunesse, l'objectif est de réaliser un livre interactif afin de susciter la manipulation et de rendre acteur l'enfant. À l'aide d'un capteur de pression dissimulé dans une page, des sons et/ou formes seront générés sur Processing lorsque l'enfant appuieras sur celui-ci. Ces sons et/ou formes pourront varier en intensité (sonore / taille de la forme / couleur) ou bien se multiplier en fonction de la force transmise sur le capteur.
. Programme Arduino : faire varier l'intensité d'une led
int fsrAnalogPin = 0; / FSR connecté a A0
int LEDpin = 11; / D11 pate de la LED
int fsrReading; / lecture du capteur FSR
int LEDbrightness;
void setup() {
// déclare ledPin comme une sortie numérique Serial.begin(9600); // ouverture du port série pinMode(LEDpin, OUTPUT);
}
void loop() {
fsrReading = analogRead(fsrAnalogPin); Serial.print("Analog reading = "); Serial.println(fsrReading);
/ Degrès d'intentsité de la luminosité de la LED
LEDbrightness = map(fsrReading, 0, 1023, 0, 255); // La LED devient plus brillante lorsqu'on appuie plus fort analogWrite(LEDpin, LEDbrightness);
delay(100); }
. Programme Arduino : Variation forme graphique
int firstSensor = 0; / first analog sensor
int inByte = 0; / incoming serial byte
void setup() {
// start serial port at 9600 bps: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only }
pinMode(2, INPUT); // digital sensor is on digital pin 2 establishContact(); // send a byte to establish contact until receiver responds
}
void loop() {
// if we get a valid byte, read analog ins: if (Serial.available() > 0) { // get incoming byte: inByte = Serial.read(); // read first analog input, divide by 4 to make the range 0-255: firstSensor = analogRead(A0)/4; // send sensor values: Serial.write(firstSensor); delay(10); // patienter 10ms (à voir...) }
}
void establishContact() {
while (Serial.available() <= 0) { Serial.print('A'); // send a capital A delay(300); }
}