La photorésistance est un composant électronique dont la résistance varie selon la lumière reçue. Pour en connaître les caractéristiques, il suffit d'étudier la documentation qui lui est associée. Une autre solution consiste à tester son comportement.
Pour cela, on la place à proximité immédiate d'une diode électroluminescente blanche. Une carte Arduino est programmée pour allumer et éteindre la diode, générant ainsi des impulsions lumineuses. Le signal lié à la photorésistance est envoyé à l'ordinateur via la liaison USB. L'ordinateur équipé d'un programme, trace, à partir des données reçues, la courbe à analyser.
Exemple de programme pour la carte Arduino UNO :
void lire(unsigned long duree) { unsigned long debut=millis(); while (millis()-debut<duree) { Serial.println(analogRead(0)); delay(50); } } void setup() { Serial.begin(115200); pinMode(6, OUTPUT); } void loop() { digitalWrite(6, LOW); lire(500); digitalWrite(6, HIGH); lire(500); digitalWrite(6, LOW); lire(10000); }
Exemple de programme, en Python, pour obtenir la courbe :
#!/usr/bin/python3 # Pour un système GNU/Linux import time import serial import matplotlib.pyplot as plt liaison='/dev/ttyUSB0' # Adapter à la liaison USB portUSB=serial.Serial(liaison, 115200) temps=[] tension=[] duree=8 t=0 dt=0.05 while (t<duree) : temps.append(t) tension.append(4.887*float(portUSB.readline())) t=t+dt time.sleep(dt) plt.xlabel("Temps en s") plt.ylabel("Tension en mV") plt.grid(True) plt.plot(temps,tension) plt.show()