toto2
November 17, 2021, 10:41am
1
bonjour
voila je suit un débutant sur Arduino et cela fait déjà trois semaine que j'essaye de faire fonctionner une LED avec le capteur de Lumière TSL2591 pour que lorsque la luminosité passe en dessous d'une certaine valeur la LED s’allume. j'ai tout essayer mais me voila au pied du mur je pense que mon problème est plutôt simple a résoudre mais je n'arrive pas a comparer la valeur donner par le capteur a la valeur que je donne pour la boucle IF
merci de votre aide
vileroi
November 17, 2021, 11:09am
2
Il manque une inversion à la ligne 13.
Sinon, il est bon de commencer par lire la page
QUELQUES RÈGLES SIMPLES À LIRE IMPÉRATIVEMENT AVANT DE POSTER
Elles faciliteront la vie de tous et contribueront à rendre votre expérience la plus enrichissante possible.
Bienvenue !!!
Vous rejoignez une communauté : nous incitons très fortement les nouveaux arrivants sur la partie francophone à rédiger dans ce fil de discussion une rapide présentation personnelle.
Aidez nous à vous aider : les réponses qui sont faites sur le forum francophone arduino sont majorit…
qui indique ce qu'il faut faire si on veut un minimum de réponses.
68tjs
November 17, 2021, 11:40am
3
En plus des renseignements indispensables signalé ci dessus qu'à tu fais ?
Elle est où la boucle IF ?
Quelle bibliothèque utilises tu ?
As tu fais les exemples de la bibliothèque ?
Tant que tu n'aura pas fait les exemples de la bibliothèques il sera impossible de déclarer que le câblage est conforme.
toto2
November 17, 2021, 6:47pm
4
Oui j'ai fait les exemple du capteur et j'utilise les bibliothèques suivante : tsl2591 et adafruit unified sensor api
68tjs
November 17, 2021, 7:01pm
5
On n'est pas avec Pierre DAC et Francis Blanche : le Saar Duval :
FB : Vous pouvez le dire ?
PD : Oui
FB : Fantastique il peut le dire !
Tu as fait les exemples ok, mais est-ce que tout était bon ?
toto2
November 18, 2021, 9:09am
6
voici mon code pour le fonctionnement du capteur je me suit baser sur l'exemple du tsl2591 qui permet de montré la luminosité.
#include <Adafruit_Sensor.h>
#include <Adafruit_TSL2591.h>
int tempo=1;
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include "Adafruit_TSL2591.h"
int thresholdvalue=400;
const int pinLed = 13;
const int pinlight = SDA;
Adafruit_TSL2591 tsl = Adafruit_TSL2591(2591);
void displaySensorDetails(void)
{
sensor_t sensor;
tsl.getSensor(&sensor);
Serial.println(F("------------------------------------"));
Serial.print (F("Sensor: ")); Serial.println(sensor.name);
Serial.print (F("Driver Ver: ")); Serial.println(sensor.version);
Serial.print (F("Unique ID: ")); Serial.println(sensor.sensor_id);
Serial.print (F("Max Value: ")); Serial.print(sensor.max_value); Serial.println(F(" lux"));
Serial.print (F("Min Value: ")); Serial.print(sensor.min_value); Serial.println(F(" lux"));
Serial.print (F("Resolution: ")); Serial.print(sensor.resolution, 4); Serial.println(F(" lux"));
Serial.println(F("------------------------------------"));
Serial.println(F(""));
delay(500);
}
void configureSensor(void)
{
// You can change the gain on the fly, to adapt to brighter/dimmer light situations
//tsl.setGain(TSL2591_GAIN_LOW); // 1x gain (bright light)
tsl.setGain(TSL2591_GAIN_MED); // 25x gain
//tsl.setGain(TSL2591_GAIN_HIGH); // 428x gain
//tsl.setTiming(TSL2591_INTEGRATIONTIME_100MS);
// tsl.setTiming(TSL2591_INTEGRATIONTIME_200MS);
tsl.setTiming(TSL2591_INTEGRATIONTIME_300MS);
// tsl.setTiming(TSL2591_INTEGRATIONTIME_400MS);
// tsl.setTiming(TSL2591_INTEGRATIONTIME_500MS);
// tsl.setTiming(TSL2591_INTEGRATIONTIME_600MS);
Serial.println(F("------------------------------------"));
Serial.print (F("Gain: "));
tsl2591Gain_t gain = tsl.getGain();
switch(gain)
{
case TSL2591_GAIN_LOW:
Serial.println(F("1x (Low)"));
break;
case TSL2591_GAIN_MED:
Serial.println(F("25x (Medium)"));
break;
case TSL2591_GAIN_HIGH:
Serial.println(F("428x (High)"));
break;
case TSL2591_GAIN_MAX:
Serial.println(F("9876x (Max)"));
break;
}
Serial.print (F("Timing: "));
Serial.print((tsl.getTiming() + 1) * 100, DEC);
Serial.println(F(" ms"));
Serial.println(F("------------------------------------"));
Serial.println(F(""));
}
void setup(void)
{
Serial.begin(9600);
Serial.println(F("Starting Adafruit TSL2591 Test!"));
if (tsl.begin())
{
Serial.println(F("Found a TSL2591 sensor"));
}
else
{
Serial.println(F("No sensor found ... check your wiring?"));
while (1);
}
displaySensorDetails();
configureSensor();
{
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(pinLed, OUTPUT);
}
}
void advancedRead(void)
{
uint32_t lum = tsl.getFullLuminosity();
uint16_t ir, full;
ir = lum >> 16;
full = lum & 0xFFFF;
Serial.print(F("[ ")); Serial.print(millis()); Serial.print(F(" ms ] "));
Serial.print(F("IR: ")); Serial.print(ir); Serial.print(F(" "));
Serial.print(F("Full: ")); Serial.print(full); Serial.print(F(" "));
Serial.print(F("Visible: ")); Serial.print(full - ir); Serial.print(F(" "));
Serial.print(F("Lux: ")); Serial.println(tsl.calculateLux(full, ir), 6);
int analogValue = tsl.getFullLuminosity();
}
void loop()
{
int sensorValue = analogRead(pinlight);
delay(1000);
if(analogValue < ANALOG_THRESHOLD)
{
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(4, HIGH);
for (int i=0; i <= 200; i++)
{
digitalWrite(5, LOW);
delay(tempo);
digitalWrite(5, HIGH);
delay(tempo);
}
}
else
{
digitalWrite(LED, LOW);
delay(1000);
digitalWrite(4, LOW);
for (int i=0; i <= 200; i++)
{
digitalWrite(5, LOW);
delay(tempo);
digitalWrite(5, HIGH);
delay(tempo);
}
}
}
system
Closed
May 17, 2022, 9:10am
7
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.