[TUTO] Application web dynamique

Proposer ou rechercher un tutoriel concernant le Raspberry Pi

Modérateur : Francois

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: [TUTO] Application web dynamique

Message par Bud Spencer » sam. 18 mai 2019 10:34

Petite variante du chenillard avant de passer a autre chose sur ma plaque d'essais :
Le précédent allumait les leds tour a tour et revenait a la led 0 quand il arrivait a la dernière.
0,1,2,3,4,5,6 -> 0,1,2,3,4,5,6 -> …
Cette variante inverse l'incrémentation du compteur quand il arrive en buté de tableau, ce qui donne :
1,2,3,4,5,6 -> 5,4,3,2,1,0 -> 1,2,3,4,5,6 -> 5,4,3,2,1,0 …

La seul chose qui change dans le code, c'est la déclaration d'une variable qui indique le sens du compteur et la modification de la façon de compter dans le timer. Ca sert a rien, mais ca fait joli dans la nuit :lol:
chenillard_code2.png
chenillard_code2.png (28.67 Kio) Vu 5706 fois
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: [TUTO] Application web dynamique

Message par Artemus24 » sam. 18 mai 2019 17:08

Salut Bud Spencer.

Je vois que l'on s'amuse bien. :D

J'ai huit leds, en alternant une rouge et une jaune.

J'utilise deux boutons, dont le premier sélectionne le mode et le second les effets.
Voici les différents modes et effets :

Mode 1 : faire clignoter une et une seule led à la fois.
L'effet consiste de passer d'un led à la suivante par pression sur le bouton 2 (x8).

Mode 2 : le chenillard sur les leds de couleurs.
--> led rouge avant et arrière
--> led jaune avant et arrière
L'effet consiste à passer du chenillard led rouge à led jaune (x4).

Mode 3 : le chenillard sur toutes les leds
--> chenillard qui allume une seule led à la fois (avant et arrière).
--> chenillard qui allume deux leds à la fois (avant et arrière).
L'effet consiste à passer d'un chenillard à un autre (x4).

Soit au total 16 effets et 3 modes.

J'ai enrichi mon programme, en introduisant la gestion d'un interruption (Signal SIGINTR = ctrl-c) afin de sortir proprement.

