Dans cette session, nous allons utiliser Raspberry Pi et les fonctions PYGAME pour créer une carte son. En termes simples, nous allons connecter quelques boutons aux broches GPIO du Raspberry Pi et lorsque ces boutons sont enfoncés, le Raspberry Pi lit les fichiers audio stockés dans sa mémoire. Ces fichiers audio peuvent être lus un par un ou ils peuvent tous être lus ensemble. En d'autres termes, vous pouvez appuyer sur un ou plusieurs boutons en même temps, Raspberry Pi lira un ou plusieurs fichiers audio en conséquence en même temps. Consultez la vidéo de démonstration à la fin de cet article. Consultez également notre série de tutoriels Raspberry Pi ainsi que quelques bons projets IoT.
Nous avons 26 broches GPIO dans Raspberry Pi qui peuvent être programmées, dont certaines sont utilisées pour exécuter certaines fonctions spéciales, puis il nous reste 17 GPIO. Chaque broche GPIO peut fournir ou tirer un maximum de 15 mA. Et la somme des courants de tous les GPIO ne peut pas dépasser 50 mA. On peut donc tirer un maximum de 3mA en moyenne de chacune de ces broches GPIO. Nous utiliserons des résistances pour limiter le flux de courant. En savoir plus sur les broches GPIO et le bouton d'interfaçage avec Raspberry Pi ici.
Composants requis:
Ici, nous utilisons Raspberry Pi 2 Model B avec le système d'exploitation Raspbian Jessie. Toutes les exigences matérielles et logicielles de base sont décrites précédemment, vous pouvez les rechercher dans l'introduction de Raspberry Pi et le clignotement du voyant Raspberry PI pour commencer, à part ce dont nous avons besoin:
- Raspberry Pi avec OS pré-installé
- Source de courant
- Orateur
- Résistance 1KΩ (6 pièces)
- Boutons poussoirs (6 pièces)
- Condensateur 1000uF
Explication de travail:
Ici, nous jouons du son à l'aide de boutons avec Raspberry Pi. Nous avons utilisé 6 boutons poussoirs pour lire 6 fichiers audio. Nous pouvons ajouter plus de boutons et de fichiers audio pour étendre cette carte afin de créer un plus beau motif en appuyant sur ces boutons. Avant d'expliquer davantage, suivez les étapes ci-dessous.
1. Tout d'abord, téléchargez les 6 fichiers audio à partir du lien ci-dessous ou vous pouvez utiliser vos fichiers audio, mais vous devez ensuite changer les noms de fichiers dans Code.
Téléchargez des fichiers audio à partir d'ici
2. Créez un nouveau dossier sur l'écran du bureau du Raspberry Pi et nommez-le «PI SOUND BOARD».
3. Décompressez les fichiers audio téléchargés dans le dossier que nous avons créé sur DESKTOP à l'étape précédente.
4. Ouvrez la fenêtre du terminal dans Raspberry Pi et entrez la commande ci-dessous:
sudo amixer cset numid = 3 1
Cette commande indique à PI de fournir une sortie audio via la prise audio 3,5 mm intégrée.
Si vous voulez une sortie audio du port HDMI, vous pouvez utiliser la commande ci-dessous:
$ sudo amixer cset numid = 3 2
5. Connectez les haut-parleurs à la prise de sortie audio 3,5 mm sur la carte Raspberry Pi.
6. Créez un fichier PYTHON (extension *.py) et enregistrez-le dans le même dossier. Consultez ce didacticiel pour créer et exécuter le programme Python dans Raspberry Pi.
7. Le mélangeur Pygame sera installé par défaut dans le système d'exploitation. Si le programme, après exécution, ne rappelle pas PYMIXER, alors mettez à jour l'OS de Raspberry Pi en entrant la commande ci-dessous dans la fenêtre du terminal. Assurez-vous que Pi est connecté à Internet.
sudo apt-get mise à jour
Attendez quelques minutes que le système d'exploitation se mette à jour.
Maintenant, connectez chaque composant selon le schéma de circuit ci-dessous, copiez le programme PYHTON dans le fichier PYHTON créé sur le bureau et enfin appuyez sur Exécuter pour lire les fichiers audio via les boutons. Le programme Python est donné à la fin avec la vidéo de démonstration.
Schéma:
Explication de la programmation:
Ici, nous avons créé le programme Python pour lire les fichiers audio en fonction de la pression sur le bouton. Ici, nous devons comprendre quelques commandes que nous avons utilisées dans le programme.
importer RPi.GPIO comme IO
Nous allons importer le fichier GPIO de la bibliothèque, la commande ci-dessus nous permet de programmer les broches GPIO de PI. Nous renommons également «GPIO» en «IO», donc dans le programme chaque fois que nous voulons faire référence aux broches GPIO, nous utiliserons le mot «IO».
IO.setwarnings (Faux)
Parfois, lorsque les broches GPIO que nous essayons d'utiliser peuvent remplir d'autres fonctions. Ensuite, vous recevrez des avertissements chaque fois que vous exécuterez un programme. Cette commande indique à Raspberry Pi d'ignorer les avertissements et de poursuivre le programme.
IO.setmode (IO.BCM)
Ici, nous allons faire référence aux broches d'E / S de PI par leur nom de fonction. Nous programmons donc le GPIO par numéros de broche BCM, ce qui nous permet d'appeler des codes PIN avec leur broche GPIO no. Comme nous pouvons appeler PIN39 comme GPIO19 dans le programme.
importer pygame.mixer
Nous appelons le mélangeur pygame pour lire les fichiers audio.
audio1 = pygame.mixer.Sound ("buzzer.wav")
Nous appelons au fichier audio «buzzer.wav» stocké dans le dossier du bureau. Si vous souhaitez lire un autre fichier, changez simplement le nom du fichier audio dans la fonction indiquée ci-dessus. Vous pouvez nommer tous les fichiers présents dans le dossier du bureau.
channel1 = pygame.mixer.Channel (1)
Ici, nous configurons un canal pour chaque bouton afin que nous puissions lire tous les fichiers audio simultanément.
if (IO.input (21) == 0): channel1.play (audio1)
Dans le cas où la condition de l' instruction if est vraie, l'instruction ci-dessous sera exécutée une fois. Donc, si la broche GPIO 21 devient basse ou mise à la terre, elle lira le fichier audio affecté à la variable audio1 . Selon le schéma de circuit, nous pouvons voir que la broche GPIO 21 devient basse lorsque nous appuyons sur le premier bouton. Nous pouvons donc lire n'importe quel fichier audio en appuyant sur le bouton correspondant.
tandis que 1: est utilisé comme boucle permanente, avec cette commande les instructions à l'intérieur de cette boucle seront exécutées en continu.
Vous pouvez apporter des modifications au programme python pour créer la carte son la plus satisfaisante avec Raspberry Pi. Vous pouvez même ajouter plus de boutons pour rendre les choses plus intéressantes et lire plus de fichiers audio.