Différences entre versions de « P2E-NIGHT-LIGHT »
(→Code) |
(→Code) |
||
Ligne 73 : | Ligne 73 : | ||
Quelques mots d'explications: | Quelques mots d'explications: | ||
− | * '''Lignes | + | * '''Ligne 4''' : désactivation du mode d'économie d'énergie, ce qui permet de produire une tension d'alimentation 3.3V plus stable. |
+ | * '''Lignes 6 et 7''' : | ||
== Un problème? == | == Un problème? == |
Version du 19 mars 2025 à 16:10
Veilleuse
Le principe de la veilleuse est relativement simple, il consiste a allumer une petite lampe lorsque la luminosité est trop faible.
Si dans les faits c'est une lampe qui est utilise, il est aussi possible d'utiliser avantageusement une LED verte. En effet, les yeux sont plus sensible à la lumière verte (ou bleue) qu'à la lumière rouge (c'est pour cela que les réveil ont souvent un éclairage rouge).
Lors d'un réveil en pleine nuit, en plus d'offrir le réconfort de la visibilité, la lumière d'une LED verte sera suffisante pour pouvoir s'orienter sans difficulté, l'oeil étant devenu très sensibles puisqu'il fait presque totalement noir.
Le Pico-Explorer dispose:
- D'une photo-resistance : permettant d'avoir une évaluation générale de la luminosité.
- D'un potentiomère : permettant de fixer une consigne.
- D'une LED verte : pour une meilleure visibilité la nuit.
Brancher
Réaliser les branchements suivants:
Pico | Pico-2-Explorer |
GP28 | LDR (photorésistance) |
GP27 | Pot (potentiomètre) |
GP20 | LED verte |
Code
Le script nightlight.py est disponible dans le dépôt dédié au Pico-2-Explorer.
Le potentiomètre est ici utilisé comme référence du niveau de luminosité. Plus il est tourné vers la gauche (sens anti-horlogique) et plus il doit faire "noir" pour allumer la LED de la veilleuse.
1 from machine import Pin, ADC
2 import time
3
4 Pin( 23, Pin.OUT, value=True )
5
6 ldr = ADC( Pin( Pin.board.GP28 ) ) # A2
7 pot = ADC( Pin( Pin.board.GP27 ) ) # A1
8 led = Pin( Pin.board.GP20, Pin.OUT )
9 while True:
10 val_ldr = 0
11 val_pot = 0
12 for i in range(10):
13 val_ldr += ldr.read_u16()>>6
14 val_pot += pot.read_u16()>>6
15 val_ldr //= 10 # 10 bit (0-1023)
16 val_pot //= 10
17
18 #print( val_ldr, val_pot)
19 led.value( val_ldr < val_pot )
20 time.sleep_ms( 20 )
Comment tester ce script:
- . Une fois en cours d'exécution, placer le montage dans des conditions d'illumination normale.
- . Tourner le potentiomètre de sorte à trouver la position "frontière" juste à la limite entre allumé et éteint.
- . Faire en sorte de décaler sensiblement la position du potentiomètre dans le sens anti-horlogique (pour éteindre la LED).
- . Utiliser votre main pour couvrir / ombrager la photo-résistance, la LED doit s'allumer.
Quelques mots d'explications:
- Ligne 4 : désactivation du mode d'économie d'énergie, ce qui permet de produire une tension d'alimentation 3.3V plus stable.
- Lignes 6 et 7 :
Un problème?
1. Pas de LED allumée ?
Vérifiez xxxx
Traduction augmentée réalisée par Meurisse. D pour shop.MCHobby.be - Licence CC-BY-SA.