Si je désire faire un effet plus compliqué, je serai obligé de modifier mon tableau.
J'ai choisi d'alterner, les cases pairs (j'allume une led ) et les cases impairs (j'éteinds une led) (ou l'inverse, je ne sais plus).
Le contenu de la case pointe sur la prochaine case.

Le but de mon programme était de gérer les GPIO au travers d'un exemple simple, basé sur des boutons et des leds.

J'aimerai savoir comment tester, dans le programme (en 'C' avec bcm2635), si un GPIO n'est pas branché ?

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: [TUTO] Application web dynamique

Message par Bud Spencer » dim. 19 mai 2019 08:44

Salut Artemus. Je vois que toi aussi tu t’amuses bien :D
Qu’entends-tu exactement par ‘si un GPIO n'est pas branché’ ?
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: [TUTO] Application web dynamique

Message par Artemus24 » dim. 19 mai 2019 15:21

Salut Bud Spencer.
Bud Spencer a écrit :Qu’entends-tu exactement par ‘si un GPIO n'est pas branché’ ?
Dans le programme, j'ai choisi des GPIO pour relier soit des leds soit des interrupteurs.
Il arrive que j'ai un mauvais contact sur la plaque de montage.
Du coup, cela se passe comme si le GPIO n'était pas relié à la Raspberry.
Dans le cas d'une led, ce n'est pas bien grave.
Mais dans le cas de l'interrupteur, celui-ci ne fonctionne plus et lit n'importe quoi.
J'aimerai savoir s'il est possible de détecter cette instabilité du GPIO afin de sortir proprement du programme en signalant le problème.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: [TUTO] Application web dynamique

Message par Bud Spencer » dim. 19 mai 2019 17:47

Non. Tu ne peux pas détecter s’il y a physiquement quelque chose au bout du GPIO (du moins pas avec ce type de montage). Pour le programme (ou la lib), les I/O ne sont que des valeurs de registre qui ont un état 0 ou 1 et impossible ‘softwarement’ parlant de savoir si il y a quelques chose de branché au bout. Si tu as des problèmes de flottement avec tes boutons, ce n’est pas les boutons eux-mêmes qui posent problème mais plutôt la connexion avec les résistances de pull qui vont avec. Pour éviter cela, il suffit juste d’utiliser les pulls internes plutôt que des résistances externes, comme ça, au pire les boutons mal connectés ne fonctionnent pas, mais cela n’engendre aucun comportement étrange du programme.
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: [TUTO] Application web dynamique

Message par Artemus24 » dim. 19 mai 2019 22:04

Salut Bud Spencer.

Ce ne sont pas les boutons qui posent des problèmes, ni les résistances, mais les jumpers (les câbles mâle / femelle).
J'utilisent ces jumpers pour relier la plaque de montage directement à la raspberry, sans passer par le t-cobbler et sa nappe.
Pourquoi ?
Parce que dans le kit, je n'ai pas de câbles mâle / mâle et cela me pose des problèmes.

Si on ne peut pas par le soft, et bien tant pis.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: [TUTO] Application web dynamique

Message par Bud Spencer » mar. 21 mai 2019 20:55

Artemus24 a écrit :
dim. 19 mai 2019 22:04
..
Parce que dans le kit, je n'ai pas de câbles mâle / mâle et cela me pose des problèmes.
...
https://www.ebay.fr/itm/10-20CM-Multi-D ... nhm50Hmp4g
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: [TUTO] Application web dynamique

Message par Artemus24 » mer. 22 mai 2019 13:22

Salut Bud Spencer.

Merci pour le lien. :D
Je vais me procurer tout ce qui me manque dans un prochain achat, d'ici quelques semaines.
Entre autre des leds, des résistances, des fils électriques pour les coller sur la plaque de montage, ...

Et puis, j'envisage la suite, avec pourquoi pas avec le Module Pi Sense Hat, le Module Explorer 500 ou bien le Module Explorer 700, le Module PiFace Digital 2.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: [TUTO] Application web dynamique

Message par Bud Spencer » ven. 24 mai 2019 21:17

Artemus24 a écrit :
mer. 22 mai 2019 13:22
Et puis, j'envisage la suite, avec pourquoi pas avec le Module Pi Sense Hat, le Module Explorer 500 ou bien le Module Explorer 700, le Module PiFace Digital 2.
mouais … donc pas vraiment une volonté de vouloir se former à l'électronique mais plutôt de devenir utilisateur de 'babiolleries' toutes faites sans vraiment se soucier de comprendre comment cela marche ….
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Artemus24
Raspinaute
Messages : 1077
Enregistré le : ven. 15 sept. 2017 19:15

Re: [TUTO] Application web dynamique

Message par Artemus24 » sam. 25 mai 2019 11:59

Salut Bud Spencer.

Après avoir fait une tentative avec les leds et les interrupteurs, je constate que ce n'est pas trop mon truc l'électronique.
Enfin, je dis cela, mais en fait, je le disais déjà avant d'avoir acheté le kit et de faire quelques essais.
Souvent, c'est la curiosité qui l'emporte chez moi !
Je suis tenté par les relais, afin de piloter depuis la raspberry tout ce qui touche à la domotique.
L'arduino, en tant que microcontrôleur m'intéresse surtout en collaboration avec la raspberry.
Mais comme cela ne peut pas s'utiliser seul, je serai obliger de me procurer d'autres composants électroniques.

Ces babioles ont justement l'avantage de ne pas se servir du fer à souder. Ben oui, tout est déjà prêt à l'emploi.
Par contre, le prix est plutôt élevé. :o

Il me faudrait un bouquin d'initiation à l'électronique au travers de l'arduino et de la raspberry pour comprendre ce à quoi je m'attends.

@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32

Répondre

Retourner vers « Tutoriels »