Matrice de led et applications

D’accord, j’avais simplifié un peu pour que ce soit plus lisible ( peut etre l’erreur vient-elle de là)

global continu
continu = True

    @app.route('/pro')
    def pro():
		while continu :
			pluie(strip)
			colorWipe(strip)
			meteoColor(strip)
			Wipe(strip)
			coeur(strip)
			WipeVertical(strip)
			             
		return "fonction executee"

    @app.route('/arrete')
    def arrete():
		global continu
		continu = False
	`return "fonction stoppee"`

def pluie(strip, wait_ms=0.01) :
    i = 0
    while i < 30 :
        b=random.randint(0,9)
        a = b+39+2*(10-b)
        strip.setPixelColor(a, Color(0,20,150))
        strip.show()
        time.sleep(wait_ms/1.0)
        clear(strip)

        for e in [1+2*(9-b),20,21+2*(9-b),40,41+2*(9-b)] :
            strip.setPixelColor(a-e, Color(0,20,150))
            strip.show()
            time.sleep(wait_ms/1.0)
            clear(strip)
        i=i+1
    time.sleep(wait_ms/1.0)

Je ne sais pas si te montrer toute les fonctions soit très utile, elles sont toute construite de la même façon. Si tu as besoin je peu le faire quand même

Il ne s’arrêtera que à la fin de ta boucle lors du passage sur la condition.

Rajoute des if entre chaque appel de fonctions si tu veux qu’il s’arrête plus vite

Même en attendant plusieurs passages sur la condition ça ne s’arrête pas…

il ne passe à la fonction de /arrete que lorsqu’il a return quelque chose je crois bien… Je t’avou ne pas comprendre comment il se fait que de ton côté ça fonctionne

Avancement du projet :

J’ai abandonné l’idée des animations qui tournent en boucle et que je peu stopper.
Mais j’ai ajouté quelques fonctionnalités :slight_smile:

Voici donc à quoi ressemble le projet :



Concrètement cet afficheur tourne sous raspbian, et grâce à un serveur Flask, je suis capable de lancer des fonctions python pour allumer chaque LED avec l’intensité et la couleur souhaitée. A partir de là, les possibilités sont vastes; Affichage de la météo ( grâce à l’api de weather map) , lumières, notifications…etc

Voici ma ( très basique ) interface pour contrôler l’affichage :

Les animations m’amène vers une animation de pluie, une animation de météo qui affiche la température et un soleil ou un nuages suivant la météo. La température affiche comme son nom l’indique la température comme la photo plus haut. Les lumières sont des lumières de différentes intensité et couleurs. Je compte remplacer tous ces boutons de lumières par un slider pour choisir la couleur et un autre pour l’intensité ça sera plus clair. Le bouton éteindre est explicite. Enfin le bouton Libre amène sur l’autre page en photo au dessus, qui permet de dessiner ce qu’on l’on souhaite « Pixel par pixel ».

Voila donc pour la partie afficheur. Ensuite j’y ai ajouté une petite caméra grand angle, et grâce au soft « MotionEye » me permet de faire de la vidéo surveillance ( la clé usb sur le coté sert à enregistrer les images d’une intrusion).

A savoir qu’on m’avait conseillé d’ajouter une alimentation pour les LED car le raspberry n’aurai pas suffit à tout alimenter. Étonnamment mon raspberry est capable d’alimenter toutes les LED a l’intensité maximal et de faire fonctionner MotionEye en même temps sans problème. Je compte néanmoins ajouter la possibilité d’activer ou non des petits ventilateurs pour diminuer la température qui parfois atteint 60 degrés pendant la canicule.
Après plusieurs essais non concluant par USB, je vais essayer d’alimenter grâce aux port GPIO les ventilateurs.

Si vous avez des idées d’amélioration n’hésitez pas :slight_smile: