I. Résumé

Dans la vie de production, le contrôle de la lumière éblouissante LED a d'innombrables scénarios d'application, de l'affichage LED extérieur grand à géant, petit à l'indicateur LED de la souris, du clavier et du porte-clés, qui peut être vu presque partout. Et Raspberry pi Pico était un nouveau membre de la famille de matériel open-source Raspberry Pi, dès son apparition, il a apporté une chaleur imparable, à la fin de Janvier 2021, la Fondation Raspberry Pi a publié des nouvelles lourdes, le lancement du Raspberry Pi Pico dans le domaine des microcontrôleurs. Cet article a pour but d'utiliser le microcontrôleur Raspberry pi Pico et l'écran LCD STONE pour développer une solution de contrôle de lumière éblouissante RVB.

II. Les fonctions réalisées

(A) Interface principale de contrôle des LED RVB

L'interface de sélection du contrôle de fonctionnement de 3 types de LED RVB peut être transférée vers l'interface correspondante.

(B) Interface de contrôle des feux de circulation

1. Feu de circulation rouge.

2. Feu de circulation vert.

3. Feu de circulation bleu.

(C) Interface de contrôle de la lumière clignotante

1. 500ms de clignotement.

2. 1000ms de clignotement.

3. 1500 ms de clignotement.

(D) Interface de contrôle de l'éclairage progressif

3 types de mode de fondu.

III. Le principe et la composition du système

(A) Principe du système

Grâce à l'écran LCD, le système recueille les instructions de l'opérateur et les envoie à Raspberry pi Pico par le port série. Le Raspberry pi Pico analyse les instructions et contrôle le jeu de lumière par le biais du signal de contrôle de synchronisation compatible WS2812B.

(B) Composition du système

Le système se compose principalement d'un écran LCD, d'un Raspberry pi Pico, d'une carte de barre lumineuse WS2812B, de quatre pièces.

Nom : 图片2.png
Affichages : 9821
Taille : 5,2 Ko

IV. Conception du logiciel du système

(A) Interface principale de contrôle de la lumière éblouissante RGB LED

Interface principale de contrôle de la lumière éblouissante des LED RVB

Le processus de développement de Raspberry Pi Pico et de l'écran LCD STONE

1 : créer le projet et charger les images requises dans le projet. Tutoriel raspberry pi pico

Ici nous faisons une image de fond pour afficher le sol et les informations de montée et de descente par Ico.

2 : utiliser les contrôles Stone-designer pour créer des relations associées dynamiquement ; les contrôles principaux sont : "icône animée", "icône variable" ;

3 : simulation et compilation de logiciels pour générer des fichiers exécutables.

4 : l'écran LCD est connecté au PC via les outils de débogage et le fichier exécutable est téléchargé sur l'écran.

Ici, ajouter la fonction Bouton sur l'interface, régler l'effet sur l'image déclenchée par la touche du chapitre suivant, transférer vers l'interface de réglage correspondante.

Nom : 图片8.png
Affichages : 163
Taille : 151,6 Ko

Conception de logiciels pour la console Raspberry pi Pico

Recevoir des commandes de l'écran LCD via le port série, les analyser et appeler la fonction WS2812b pour piloter les LEDs afin d'effectuer les actions correspondantes.

# Le contrôle de l'état de la bande, mode=1-3 est le feu de circulation à 3 couleurs.

# mode=4-6 est l'intervalle de clignotement, 500ms 1s 1.5s

# mode=7-9 est un fondu de couleur à 3 couleurs

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
if mode==0x01 or mode==0x02 or mode==0x03:

if no < 7 :

no = no + 1

else: no = 0

time.sleep_ms(500)

if mode == 0x01:

np.fill(0,0,0)

np.set_pixel(no,5,0,0)

np.show()

time.sleep_ms(200)

elif mode == 0x02:

np.fill(0,0,0)

np.set_pixel(no,0,5,0)

np.show()

time.sleep_ms(200)

elif mode == 0x03:

np.fill(0,0,0)

np.set_pixel(no,0,0,5)

np.show()

time.sleep_ms(200)
(B). Contrôle de la lumière clignotante des LED RGB

Nom : 图片9.png
Affichages : 201
Taille : 135,6 Ko

Conception de logiciels pour la console Raspberry pi Pico

Recevoir des commandes de l'écran LCD via le port série, les analyser et appeler la fonction WS2812b pour piloter les LEDs afin d'effectuer les actions correspondantes.

# Le contrôle de l'état de la bande, mode=4-6 est l'intervalle de clignotement, 500ms 1s 1.5s

# Le contrôle d'état de la bande, mode=4-6 est le clignotement intermittent, 500ms 1s 1.5s

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
elif mode == 0x04:

np.fill(5,0,0)

np.show()

time.sleep_ms(500)

np.fill(0,0,0)

np.show()

time.sleep_ms(500)

elif mode == 0x05:

np.fill(0,5,0)

np.show()

time.sleep_ms(1000)

np.fill(0,0,0)

np.show()

time.sleep_ms(1000)

elif mode == 0x06:

np.fill(0,0,5)

np.show()

time.sleep_ms(1500)

np.fill(0,0,0)

np.show()

time.sleep_ms(1500)
(C). Contrôle de la décoloration des LED RGB

Nom : 图片11.png
Affichages : 203
Taille : 145,8 Ko

Conception de logiciels pour la console Raspberry pi Pico

Recevoir des commandes de l'écran LCD via le port série, les analyser et appeler la fonction WS2812b pour piloter les LEDs afin d'effectuer les actions correspondantes.

# Le contrôle de l'état de la bande, mode=7-9 est un gradient de couleur à 3 couleurs.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
elif mode == 0x07:

np.set_pixel_line_gradient(0,7,1,1,1,30,10,5)

np.show()

elif mode == 0x08:

np.set_pixel_line_gradient(0,7,1,1,1,5,10,30)

np.show()

elif mode == 0x09:

np.set_pixel_line_gradient(0,7,1,1,1,10,30,5)

np.show()
V. Test de l'effet du fonctionnement du système

Nom : 图片13.png
Affichages : 211
Taille : 1,34 Mo

L'effet de la démonstration physique du système de contrôle de la lumière éblouissante du Raspberry pi Pico et de l'écran LCD STONE est illustré dans la figure suivante.

Nom : 图片14.jpg
Affichages : 211
Taille : 97,7 Ko