Détecteur de hauteur

Détecteur de hauteur

Tous les deux intéressés par le son, et dans un contexte où les portiques de sécurité deviennent routiniers, nous avons décidé de de créer notre propre système de détection.

Le principe, c’est qu’en fonction de la personne qui passe la porte, le son change. Le sonar, capteur de distance assez précis, nous permettait de faire varier les données à chaque fois que quelqu’un passait la porte.

Pour interpréter les chiffres du sonar, nous avons utilisé un outil existant dont nous avons basculé la bibliothèque dans arduino : http://www.maxbotix.com/Arduino-Ultrasonic-Sensors-085/

Le code a été développé grâce au plug-in Mozzi sur Arduino, la valeur de la fréquence change en fonction des données du capteur : http://sensorium.github.io/Mozzi/

Code :

#include
#include // oscillator
#include <tables/sin2048_int8.h> // table for Oscils to play
#include

// increase the rate of updateControl from the default of 64, to catch the piezo's rapid transients
#define CONTROL_RATE 256

const int PIEZO_PIN = 3; // set the analog input pin for the piezo

// use: Oscil <table_size, update_rate> oscilName (wavetable), look in .h file of table #included above
Oscil <SIN2048_NUM_CELLS, AUDIO_RATE> aSin(SIN2048_DATA);

void setup(){
//Serial.begin(9600); // for Teensy 3.1, beware printout can cause glitches
Serial.begin(115200); // set up the Serial output so we can look at the piezo values // set up the Serial output so we can look at the piezo values
startMozzi(CONTROL_RATE); // :)) use the control rate defined above
}

void updateControl(){
// read the piezo
int piezo_value = mozziAnalogRead(PIEZO_PIN); // value is 0-1023

// print the value to the Serial monitor for debugging
Serial.print("piezo_value = ");
Serial.print(piezo_value);
Serial.print("\t \t"); // prints 2 tabs

int frequency = 60000/(piezo_value); // calibrate

// print the frequency to the Serial monitor for debugging
Serial.print("frequency = ");
Serial.print(frequency);

// set the frequency
aSin.setFreq(frequency);

Serial.println(); // next line
}

int updateAudio(){
return aSin.next();
}

void loop(){
audioHook();
}

 

Les données métrique sont assez précises pour pouvoir mesurer des distance de quelques millimètres.

A gauche l’arduino et à droite le sonar

Pour l’aspect visuel, nous nous sommes inspiré des objets de sécurité du couloir.

Dessin et mesures pour que la boîte tienne sur l’encadrure

Création du patron sur InDesign et découpe au plotter

Comme un gant !

Premier test, ça avance from Studio Objet Augmente on Vimeo.

[à venir, vidéo de l’essai collectif du Détecteur de Hauteur]