« Art Sciences 2023/2024 E9 » : différence entre les versions

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 174 : Ligne 174 :
A la suite de cette semaine de travail, il restera à commander 2 capteurs de température TMP36 et à les installer : le premier sera à installer en contact avec la résistance chauffante (au point où la tempréature est la plus élevée), et le second en contact direct avec le granit.  
A la suite de cette semaine de travail, il restera à commander 2 capteurs de température TMP36 et à les installer : le premier sera à installer en contact avec la résistance chauffante (au point où la tempréature est la plus élevée), et le second en contact direct avec le granit.  


//code
<syntaxhighlight>
#define RELAIS 6
#define TMP1 0
#define TMP2 1
 
 
int temperature_ascendante = 1;
 
 
void setup() {
  Serial.begin(9600);
 
 
  pinMode(RELAIS, OUTPUT);
}
 
 
void loop() {
 
 
  int reading1 = analogRead(TMP1);
  float volt1 = reading1 * 5.0;
  volt1 = volt1 / 1024.0;
  float temperature1 = (volt1 - 0.5) * 100 ;
  Serial.println("Temperature TMP1 = " + String(temperature1)+" °C");
 
 
  int reading2 = analogRead(TMP2);
  float volt2 = reading2 * 5.0;
  volt2 = volt2 / 1024.0;
  float temperature2 = (volt2 - 0.5) * 100 ;
  Serial.println("Temperature TMP2 = " + String(temperature2)+" °C");
 
 
  if (temperature_ascendante) {
    if (temperature1<34.0) {
      if (temperature2<50.0) {
        digitalWrite(RELAIS, HIGH);
        temperature_ascendante = 1;
      } else {
        digitalWrite(RELAIS, LOW);
        temperature_ascendante = 0;
      }
    } else {
      digitalWrite(RELAIS, LOW);
      temperature_ascendante = 0;
    }
  } else {
    if (temperature1<32.0) {
      if (temperature2<45.0) {
        digitalWrite(RELAIS, HIGH);
        temperature_ascendante = 1;
      } else {
        digitalWrite(RELAIS, LOW);
        temperature_ascendante = 0;
      }
    } else {
      digitalWrite(RELAIS, LOW);
      temperature_ascendante = 0;
    }
  }
 
 
  delay(10000);
}
</syntaxhighlight>
 


Le code permet donc de ...
Le code permet donc de ...

Version du 26 janvier 2024 à 09:50

Quando me junta a otra vida

Et si la dictature de Salazar n'avait jamais vu le jour, quelles transformations auraient marqué la topographie portugaise ?

"Quando me junta a outra vida" est une installation multimédia immersive qui plonge les spectateurs au cœur d'une narration uchronique explorant la migration portugaise des années 1960 dans un monde où la dictature de Salazar n'a jamais exercé son influence. Cette pièce propose une réflexion qu’en à l'impact potentiel de ce "et si" sur la topographie et l'histoire de la de la région du parc du Gerês (Nord, Portugal).

Inspirée par la tradition de l'uchronie de Philip K.Dick, "Quando me junta a outra vida" offre une expérience cryptique et contemplative. Cette œuvre propose une narration sur une perspective géologique, incarnée par une imposante pierre de granite. Témoin silencieux des mondes révolus, des mondes liminaux, des changements des mondes, la pierre devient le conteur de ces réalités alternatives.

L'installation s'articule autour de la présence évocatrice de cette pierre, érigée en symbole de continuité et de mémoire. Avant l'arrivée de l'homme, la pierre a observé les mouvements des populations, les transformations de paysages, et les évolutions du monde. Ainsi, elle dévoile au spectateur les récits et les scénarios des uchronies qu'elle a vu, c’est en déplaçant sa main sur cette pierre que le spectateur déplace le personnage dans cet environnement simulé.

"Quando me junta a outra vida" transcende la narration traditionnelle linéaire, chacun des chemins empruntés par le spectateur permet de dévoiler une partie d’une narration à embranchement multiple. Cette œuvre explore l'idée que chaque "et si" génère une multitude de réalités alternatives, ouvrant ainsi la voie à une infinité de possibilités narratives.

Prist2024.png Capture d'écran.png

Présentation du projet

Pour cette semaine de PRIST, nous sommes un groupe composé de Thomas Ferreira (Ecole Supérieure d’art), Karl Habre (Polytech, SE) et Cécile Prieur (Polytech, IS).

L’objectif de la semaine quant à l’avancement de ce projet est de nous concentrer sur la partie de chauffe de la plaque de granit, afin d'offrir à l’utilisateur une expérience plus immersive lors du mouvement du personnage.

Pour cela, nous avons mis au point un plan d’action du travail de notre semaine, comme décrit ci-dessous dans notre diagramme de Gantt :

Gantt Chart.jpg

