MicroPython PyBoard et photo-résistance: Côté obscure ou côté lumière?


Photo Résistance - disponible chez MCHobby
Voici un nouveau Tutoriel pour MicroPython PyBoard

Tuto issu de notre Kit Découverte MicroPython

Acquérir une valeur analogique en provenance d'un potentiomètre peut être utile pour une expérience contrôlée par un humain.
Mais que pouvons nous utiliser pour une expérience contrôlée par l'environnement lui-même? Nous gardons exactement les mêmes principes mais à la place du potentiomètre (résistance basée sur une torsion), nous utilisons une photorésistance (résistance basée sur la lumière). PyBoard ne peut pas directement percevoir la résistance (il perçoit la tension) donc nous utilisons un pont diviseur de tension pour créer une tension qui varie avec la résistance de la photo-résistance (résistance qui change avec l'intensité lumineuse).
La tension exacte sur la broche du senseur peut être calculée mais pour notre usage (juste percevoir la lumière relative), nous pouvons tester les valeurs et retenir celles qui nous conviennent.
Le senseur retourne une petite valeur lorsqu'il est bien éclairé et une grande valeur lorsqu'il est placé dans l'obscurité.

Montage
Nous utilisons ici une résistance de 10KOhms en série avec la Photo-Résistance. Voyez notre tutoriel pour la liste complète du matériel.
Source: wiki.mchobby.be

Programme - lecture simple
Le petit programme suivant effectue une lecture toutes les 300 ms (1/3 seconde), convertir la valeur lue (entre 0 et 4096) en tension et affiche/envoi les deux valeurs sur l'interface série.
Ce petit programme, que vous pouvez saisir en mode REPL, vous permet de tester rapidement votre montage et ses réactions lorsque vous couvrez la photorésistance (ou l'éclairez).

ldr = pyb.ADC( 'X19' )
while True:
    lecture = ldr.read()
    tension = (lecture * 3.3) / 4095
    print( 'valeur = %s, tension = %s volts' % (lecture, tension) )
    pyb.delay( 300 )


Code qui produit les résultats suivants:
  • La tension chute lorsque la lumière diminue
  • La tension augmente lorsque la lumière augmente
valeur = 2728, tension = 2.198388 volts
valeur = 2750, tension = 2.216117 volts
valeur = 2762, tension = 2.225787 volts
valeur = 2807, tension = 2.262051 volts
valeur = 2795, tension = 2.252381 volts
valeur = 2814, tension = 2.267692 volts
valeur = 2799, tension = 2.255605 volts
valeur = 2754, tension = 2.219341 volts
valeur = 2287, tension = 1.843004 volts
valeur = 1886, tension = 1.519853 volts
valeur = 1919, tension = 1.546447 volts
valeur = 1905, tension = 1.535165 volts
valeur = 1910, tension = 1.539194 volts
valeur = 1887, tension = 1.520659 volts
valeur = 1815, tension = 1.462637 volts
valeur = 1225, tension = 0.9871795 volts
valeur = 680, tension = 0.5479854 volts
valeur = 751, tension = 0.6052015 volts
valeur = 819, tension = 0.6599999 volts
valeur = 1766, tension = 1.42315 volts
valeur = 1915, tension = 1.543223 volts
valeur = 1903, tension = 1.533553 volts
valeur = 1960, tension = 1.579487 volts
valeur = 1976, tension = 1.592381 volts
valeur = 1983, tension = 1.598022 volts
valeur = 1988, tension = 1.602051 volts
valeur = 1990, tension = 1.603663 volts
valeur = 1991, tension = 1.604469 volts
valeur = 1997, tension = 1.609304 volts


Tutoriel complet
Notre tutoriel MicroPython contient de nombreuses autres informations, autres exemples comme la modulation de lumière, inversion de la réponse, réalisation d'une veilleuse, un servo contrôlé par la lumière, etc

Où acheter
Les produits MicroPython pyboard sont disponible chez MCHobby (France et Belgique).
Voyez aussi notre gamme Micro Python