— ENSCI – FabLab/FabFlex

Archive
Finition printer

 

Read More

 

Du design au FabLab

Le FabLab est un lieu de partage de connaissances mais aussi un laboratoire d’innovations technologiques. Il a donc été pour nous un lieu d’expérimentations pour comprendre l’électronique et surtout une opportunité pour apporter notre vision de designer dans un domaine où le design n’est pas considéré comme primordial.

Le FabLab nous a permis de démystifier la fabrication d’objets électroniques souvent conçus comme des « boîtes noires ». En ce sens, nous avons voulu faire projet autour de cette thématique. Comment concevoir un objet électronique de manière à le rendre accessible à tous, autant dans sa lisibilité que sa fabrication ? Dans un souci lié au cycle de vie de l’objet, nous nous sommes aussi intéressées à la matière papier pour limiter son impact sur l’environnement.

 

Nouveau regard sur le papier

Potentialité est une enceinte audio dont l’enveloppe et le variateur de volume sont en papier. Pour ce composant, nous avons utilisé le papier CansonÒ mi- teinte noir car, composé de carbone, il conduit l’électricité. Un large terrain d’innovations s’ouvre alors pour le papier, ici, ce matériau accessible et simple à travailler devient un réel capteur. Ce papier reste conducteur une fois imprimé, ceci ouvre différentes possibilités esthétiques. Cela peut se traduire par un nouveau regard sur les métiers d’art traditionnels autour du travail ornemental.

Par notre regard de designer, nous avons voulu porter une attention sur le confort d’usage de cet objet, le papier devient agréable au toucher par la réalisation de textures selon des méthodes simples comme le ponçage. La manipulation de l’objet devient intuitive grâce à sa surface sensible.

 

Rendre accessible

Une notice permet d’expliquer étape par étape la fabrication du composant en papier. Mais celui-ci reste libre à interpréter, pouvant servir d’interrupteur, de capteur…Les moules pour l’enceinte sont des formes développables ce qui permet de les réaliser en patronage sur du Polypropylène.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Code Arduino pour le variateur de volume :

 

#define BUTTON 0
#define TOTAL_BUTTONS 12
#define COMMUN_A 2
#define COMMUN_B 3
#define SENSITIVITY 6 // filtrage de signal, if > sensitivity = 1
#define LED_VOLUME 6
#define CS 4
#define SDI 5
#define CLK 6
 
 
byte buttonsPressed[TOTAL_BUTTONS];
byte buttonsReleased[TOTAL_BUTTONS];
 
byte *mapBouton[TOTAL_BUTTONS];
 
int vol = 0;
 
void setup() {
 
  Serial.begin(9600);
  Serial.println("started...");
 
  mapBouton[0] = &buttonsPressed[1];
  mapBouton[1] = &buttonsPressed[0];
  mapBouton[2] = &buttonsPressed[4];
  mapBouton[3] = &buttonsPressed[2];
  mapBouton[4] = &buttonsPressed[5];
  mapBouton[5] = &buttonsPressed[3];
  mapBouton[6] = &buttonsPressed[9];
  mapBouton[7] = &buttonsPressed[11];
  mapBouton[8] = &buttonsPressed[8];
  mapBouton[9] = &buttonsPressed[9];
  mapBouton[10] = &buttonsPressed[6];
  mapBouton[11] = &buttonsPressed[7];
 
  pinMode(CS, OUTPUT);
  pinMode(SDI, OUTPUT);
  pinMode(CLK, OUTPUT);
 
 
 
}
 
 
void loop() {
  boutonEvent();
  analogWrite(LED_VOLUME, vol);
 
 
}
 
void keyPressed() {
  //Serial.println("keyPressed");
 
 
 
  int volume = 0;
  for (int i=0; i<TOTAL_BUTTONS; i++) {
    //Serial.print(*mapBouton[i], DEC);
    //Serial.print(" ");
    if (*mapBouton[i]==1){
      volume = i;
      break;
    }
 
  }
  int v =  map(volume, 0,11, 0,255);
  vol = v;
 
 
  ///AD8400 digital potentiometer
  digitalWrite(SDI, LOW);
  digitalWrite(CLK, LOW);
  digitalWrite(CS, LOW);
 
 
  /// MESSAGE TO BE SENT
  //A0
  digitalWrite(CLK, HIGH);
  digitalWrite(CLK, LOW);
  //A1
  digitalWrite(CLK, HIGH);
  digitalWrite(CLK, LOW);
 
  shiftOut(SDI, CLK, MSBFIRST, vol);
  ///
 
  digitalWrite(CS, HIGH);
 
 
  //  analogWrite(LED_VOLUME, v);
  // Serial.println(v);
 
}
 