Journal de bord résumé
Lundi Mardi Mercredi Jeudi Vendredi
Journée à l'Esä Recherche du matériel nécessaire et calculs;commande et récupération d’une partie du matériel. Test d'allumage du câble chauffant (branchements et tests) Assemblage du matériel : codage et réalisation des différents tests de chauffe du granit avec notre dispositif. Finalisation du projet et présentation finale du projet.

Déroulement du projet

0- Modélisation

Pour la chauffe de la plaque de granit, nous avons choisi d'utiliser un câble chauffant déposé sous la plaque de granit, et sur une plaque d'isolant afin de minimiser les pertes de chaleur. Nous avons également prévu d'utiliser un système arduino afin de moduler la chauffe de la plaque de granit pour qu'elle reste ensuite stable aux alentours de 36 degrés.

Voici ci-dessous la modélisation prévisionnelle du projet :

Modélisation prévisionnelle
Modélisation

1- Calculs et commande du matériel

Avant de commander le matériel nécessaire au projet, nous avons commencé par effectuer des calculs afin d'estimer le temps de chauffe en fonction de la puissance du câble chauffant.

Voici les calculs effectués :

masse volumique du granit : 2650kg/m3 = ρ

Capacité thermique : 790 J/g.K = Cp

Conductivité thermique : 3,2 W/mK

Taille de la plaque de granite : 60x30x3cm = V

masse de notre granit : ρxV=   14,31 kg = M

Température ambiante : 15°C = t1

Température cible : 36°C = t2

Temps de chauffe : 1h = T

Puissance de chauffe  : Pch​= (M×Cp​×(t2​−t1​)×1,2)​/(860×T) = (14,31×0,79×(38−20)×1,2)/860×1=0,29 kW

Sans prendre en compte les pertes, cela signifie qu'avec une puissance de chauffe de 300 Watts, il faudrait 1h pour passer d'une température de granit de 15°C à 36°C.

Suite à cela, nous avons effectué la commande du matériel suivant :

Matériel commandé
Matériel
lien du câble chauffant / lien du relais / lien de l'isolant / lien du thermomètre LM35D / Rallonge électrique
Granit.jpg Isolant.jpg
Granit et isolant

2- Installation électrique

Nous avons dans un premier temps dénudé la rallonge électrique pour pouvoir la relier au câble chauffant. Ce dernier étant déjà dénudé il nous manquait plus qu'à les raccorder ensemble.

Cable3.jpg Cable5.jpg Cable4.jpg Cable2.jpg

Pour ce faire, nous nous sommes servis d'un côté d'une gaine thermorétractable et de l'autre côté du relais. Nous avons placé ce relai dans un boîtier isolant pour des raisons de sécurité, notamment dû au fait que nous faisions passer du courant en 230V.

Relais
Relais placé dans le boîtier isolant


Nous avons finalement pu tester notre installation en branchant le relais sur une alimentation, permettant de vérifier avec certitude le bon fonctionnement et le courant tiré par le relai. De plus, nous avons branché la prise de la rallonge électrique sur un transformateur de sécurité par précaution.

Cable9.jpg Cable10.jpg Cable7.jpg
Tests de la chauffe du câble à l'aide d'un transformateur de sécurité et d'un générateur de tension

Les tests se sont avérés concluants, puisque nous avons réussi à faire chauffer le câble et avons pu vérifier que le courant tiré du côté de la source de tension n'excédait pas les 10mA (pour pouvoir être relié à un Arduino).


3- Assemblage du matériel

Assemblage4.jpg Assemblage2.jpg Assemblage3.jpg

Nous avons placé le câble chauffant en lignes consécutives sur l'isolant afin que le granit chauffe de manière diffuse. Pour cela, nous avons creusé l'isolant afin que le câble soit maintenu, et que le granit soit stable en reposant directement sur l'isolant.

Cable12.jpg Cable13.jpg
Rendu final du dispositif de chauffe du granit

4- Codage

Voici le codage arduino final réalisé (correspondant au troisième test final, voir la partie 5-2)

// Capteur de temperature et d'humidite DHT11
// https://tutoduino.fr/
// Copyleft 2020
#include "DHT.h"
// Definit la broche de l'Arduino sur laquelle la 
// broche DATA du capteur est reliee 
#define DHTPIN 2
#define RELAIS 6
// Definit le type de capteur utilise
#define DHTTYPE DHT11
// Declare un objet de type DHT
// Il faut passer en parametre du constructeur 
// de l'objet la broche et le type de capteur
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  Serial.begin(9600);

  pinMode(RELAIS, OUTPUT);
  // Initialise la capteur DHT11
  dht.begin();
}
void loop() {
  // Recupere la temperature et l'humidite du capteur et l'affiche
  // sur le moniteur serie
  Serial.println("Temperature = " + String(dht.readTemperature())+" °C");
  Serial.println("Humidite = " + String(dht.readHumidity())+" %");
  if (dht.readTemperature()<34) {
    digitalWrite(RELAIS, HIGH);
    delay(20000);
    digitalWrite(RELAIS, LOW);
    delay(30000);
  } else {
    digitalWrite(RELAIS, LOW);
    delay(40000);
  }


  // Attend 10 secondes avant de reboucler
  delay(10000);
}

