Page 1 sur 1

Eclairage progressif escalier avec RPI 3B+

Posté : mer. 1 mai 2019 18:07
par cailloute974
Bonsoir.
Je me permets de venir demander de l'aide

Je m'explique.
J'ai un RPI 3B+ / une carte 16 relais de chez KUBII alimenté en externe avec GND en commun du RPI / 2 détecteur de mouvement / 14 bandes LED alimentées par un transfo adapté
J'ai essayer de trouver/créer un script python (les autres types je ne me suis pas encore aventuré) pour avoir les scénarios suivant:
Passage devant le capteur bas > allumage des marches (chaque marche est alimenté par un des relais de la carte 16) sens montant > attente un délai T (je pense 30s) > extinction des marches dans le sens montant
Passage devant le capteur haut> allumage des marches sens descendant > attente un délai T (je pense 30s) > extinction des marches dans le sens descendant

Malheuresement je n'arrive a rien.
Les "print" fonctionnent nickel, mais pas de fonctionnement progressif des relais, même pas les led des relais. RIEN.

Code : Tout sélectionner

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
PIR = 20
GPIO.setup(PIR, GPIO.IN)
# liste des pin en sorties

pinOut = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]

# passage des pin en sorties en etat haut

for i in pinOut: 
    GPIO.setup(i, GPIO.OUT) 
    GPIO.output(i, GPIO.LOW)

# temps attente entre marche
SleepTimeL = 0.5
SleepTimeM = 5


try:
    print("PIR Module Test")
    print(" (CTRL+C to exit)")
    time.sleep(1)
    print "Ready"
    while True:
        if GPIO.input(PIR):
           	print("Motion detected! ")
	    	GPIO.output(15, GPIO.HIGH)
		print "GARDE CORPS OK"
		time.sleep(SleepTimeL);
		GPIO.output(2, GPIO.HIGH)
		print "MARCHE 1 OK"
		time.sleep(SleepTimeL); 
		GPIO.output(3, GPIO.HIGH)
		print "MARCHE 2 OK"
		time.sleep(SleepTimeL);  
		GPIO.output(4, GPIO.HIGH)
		print "MARCHE 3 OK"
		time.sleep(SleepTimeL);
		GPIO.output(5, GPIO.HIGH)
		print "MARCHE 4 OK"
		time.sleep(SleepTimeL);
		GPIO.output(6, GPIO.HIGH)
		print "MARCHE 5 OK"
		time.sleep(SleepTimeL);
		GPIO.output(7, GPIO.HIGH)
		print "MARCHE 6 OK"
		time.sleep(SleepTimeL);
		GPIO.output(8, GPIO.HIGH)
		print "MARCHE 7 OK"
		time.sleep(SleepTimeL);
		GPIO.output(9, GPIO.HIGH)
		print "MARCHE 8 OK"
		time.sleep(SleepTimeL);
		GPIO.output(10, GPIO.HIGH)
		print "MARCHE 9 OK"
		time.sleep(SleepTimeL); 
		GPIO.output(11, GPIO.HIGH)
		print "MARCHE 10 OK"
		time.sleep(SleepTimeL);
 		GPIO.output(12, GPIO.HIGH)
		print "MARCHE 11 OK"
		time.sleep(SleepTimeL);
		GPIO.output(13, GPIO.HIGH)
		print "MARCHE 12 OK"
		time.sleep(SleepTimeL);
		GPIO.output(14, GPIO.HIGH)
		print "MARCHE 13 OK"
		time.sleep(SleepTimeM);
		GPIO.output(15, GPIO.HIGH)
		print "GARDE CORPS OFF"
		time.sleep(SleepTimeL);
		GPIO.output(2, GPIO.LOW)
		print "MARCHE 1 OFF"
		time.sleep(SleepTimeL); 
		GPIO.output(3, GPIO.LOW)
		print "MARCHE 2 OFF"
		time.sleep(SleepTimeL);  
		GPIO.output(4, GPIO.LOW)
		print "MARCHE 3 OFF"
		time.sleep(SleepTimeL);
		GPIO.output(5, GPIO.LOW)
		print "MARCHE 4 OFF"
		time.sleep(SleepTimeL);
		GPIO.output(6, GPIO.LOW)
		print "MARCHE 5 OFF"
		time.sleep(SleepTimeL);
		GPIO.output(7, GPIO.LOW)
		print "MARCHE 6 OFF"
		time.sleep(SleepTimeL);
		GPIO.output(8, GPIO.LOW)
		print "MARCHE 7 OFF"
		time.sleep(SleepTimeL);
		GPIO.output(9, GPIO.LOW)
		print "MARCHE 8 OFF"
		time.sleep(SleepTimeL);
		GPIO.output(10, GPIO.LOW)
		print "MARCHE 9 OFF"
		time.sleep(SleepTimeL); 
		GPIO.output(11, GPIO.LOW)
		print "MARCHE 10 OFF"
		time.sleep(SleepTimeL);  
		GPIO.output(12, GPIO.LOW)
		print "MARCHE 11 OFF"
		time.sleep(SleepTimeL);
		GPIO.output(13, GPIO.LOW)
		print "MARCHE 12 OFF"
		time.sleep(SleepTimeL);
		GPIO.output(14, GPIO.LOW)
		print "MARCHE 13 OFF"
		time.sleep(10)


        time.sleep(0.1)
