Arduino – Capteur de luminosité
DevFrançaisTutorials
On part sur la base du post précédent https://blog.quidquid.fr/fr/2010/12/arduino-capteur-de-temperature-lcd/ et on y ajoute :
– Un capteur de luminosité,
– Une résistance de 10KOhm
L’objectif est d’obtenir sur l’écran LCD la température et la valeur de luminosité observée à l”endroit où l’on se trouve.
Rien de particulier car le capteur de luminosité est simple à utiliser.
Voici le petit schéma de câblage:
Une vue d’en haut :
A venir…
Le code à transmettre à la carte (ATTENTION : j’ai recablé les fils de l’écran LCD par rapport au post précédent) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
/* * WTF Public License */ #include <math.h> #include <LiquidCrystal.h> LiquidCrystal lcd(0, 1, 2, 3, 4, 5); int photocellPin = 1; int temperaturePin = 0; void setup() { // On précise le nombre de colonnes et de lignes lcd.begin(16, 2); } void loop() { int temp = int( getTemp( analogRead( temperaturePin ) ) ); lcd.home(); lcd.print("Temp : "); lcd.print(temp); lcd.print(" C"); int light = analogRead( photocellPin ); lcd.setCursor(0, 1); lcd.print("Light : "); lcd.print(light); // On attend 2 seconde avant de refaire une autre mesure delay(2000); } double getTemp(int rawData) { double temperature = log( ( ( 10240000 / rawData ) - 10000 ) ); temperature = 1 / (0.001129148 + (0.000234125 * temperature) + (0.0000000876741 * temperature * temperature * temperature)); // Convert Kelvin to Celcius return temperature - 273.15; } |
La valeur du capteur de luminosité varie de 0 à 1023.
Et voilà c’est assez simple.
@musez-vous bien
Leave a comment