J'ai un capteur de lumière qui fonctionne en I2C. Et j'ai beau cherché partout, je ne trouve pas le moyen de récupérer les données de lumière afin de les exploiter pour déclencher un relais.
J'ai installé la bibliothèque indiqué. Mais je n'arrive pas à extraire les informations du moniteur série.
Quelqu'un a t-il une idée sur le sujet ou alors un lien vers des pages internet susceptible de m'éclairer.
C'est plutôt nous qui avons besoin que tu nous donnes des renseignements car nous ne sommes pas devins.
Quel capteur ? Référence ?
Quelle bibliothèque ?
Quels sont les exemples qui sont fournis avec la bibliothèques ?
Aller un petit effort en faisant des liens cliquables (icone chaine) vers capteur , bibliothèque, exemples.
Il faut aussi ton code même s'il ne fonctionne pas et en disant où d'après toi il ne fonctionne pas.
Ne pas oublier de faire un control T dans l'IDE avant de le copier pour le formater correctement
PS : Lis les messages épinglés "Règles du forum francophone" et "Faire un nouveau sujet avec les balises", merci
Pour le modèle exact, comme indiqué dans le titre:
Pour la bibliothèque:
Digital_Light_Sensor
Pour un arduino uno
/*
* Digital_Light_Sensor.ino
* A library for TSL2561
*
* Copyright (c) 2012 seeed technology inc.
* Website : www.seeed.cc
* Author : zhangkun
* Create Time:
* Change Log :
*
* The MIT License (MIT)
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <Wire.h>
#include <Digital_Light_TSL2561.h>
unsigned long lux;
const int relais=4;
const int lumiere=A4;
int pos=0;
void setup()
{
Wire.begin();
Serial.begin(9600);
TSL2561.init();
pinMode(relais,OUTPUT);
}
void loop()
{
Serial.print("The Light value is: ");
Serial.println(TSL2561.readVisibleLux());
delay(1000);
//lux = TSL2561.readVisibleLux();
//Serial.println (lux);
//delay(1000);
pos=analogRead(lumiere);
delay(1000);
if (pos<=3000)
{
digitalWrite(relais,HIGH);
}
else{
digitalWrite(relais,LOW);
}
}
C'est la première fois que je poste du code. J'espère qu'il est bien passé.
Aller un petit effort en faisant des liens cliquables (icone chaine) vers capteur , bibliothèque, exemples.
Certains ici, et ils sont nombreux, interviennent à partir d'un smartphone où le couper/coller est pénible. Si les liens ne sont pas cliquable ils passent leur chemin.
68tjs:
J'avais demandé :Certains ici, et ils sont nombreux, interviennent à partir d'un smartphone où le couper/coller est pénible. Si les liens ne sont pas cliquable ils passent leur chemin.
Certes cela évite un clic.
Mais il suffit de sélectionner le lien et de faire un clic droit ( en tous cas avec Firefox et Chrome).
68tjs parlait d'une consultation sur smartphone.
Personnellement je consulte souvent le forum sur tablette et je trouve ça particulièrement chia pénible.
C'est quand même plus à celui qui pose une question à faire un effort qu'à celui qui a la gentillesse d'y répondre. J'ai peut-être les yeux bouchés mais je ne vois pas de lien vers la bibliothèque.
Si j'ai fait ce rappel c'est dans son intérêt : je suis persuadé que beaucoup n'ont pas utilisé Google ou qwant pour rechercher cette bibliothèque et ont passé leur chemin.
Mais comme CHBR94 se contente de l'initialiser et d'afficher le résultat de la lecture ensuite, aucune chance que cela fonctionne.
Il va lire sur A4 (une hypothétique LDR ?) une valeur qui est comparée ensuite à 3000
Serial.println(TSL2561.readVisibleLux()); // on affiche le résultat, c'est tout ?
delay(1000);
//lux = TSL2561.readVisibleLux(); pourquoi est-ce commenté ?
//Serial.println (lux);
//delay(1000);
pos=analogRead(lumiere);
delay(1000);
if (pos<=3000)
{
digitalWrite(relais,HIGH);
}
else{
digitalWrite(relais,LOW);
}
analogRead retourne un entier compris entre 0 et 1023 (UNO, NANO, MEGA, etc) ou 4096 (DUE, ZERO, etc.)