MicroPython PyBoard et photo-résistance: Côté obscure ou côté lumière?
Photo Résistance - disponible chez MCHobby |
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).
- Kit Découverte MicroPython
- La carte PyBoard originale
- Pyboard lite v1.0 (avec accéléromètre)
- Pyboard lite v1.0 (sans accéléromètre)
- Photo-résistance
Écrire un commentaire