Système Technique Simple - BA3:Gavin Sobnack
Contents
Memento Mori
Note d'intention artistique
Memento Mori s'inspire directement des vanités, [1] œuvres dont l'objectif est de rappeler à l'homme sa finitude par l'utilisation de symboles forts renvoyant à la mort (crâne) ou à l'éphémère (fleurs, bougie…). Le titre, Memento Mori, est une locution latine parfois utilisée pour désigner les vanités et signifie [2] "souviens-toi que tu vas mourir". Le dispositif se compose d'un afficheur à segments LED avec un compte à rebours commençant à 79 minutes et 71 secondes, correspondant à 79.71 ans [3], la moyenne de l'espérance de vie à la naissance en Belgique tout sexe confondu. Le spectateur peut choisir de retarder le compte à rebours en appuyant sur un bouton à côté du compteur, mais ne peut l'arrêter : la mort peut être repoussée, mais reste inéluctable. D'autant plus que le spectateur perd de son propre temps en essayant en vain d'empêcher le décompte d'atteindre 0.
Synthèse technique détaillant la mise en oeuvre du dispositif technique choisi
- 1 Arduino Uno;
- 1 quadruple afficheur à 7 segments;
- 5 résistances 220 Ohm;
- 1 bouton pressoir;
- 23 câbles mâle-mâle;
Fritzing
Arduino
//LIBRAIRIES #include "SevSeg.h" //VARIABLES int buttonPin = A0; //PIN BOUTON //Etat du bouton int buttonState; int buttonCurrState; int lastButtonState = LOW; long lastDebounceTime = 0; // dernier long debounceDelay = 42; //délai SevSeg sevseg; //seven segment controller //SETUP void setup() { byte numDigits = 4; //nombre d'afficheurs byte digitPins[] = {10, 11, 12, 13}; //chiffres byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; //segments sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins); sevseg.setBrightness(90); //intensité des leds Serial.begin(9600); pinMode(buttonPin, INPUT); buttonState = analogRead(buttonPin); } //LOOP void loop() { //Timer buttonCurrState = analogRead(buttonPin); static unsigned long timer = millis(); static int deciSeconds = 7971; //countdown : if (millis() >= timer) { deciSeconds--; timer += 1000; // Reset : if (deciSeconds == 0) { delay(5000); deciSeconds = 7971; } } //Debouncing & incrémentation if (buttonCurrState != lastButtonState) { lastDebounceTime = millis(); //reset le timer pour le debouncing } //Vérifie si le delai est dépassé if ((millis() - lastDebounceTime) > debounceDelay) { // si l'état du bouton a changé : if (buttonCurrState != buttonState) { // Si le bouton est pressé, on incrémente le timer. if (buttonState == LOW) { deciSeconds++; } } } lastButtonState = buttonCurrState; sevseg.setNumber(deciSeconds, 4); sevseg.refreshDisplay(); // rafraichit l'affichage }
Références
[1] http://www.larousse.fr/encyclopedie/divers/vanit%C3%A9/100727
[2] https://fr.wikipedia.org/wiki/Memento_mori
[3] http://www.ined.fr ( respectivement http://www.ined.fr/devision2/dv_ExtractorGuide-rpc.php?cmd=PlotGraph&layout=Line&c%5B%5D=8&i%5B0%5D=6&i%5B1%5D=&doLabels=Y et http://www.ined.fr/devision2/dv_ExtractorGuide-rpc.php?cmd=PlotGraph&layout=Line&c%5B%5D=8&i%5B0%5D=7&i%5B1%5D=&doLabels=Y )