void keyReleased() {
 
 
 
}
 
 
void boutonEvent() {
 
  static boolean etat[TOTAL_BUTTONS];
  static int buff[TOTAL_BUTTONS];
  /// BUTTON
  boolean pressed = false;
  boolean released = false;
 
  pinMode(COMMUN_A, OUTPUT);
  digitalWrite(COMMUN_A, HIGH);
  buttonsPressed[0] = (analogRead(0) > SENSITIVITY) ? 1 : 0;
  buttonsPressed[1] = (analogRead(1) > SENSITIVITY) ? 1 : 0;
  buttonsPressed[2] = (analogRead(2) > SENSITIVITY) ? 1 : 0;
  buttonsPressed[3] = (analogRead(3) > SENSITIVITY) ? 1 : 0;
  buttonsPressed[4] = (analogRead(4) > SENSITIVITY) ? 1 : 0;
  buttonsPressed[5] = (analogRead(5) > SENSITIVITY) ? 1 : 0;
  digitalWrite(COMMUN_A, LOW);
  digitalWrite(COMMUN_A, INPUT);
 
  pinMode(COMMUN_B, OUTPUT);
  digitalWrite(COMMUN_B, HIGH);
  buttonsPressed[6] =  (analogRead(0) > SENSITIVITY) ? 1 : 0;
  buttonsPressed[7] =  (analogRead(1) > SENSITIVITY) ? 1 : 0;
  buttonsPressed[8] =  (analogRead(2) > SENSITIVITY) ? 1 : 0;
  buttonsPressed[9] =  (analogRead(3) > SENSITIVITY) ? 1 : 0;
  buttonsPressed[10] = (analogRead(4) > SENSITIVITY) ? 1 : 0;
  buttonsPressed[11] = (analogRead(5) > SENSITIVITY) ? 1 : 0;
  digitalWrite(COMMUN_B, LOW);
  digitalWrite(COMMUN_B, INPUT);
 
 
 
  /// desactivate multitouch
  int total = 0;
  for (int i=0; i<TOTAL_BUTTONS; i++) if(buttonsPressed[i] == 1) total++;
 
  if (total>1) for (int i=0; i<TOTAL_BUTTONS; i++) buttonsPressed[i] = 0;
  ////
 
 
  for (int i=0; i<TOTAL_BUTTONS; i++) {
 
    if (buttonsPressed[i]==1)  {
      pressed = true;
      // keyPressed();
    } 
    int val = buttonsPressed[i];
 
    if (buff[i]!=val) {
      if (val==1) etat[i] = true;
      if ((etat[i]==true) && (val==0)) {
        // Serial.println("click");
        etat[i] = false;
        /// WHEN RELEASE DO SOMETHING
        buttonsReleased[i] = 1;
        released = true;
        // keyReleased();
        ///
      }
      else {
        buttonsReleased[i] = 0;
      }
 
    }
    buff[i] = val;
  }
 
 
  if (pressed) keyPressed();
  if (released) keyReleased();
  /*
  for (int i=0; i<TOTAL_BUTTONS; i++)
   buttonsReleased[i] = 0;
   */
 
  ////// BUTTON RELEASE CODE
 
}
Read More


Premier test non concluant autour de la liaison entre pâte à papier neutre et pâte à papier conductrice. Les deux pâtes ont du mal à se lier entre elles…


Test de ponçage de la pâte à papier conductrice non concluant… le carbone n’est plus fixé dans la pâte, il s’étale.

Nous allons donc tenter de nouveaux essais avec de l’huile de lin qui est censé fixer le carbone dans la pâte, et réfléchir à des astuces pour lier les deux pâtes entre elles.
Nous allons également fabriquer une pâte à papier neutre et la charger en poudre de métal pour vérifier si elle devient conductrice, ceci éliminerait peut-être les problèmes du carbone qui s’échappe.

Read More

Read More

A venir, une petite vidéo montrant l’interaction entre le potentiomètre que l’on touche et le logiciel Arduino.

Read More

Essai d’un potentiomètre en papier permettant de régler le volume sur l’enceinte (ici, 8 paires de papier canson = 8 niveaux sonores). Utilisation de papier Canson noir (chargé en carbone donc conducteur), relié à la carte Arduino via un circuit en encre conductrice. Le code est le bon mais quelques problèmes au niveau des branchements. Un autre essai avec 12 niveaux sonores est en cours.

Read More

Prochains objectifs :

– travailler la forme de l’objet (et donc du moule) pour une optimisation de la qualité sonore et de l’incrustation des différents composants (enceintes, circuit, composants; capteurs…)

– développer un toucher « caresse » de l’objet, notamment pour les parties « usages » de l’objet (emplacement de capteurs pour variations du volume, des fréquences…)

Comment l’objet peut-il avoir une forme cohérente vis à vis de sa fonction, intuitive pour les usages qu’il propose (baisser/monter le son, changer de fréquence, éteindre, allumer…) et accessible (ne pas oublier que l’objet doit être pensé pour que tout le monde puisse le fabriquer.)

Read More

Read More

Read More

 

Read More