Ustensiles numériques

ArduinoHC-SR04

Cette année a été prédominé par une facette/tendance d’esprit, qu'on pourrait appeler la rumination (ou le perfectionnisme (lol )).  Me sentant bloquée par cette facette, j’ai voulu l’exprimer et la rendre utile en l’utilisant pour mon sujet d’inspiration créatif cette année.  Overthinking you know lol

Pour cela, j'ai imaginé une installation. Extérieurement composé en tissu (matière/médium/monde que je kiff) tendue par de la mousse polyuréthane (aspect toxique). À l’intérieur, un micro controller supporté par un Arduino, qui permettra de dicter au capteur ultrasonique «dès lors que quelque chose se rapprochera, tu augmenteras le volume de la bande sonore ». Il y a donc un DFplayer qui permettra cela.  Expérimenté en cours de programmation, l’Arduino m'a bien plus et me semble idéal.


J’établis donc que le projet pour ce cours d'ustensile numérique est de [ Diffuser une bande sonore qui augmente de volume lorsqu'on s'y rapproche  ]

reSources/recherche :

facile à comprendre et gratuit.


TT c recherche pour arriver à ca…

Matos :

  • Arduino (Arduino Uno)
  • Capteur de distance à ultrasons (HC-SR04) (plusieurs)
  • Module lecteur de carte SD (DFPlayer Mini)
  • micro carte SD <32gb (fat16/32)
  • Haut-parleur
  • Quelques fils de raccordement
  • Alimentation 5V
  • PC
  • (Bread bord)

Hardware: image_11-04-24_a_16.04.jpg Pour mon installation, 3 capteurs me semblent bien. Mais il est tt à fait possible d'en utiliser moins.

Software:

libraries;

code;

*kdoyeah.jpgtiens v2finito.zip (moyen des 3 HCSR04 pour la variation du volume) →ce code est devenu bancale, j'ai donc changé de librairie et fais autrement:

* New code #include <HCSR04.h> #include “DFRobotDFPlayerMini.h” #include <SoftwareSerial.h> SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5); #define FPSerial softSerial

DFRobotDFPlayerMini myDFPlayer;

HCSR04 hc(2, new int[3] {8, 9, 10}, 3); initialisation class HCSR04 (trig pin , echo pin, number of sensor) int ActVol = 0; int NewVol = 0; double distance_cm, distance_m; int samples = 3 ; boolean Debug = true ; void setup() { Serial.begin(9600); FPSerial.begin(9600); if (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) { Use serial to communicate with mp3.

  while (true) {
    delay(0);
  }
}
myDFPlayer.volume(0);  //Set volume value. From 0 to 30
myDFPlayer.loop(1);  //Play the first mp3
delay(2000);

}

void loop() {

// Lecture des distances des capteurs
float c1_distance = hc.dist(0) ;
float c2_distance = hc.dist(1) ;
float c3_distance = hc.dist(2) ;
if (c1_distance == 0.0 ) {
  c1_distance = 400;
}
if (c2_distance == 0.0 ) {
  c2_distance = 400;
}
if (c3_distance == 0.0 ) {
  c3_distance = 400;
}
//  Serial.print(c1_distance);
//  Serial.print(" / ");
//  Serial.print(c2_distance);
//  Serial.print(" / ");
//  Serial.println(c3_distance);
// Détermination de la distance minimale
float min_distance = min(c2_distance, min(c3_distance, c1_distance));
// Réglage du volume en fonction de la distance minimale
NewVol  = constrain(int(map(min_distance, 0, 350, 30, 1)), 1 , 25);
while (NewVol != ActVol) {
  Serial.print(min_distance);
  Serial.print(" / ");
  Serial.print(NewVol);
  Serial.print(" / ");
  if (NewVol - ActVol > 0) {
    ActVol++;
    Serial.println(ActVol);
  }
  else {
    ActVol--;
    Serial.println(ActVol);
  }
  
  myDFPlayer.volume(ActVol);
}
delay(100);                      // we suggest to use over 60ms measurement cycle, in order to prevent trigger signal to the echo signal.

}

Résultat;


Aussi non, ma premier idée pour ce cours étais d'apprendre à gérer le logiciel Clo3D, mais étant payant et ne trouvant aucun crack pour Mac M1, j'ai du laisser tomber, POUR L'INSTANT. :)


B1 2024 A.VDS