Outils pour utilisateurs

Outils du site


wiki:divers:preparation_are_2019

Préparation A.R.E. 2019

On souhaite mesurer la profondeur d'une tubulure étroite en y glissant un capteur pour un examen non destructif (contexte : il s'agit des alvéoles d'un hôtel à insectes que l'on veut suivre sans détruire les larves).

Idée : utiliser un capteur IR réflectif compact (SMD si possible ?). Le Vishay V69 CNY70 ne fait que 4mm de côté et est pas cher. C'est un bon point de départ.

On veut pouvoir faire des télérelevés : donc on veut une connectivité. Usage d'un M5 Stack. C'est un peu surdimensionné, mais bon. Par la suite, il faudra voir si on peut aussi contrôler 3 moteurs (avancer le capteur dans le tube, et positionner l'axe).

Bref.

On utilise deux résistances :

  • protection de la LED IR : 100 Ω
  • émetteur phototransistor : 56 kΩ

Les mesures obtenues par AnalogRead vont de 0 (capteur pointé vers le ciel) à 4095 (capteur au contact).

Le code :

#include <M5Stack.h>


unsigned long temps;
char affichage[12];
int sensorPin = 2;  
// the setup routine runs once when M5Stack starts up
void setup() {
  
  // initialize the M5Stack object
  M5.begin();
  pinMode(sensorPin,INPUT);

  // Lcd display

  M5.Lcd.fillScreen(BLACK);

  // text print
  M5.Lcd.fillScreen(BLACK);
  M5.Lcd.setCursor(10, 10);
  M5.Lcd.setTextColor(WHITE);
  M5.Lcd.setTextSize(1);
  M5.Lcd.printf("Started!");

 
}

// the loop routine runs over and over again forever
void loop(){
  int level;
  
  temps = millis();
  ltoa(temps,affichage,12);
  level = analogRead(sensorPin);
  M5.Lcd.setCursor(10, 10);
  M5.Lcd.printf(affichage);
  M5.Lcd.setCursor(10, 30);
  M5.Lcd.printf("%d",level);
  delay(1000);
  M5.Lcd.fillScreen(BLACK);
  M5.update();
}
wiki/divers/preparation_are_2019.txt · Dernière modification: 2019/01/09 17:14 de Christian Simon