1 pièce(s) jointe(s)
Création cagnotte mariage
Bonjour,
Je sollicite la communauté de développeur sur Python pour un projet de création d'une cagnotte de mariage avec detection d'une enveloppe.
Mon souhait est de pouvoir lancer un message vocal aléatoire lorsque d'une enveloppe est mise dans la cagnotte.
J'ai acheté un petit Raspberry, un capteur HC-SR04, et je dispose d'une petite enceinte.
Pièce jointe 542270
Pour info, je suis dans me commerce et je ne suis pas du tout développer.
Je vais savoir copier des codes et les lancer mais pas d'autres choses. Clairement, je ne suis pas un codeur à la différence de vous :) !! Help
A ce stade, j'ai réussi à faire fonctionner le capteur ultrason et aussi un code pour faire un random sur une liste aléatoire.
Je souhaite maintenant combiner les deux et rajouter une commande de type si distance => 10, lancer la musique aléatoire.
Voici les deux codes que j'essai de mixer -
1) musique aléatoire
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import pygame, time
import glob
import random
soundfiles = glob.glob("/home/pi/Desktop/Sons/*.wav")
pygame.init()
pygame.mixer.init()
son = pygame.mixer.Sound(random.choice(soundfiles))
canal = son.play()
while pygame.mixer.get_busy() > 0:
time.sleep(1)
pygame.quit() |
2) Distance ultrason
Code:
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 42 43 44 45 46 47 48 49 50 51 52
|
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
TRIG = 23 # GPIO02
ECHO = 24 # GPIO03
GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)
GPIO.output(TRIG, GPIO.LOW)
GPIO.setwarnings(False)
GPIO.output(TRIG, GPIO.HIGH)
time.sleep(0.00002)
GPIO.output(TRIG, GPIO.LOW)
signaloff = time.time()
while GPIO.input(ECHO) != GPIO.HIGH:
signaloff = time.time()
signalon = signaloff
while time.time() < signaloff + 0.1: # timeout in 0.1 seconds
if GPIO.input(ECHO) == GPIO.LOW:
signalon = time.time()
break
GPIO.cleanup()
time_passed = signalon - signaloff
distance = 340 * 100 * time_passed / 2
if distance <= 500:
return distance
else:
return None
if __name__ == '__main__':
while True:
start_time = time.time()
distance = read_distance()
if distance:
print ("distance: %.1f cm") % (distance)
wait = start_time + 1 - time.time()
if wait > 0:
time.sleep(wait) |
Chaque code fonctionne... mais comment trouver la bonne formule pour les fusioner :calim2::calim2:
Merci pour votre aide!!
A très vite,