except KeyboardInterrupt:
    print("Quitting")
    GPIO.cleanup()
Donc, soit je trouve la solution à mon problème, soit je me commande un Arduino, et demande à @astuces72 de m'aider comme j'ai pu lire sur le forum.

ci joint une photo du montage à blanc

IMG_1656.jpg
IMG_1656.jpg (154.29 Kio) Vu 7092 fois
Merci à vous

Re: Eclairage progressif escalier avec RPI 3B+

Posté : mer. 1 mai 2019 18:53
par domi
Bonjour,

Ce projet n'étant plus du domaine du débutant, je déplace le sujet vers la rubrique "programme python", puisse qu'il semble être le problème rencontré.

Pour info et si cela peut t'aider, j'ai également fait ce type d'allumage d'escalier : https://www.youtube.com/watch?v=QeqDtfk7giU
Mais j'ai vite abandonné le raspberry au profit de l'Arduino qui est beaucoup plus réactif pour du temps réel.

Mais je ne veux pas te décourager, il n'y a pas de raison que cela ne fonctionne pas sur Raspberry, et en plus c'est enrichissant.

Re: Eclairage progressif escalier avec RPI 3B+

Posté : mer. 1 mai 2019 23:20
par cailloute974
domi a écrit :
mer. 1 mai 2019 18:53
Bonjour,

Ce projet n'étant plus du domaine du débutant, je déplace le sujet vers la rubrique "programme python", puisse qu'il semble être le problème rencontré.

Pour info et si cela peut t'aider, j'ai également fait ce type d'allumage d'escalier : https://www.youtube.com/watch?v=QeqDtfk7giU
Mais j'ai vite abandonné le raspberry au profit de l'Arduino qui est beaucoup plus réactif pour du temps réel.

Mais je ne veux pas te décourager, il n'y a pas de raison que cela ne fonctionne pas sur Raspberry, et en plus c'est enrichissant.
Désolé pour l’erreur.
En fouillant sur le net, j’ai vu que bon nombre ont utilisé l’arduino. Tu m’éclaires un peu sur une raison de ses choix, si il est beaucoup plus réactif. J’ai pri le rpi car j’en avait sous la main. Et avant de me résoudre à m’orienter vers l’arduino, j’aimerais au moins réussir à « programmer » ce fameux rpi.

Re: Eclairage progressif escalier avec RPI 3B+

Posté : ven. 3 mai 2019 09:19
par Manfraid
Bonjour en quel version d python travaille tu car tu mélange la version 2 et 3 (par rapport a la fonction print)

Re: Eclairage progressif escalier avec RPI 3B+

Posté : ven. 3 mai 2019 12:00
par cailloute974
Manfraid a écrit :
ven. 3 mai 2019 09:19
Bonjour en quel version d python travaille tu car tu mélange la version 2 et 3 (par rapport a la fonction print)
Python 2.7.13

Re: Eclairage progressif escalier avec RPI 3B+

Posté : ven. 3 mai 2019 13:38
par cailloute974
Aussi, est-ce normal que les gpio reppassent en in, apres l'execution du script?
avnt.jpg
avnt.jpg (108.9 Kio) Vu 7056 fois
apres.jpg
apres.jpg (108.04 Kio) Vu 7056 fois

Re: Eclairage progressif escalier avec RPI 3B+

Posté : jeu. 27 juin 2019 19:51
par cailloute974
domi a écrit :
mer. 1 mai 2019 18:53
...

Pour info et si cela peut t'aider, j'ai également fait ce type d'allumage d'escalier : https://www.youtube.com/watch?v=QeqDtfk7giU
Mais j'ai vite abandonné le raspberry au profit de l'Arduino qui est beaucoup plus réactif pour du temps réel.

....
Salut domi.
Tu pourrais me donner des détails de ton montage. J’ai pas réussi à trouver des solutions. Et tant qu’à faire je me lancerais bien dans l’ « arduino », car j’ai vu plein de projet complémentaire à ce pti bijoux...

Re: Eclairage progressif escalier avec RPI 3B+

Posté : jeu. 27 juin 2019 20:27
par domi
Salut,

Je me suis effectivement tourné vers l'arduino, car un simple programme en C++ permet de faire le job.
Pas d'OS, beaucoup plus stable lorsqu'il n'a qu'une fonction.
Le Raspberry à également ses avantages, mais nous sommes dépendant d'un OS qu'il faut installer.

En fait il y a 14 marches sur mon escalier.
Chaque marche est indépendantes, elle contient un ruban LED de 80 cm environs.
Chaque ruban est commandé par un relais (platine connexion de 16 relais dont 14 sont utilisés).
Les relais sont activés par un port numérique de l'arduino, mais cela pourrait être par un port numérique du GPIO d'un Raspberry.

Pour le code, je vais recherché, et je mettrai sous la vidéo un lien vers le code sur un dépôt GitHub.

Re: Eclairage progressif escalier avec RPI 3B+

Posté : jeu. 27 juin 2019 20:42
par cailloute974
Super, merci d’avance.
Tu me conseil quel arduino? Sachant qu’il n’aura que ce « travail » à faire.

Re: Eclairage progressif escalier avec RPI 3B+

Posté : jeu. 27 juin 2019 21:51
par domi
Pour ma part j'utilise un Nano, car le programme n'est pas très gros.