Ce programme permet d'allumer ou éteindre le câble chauffant en fonction de la température mesurée avec un capteur de température de type DHT11. Lorsque la pierre est trop froide, l'Arduino va refermer le circuit, mais que sur deux courtes durées suffisamment espacées pour éviter un phénomène de surchauffe.

5- Tests et finalisation

Nous avons réalisé différents tests afin de vérifier le bon fonctionnement de notre projet :

5-1- Premier test

Test2.jpg Test3.jpg Test1.jpg

Lors du premier test, nous avons pu chauffer le granit, cependant au bout de quelques minutes, la température du câble ayant dépassé les 90 degrés, cela a fait fondre l'isolant dégageant une odeur. En soulevant le granit, nous avons découvert que le câble avait traversé les 2 couches de l'isolant. De plus, le délai de chauffe du granit a été beaucoup plus rapide que prévu, ainsi nous avons fait une erreur dans le calcul initial, sachant de plus que le calcul initial prenait en compte un câble de 300 watts, alors que nous n'avions pu commander qu'un câble de 200 watts.

Test4.jpg Test5.jpg Test6.jpg
Isolant fondu

Ainsi suite à cette première mauvaise expérience, nous avons choisi pour un second test de modifier le code afin que le câble chauffe progressivement en s'arrêtant en alternance, afin d'éviter le fait d'atteindre une température aussi haute du câble responsable de la fonte de l'isolant, et que la chauffe du granit se fasse plus progressivement et plus lentement.

Nous avons également choisi de ne pas encastrer le câble chauffant dans l'isolant afin d'éviter les risques de fonte de celui-ci (en le scotchant directement à l'isolant), ainsi que de ne pas isoler les cotés afin d'aérer le système et éviter ainsi la surchauffe.

5-2- Second test

Nous avons fait des tests de sécurité lors de ce second test, en vérifiant le bon fonctionnement globa, les différentes tensions, et également que l'on ne dépassait pas la température de fonte de l'isolant.

Secondtest2.jpg

5-3 Troisième test

Lors de ce test final, nous avons vérifié le code définitif sur une longue durée. L'isolant n'a pas fondu, le granit a chauffé en atteignant plus d'une trentaine de degrés en 1h environ.

Secondtest.jpg
Dispositif à la fin de la semaine

Conclusion

En conclusion, nous avons réussi à mener à bien le projet. Le granit chauffe de manière diffuse et atteint les 36 degrés. Cependant nous n'avons pas encore programmé le dispositif de capteur de chaleur pour faire en sorte que la température du granit se régule autour des 36 degrés.

Ouverture

A la suite de cette semaine de travail, il restera à commander 2 capteurs de température TMP36 et à les installer : le premier sera à installer en contact avec la résistance chauffante (au point où la tempréature est la plus élevée), et le second en contact direct avec le granit.

#define RELAIS 6
#define TMP1 0
#define TMP2 1


int temperature_ascendante = 1;


void setup() {
  Serial.begin(9600);


  pinMode(RELAIS, OUTPUT);
}


void loop() {


  int reading1 = analogRead(TMP1);
  float volt1 = reading1 * 5.0;
  volt1 = volt1 / 1024.0;
  float temperature1 = (volt1 - 0.5) * 100 ;
  Serial.println("Temperature TMP1 = " + String(temperature1)+" °C");


  int reading2 = analogRead(TMP2);
  float volt2 = reading2 * 5.0;
  volt2 = volt2 / 1024.0;
  float temperature2 = (volt2 - 0.5) * 100 ;
  Serial.println("Temperature TMP2 = " + String(temperature2)+" °C");


  if (temperature_ascendante) {
    if (temperature1<34.0) {
      if (temperature2<50.0) {
        digitalWrite(RELAIS, HIGH);
        temperature_ascendante = 1;
      } else {
        digitalWrite(RELAIS, LOW);
        temperature_ascendante = 0;
      }
    } else {
      digitalWrite(RELAIS, LOW);
      temperature_ascendante = 0;
    }
  } else {
    if (temperature1<32.0) {
      if (temperature2<45.0) {
        digitalWrite(RELAIS, HIGH);
        temperature_ascendante = 1;
      } else {
        digitalWrite(RELAIS, LOW);
        temperature_ascendante = 0;
      }
    } else {
      digitalWrite(RELAIS, LOW);
      temperature_ascendante = 0;
    }
  }


  delay(10000);
}


Le code permet donc de ...