PDA

Voir la version complète : [Raspberry Pi] Problème de circuit breadboard + script python



Tiax
06/02/2014, 16h52
Hello les canards !

Ayant enfin reçu mon RPi, je m'amuse à réaliser quelques projets bien basiques (je suis l'archétype du gros noob dans le domaine) sur un breadboard histoire de comprendre un peu comment tout ça fonctionne.

Mon problème actuel est le suivant: j'essaye de réaliser un petit montage tout simple dans lequel le fait d'appuyer sur un bouton fait jouer un fihcier audio présent sur le RPi.

Le circuit électronique est le suivant :

http://tof.canardpc.com/preview2/e4baf9ba-0220-4e3c-b4d2-764ff03d11d8.jpg (http://tof.canardpc.com/view/e4baf9ba-0220-4e3c-b4d2-764ff03d11d8.jpg)

http://tof.canardpc.com/preview2/cd293007-892d-46fe-9a26-6c42ba50156b.jpg (http://tof.canardpc.com/view/cd293007-892d-46fe-9a26-6c42ba50156b.jpg)

http://tof.canardpc.com/preview2/02df8fd0-3d41-40fc-877d-0a18ca9bed21.jpg (http://tof.canardpc.com/view/02df8fd0-3d41-40fc-877d-0a18ca9bed21.jpg)


Le code employé est le suivant :


#!/usr/bin/env python

from time import sleep
import os
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.IN)

while True:
if ( GPIO.input(23) == False ):
os.system('mpg321 chellgladoswakeup01.wav &')

sleep(0.1);


Le problème est qu'une fois le script lancé, le fichier audio se met à être joué en boucle et se contrefout complètement de savoir si j'appuie ou non sur le bouton.


Du coup, je me suis dit que j'allais un peu ruser histoire de cerner mieux le problème, avec le code suivant.


#!/usr/bin/env python

from time import sleep
import os
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.IN)

x = 1
y = 2

while True:
if ( GPIO.input(23) == False ):
print x
if ( GPIO.input(23) == True ):
print y

sleep(0.1);



Une fois ce nouveau script executé, la fenêtre du terminal m'affiche une série de 1 suivie d'une série de 2, de façon régulière.

(Pour l'idée ->)


1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
2
2
2
etc...


Une idée d'où ça peut venir ? Manifestement c'est le circuit électronique qui déconne, mais je n'arrive pas à comprendre ce qui bloque. :emo:

EDIT: Pour l'info, le schéma du circuit sur lequel je m'appuie ->

http://learn.adafruit.com/system/assets/assets/000/000/887/medium800/butt-schem.png?1342097271