Besoin d'aide Potentiometre change la valeur du threshold

Besoins d'aide. J'ai un détecteur d'éclairs pour ma camera. J'aimerais ajouter un potentiometre pour modifier le threshold (sensibilité du capteur) mais je n'y arrive pas. voici le code sans pot.Merci!


#define SHUTTER_PIN 2
#define LIGHTNING_TRIGGER_ANALOG_PIN 0
#define TRIGGER_THRESHHOLD 20


int lightningVal;

void setup()
{
  pinMode(SHUTTER_PIN, OUTPUT);
  digitalWrite(SHUTTER_PIN, LOW);
  Serial.begin(9600); // open serial

  lightningVal = analogRead(LIGHTNING_TRIGGER_ANALOG_PIN);
}

void loop()
{

  int cmd;
  int newLightningVal = analogRead(LIGHTNING_TRIGGER_ANALOG_PIN);
  Serial.println(lightningVal, DEC);
    
  if (abs(newLightningVal - lightningVal) > TRIGGER_THRESHHOLD)
  {
    digitalWrite(SHUTTER_PIN, HIGH);
    delay(1000); // May want to adjust this depending on shot type
    digitalWrite(SHUTTER_PIN, LOW);
    Serial.println("Shutter triggered");
  }

  lightningVal = newLightningVal;
}

Bonjour myrador

C'est quoi comme Arduino?
Si c'est un "standard", il faut changer:

#define LIGHTNING_TRIGGER_ANALOG_PIN 0
en
#define LIGHTNING_TRIGGER_ANALOG_PIN A0

image

Cordialement
jpbbricole

Hello, c'est une bonne idée, mais une LDR a t'elle un temps de réponse suffisamment rapide pour un éclair?

Pourquoi suppose tu que son capteur d'éclaire pour son appareille photo contient une LDR ?

Hello, il n'est pas question du capteur du boîtier, regarde le schéma plus haut.

Bonjour dfgh

J'ai pris ce schéma, juste pour illustrer ma réponse, il est vrai que dans le contexte d'une capture d'éclaires l'illustration est un peu "maladroite" :woozy_face:

Cordialement
jpbbricole

Sur le principe, mais sans connaitre l'ensemble de ton montage, tu prends un potentiomètre entre Vcc et GND et point milieu sur une entrée analogique.

La lecture de cette entrée (dans le loop() ) te donnera une valeur entre 0 et 1023

Tu tritures ensuite cette valeur pour la transformer en une valeur compatible avec les valeurs possibles pour TRIGGER_THRESHHOLD (qu'il faut bien évidement transformer en variable !)

Non, regarde plutôt la description de @myrador, il n'indique pas que son capteur d'éclaire est à base de LDR.

@myrador peut tu décrire ce que tu entends par ça ne marche pas?
Quels sont les valeurs que tu obtiens ?
Pourquoi réinitialise tu lightningVal avec la valeur lu à chaque lecture.
Pourquoi utilise tu la valeur absolue de la différence, tu veux prendre une photo, lorsque l'éclaire s'arrête ?

Juste une remarque en passant, s'il s'agit de faire des photos de chasseur d'orage (j'adore) il y a une solution entièrement logicielle (mais pas avec arduino) : un raspeberry pi, une caméra et le logiciel motion. Il filme en continu mais ne conserve que les images où il y a suffisamment (paramétrable) de variations de l'image : typiquement un éclair la nuit.

Avantage : tu as quelques (paramétrable) secondes d'images avant l'éclair qui sont conservés. De quoi avoir des images des précurseurs et traceurs.

:laughing: :smiley:
tu lis en diagonale, ce qui t'induis en erreur parfois.
terminé pour moi.

Oh, vous vous écharpez sur des détails que seul l'auteur de la demande connait.

Encore une fois la qualité de la ou des réponses dépend de celle de la question.

@myrador tant que tu ne donneras pas tous les renseignements sur ton matériel, tu n'auras comme réponses que le résultat de suppositions vu que personne n'a de boule de cristal.

Il y a pourtant un message qui explique ce qu'il faut faire :

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.