W tej sesji użyjemy Raspberry Pi i funkcji PYGAME do stworzenia płyty rezonansowej. Upraszczając, do pinów GPIO Raspberry Pi podłączymy kilka przycisków i po ich naciśnięciu Raspberry Pi odtwarza pliki audio zapisane w jego pamięci. Te pliki audio można odtwarzać pojedynczo lub wszystkie razem. Innymi słowy, możesz nacisnąć jeden lub wiele przycisków w tym samym czasie, Raspberry Pi odtworzy odpowiednio jeden lub wiele plików audio w tym samym czasie. Sprawdź wideo demonstracyjne na końcu tego artykułu. Sprawdź również naszą serię samouczków Raspberry Pi oraz kilka dobrych projektów IoT.
W Raspberry Pi mamy 26 pinów GPIO, które można zaprogramować, z których część służy do wykonywania specjalnych funkcji, a pozostało nam 17 GPIO. Każdy pin GPIO może dostarczać lub pobierać maksymalnie 15 mA. A suma prądów ze wszystkich GPIO nie może przekroczyć 50mA. Możemy więc pobrać średnio maksymalnie 3 mA z każdego z tych pinów GPIO. Użyjemy rezystorów, aby ograniczyć przepływ prądu. Dowiedz się więcej o pinach GPIO i przycisku łączącym z Raspberry Pi tutaj.
Wymagane składniki:
Tutaj używamy Raspberry Pi 2 Model B z Raspbian Jessie OS. Wszystkie podstawowe wymagania sprzętowe i programowe zostały wcześniej omówione, możesz je sprawdzić we wprowadzeniu do Raspberry Pi i Miga dioda LED Raspberry PI, aby rozpocząć, poza tym, czego potrzebujemy:
- Raspberry Pi z preinstalowanym systemem operacyjnym
- Zasilacz
- Głośnik
- Rezystor 1KΩ (6 sztuk)
- Przyciski (6 sztuk)
- Kondensator 1000uF
Objaśnienie robocze:
Tutaj odtwarzamy dźwięk za pomocą przycisków z Raspberry Pi. Użyliśmy 6 przycisków do odtworzenia 6 plików audio. Możemy dodać więcej przycisków i plików audio, aby rozszerzyć tę płytkę i stworzyć piękniejszy wzór, naciskając te przyciski. Przed dalszymi wyjaśnieniami wykonaj poniższe czynności.
1. Najpierw pobierz 6 plików audio z linku podanego poniżej lub możesz użyć swoich plików audio, ale potem musisz zmienić nazwy plików w Kodzie.
Pobierz pliki audio stąd
2. Utwórz nowy folder na ekranie pulpitu Raspberry Pi i nazwij go „PI SOUND BOARD”.
3. Rozpakuj pobrane pliki audio do folderu, który utworzyliśmy na PULPICIE w poprzednim kroku.
4. Otwórz okno terminala w Raspberry Pi i wprowadź poniższe polecenie:
sudo amixer cset numid = 3 1
To polecenie mówi PI, aby zapewniał wyjście audio przez gniazdo audio 3,5 mm na pokładzie.
Jeśli chcesz wyjście audio z portu HDMI, możesz użyć poniższego polecenia:
$ sudo amixer cset numid = 3 2
5. Podłącz głośniki do gniazda wyjścia audio 3,5 mm na płycie Raspberry Pi.
6. Utwórz plik PYTHON (rozszerzenie *.py) i zapisz go w tym samym folderze. Sprawdź ten samouczek dotyczący tworzenia i uruchamiania programu w języku Python w Raspberry Pi.
7. Mikser Pygame zostanie domyślnie zainstalowany w systemie operacyjnym. Jeśli program po wykonaniu nie przywołuje PYMIXERA, zaktualizuj system operacyjny Raspberry Pi wpisując poniższe polecenie w oknie terminala. Upewnij się, że Pi jest połączone z Internetem.
sudo apt-get update
Poczekaj kilka minut na aktualizację systemu operacyjnego.
Teraz podłącz każdy komponent zgodnie ze schematem obwodu podanym poniżej, skopiuj program PYHTON do pliku PYHTON utworzonego na pulpicie i na koniec naciśnij Uruchom, aby odtworzyć pliki audio za pomocą przycisków. Program w Pythonie jest podany na końcu wraz z filmem demonstracyjnym.
Schemat obwodu:
Objaśnienie programowania:
Tutaj stworzyliśmy program w Pythonie do odtwarzania plików audio zgodnie z naciśnięciem przycisku. Tutaj musimy zrozumieć kilka poleceń, których użyliśmy w programie.
importuj RPi.GPIO jako IO
Zamierzamy zaimportować plik GPIO z biblioteki, powyższe polecenie umożliwia zaprogramowanie pinów GPIO PI. Zmieniamy również nazwę „GPIO” na „IO”, więc w programie zawsze, gdy będziemy chcieli odwołać się do pinów GPIO, użyjemy słowa „IO”.
IO.setwarnings (fałszywe)
Czasami, gdy piny GPIO, których próbujemy użyć, mogą wykonywać inne funkcje. Wtedy będziesz otrzymywać ostrzeżenia przy każdym uruchomieniu programu. To polecenie mówi Raspberry Pi, aby zignorował ostrzeżenia i kontynuował program.
IO.setmode (IO.BCM)
Tutaj będziemy odnosić się do pinów I / O w PI przez ich nazwę funkcji. Więc programujemy GPIO przez numery pinów BCM, co pozwala nam dzwonić do PINów z ich pinem GPIO. Tak jakbyśmy mogli nazwać PIN39 jako GPIO19 w programie.
import pygame.mixer
Wzywamy mikser pygame do odtwarzania plików audio.
audio1 = pygame.mixer.Sound ("buzzer.wav")
Wzywamy do pliku audio „buzzer.wav” przechowywanego w folderze na pulpicie. Jeśli chcesz odtworzyć dowolny inny plik, po prostu zmień nazwę pliku audio w funkcji podanej powyżej. Możesz nazwać dowolne pliki znajdujące się w folderze na pulpicie.
channel1 = pygame.mixer.Channel (1)
Tutaj ustawiamy kanał dla każdego przycisku, abyśmy mogli jednocześnie odtwarzać wszystkie pliki audio.
if (IO.input (21) == 0): kanał1.play (audio1)
W przypadku, gdy warunek w instrukcji if jest prawdziwy, poniższe oświadczenie zostanie wykonane tylko raz. Więc jeśli pin 21 GPIO jest niski lub uziemiony, to odtworzy plik audio przypisany do zmiennej audio1 . Zgodnie ze schematem obwodu widzimy, że pin 21 GPIO obniża się, gdy naciskamy pierwszy przycisk. Możemy więc odtworzyć dowolny plik audio, naciskając odpowiedni przycisk.
podczas gdy 1: jest używana jako pętla wieczna, z tym poleceniem instrukcje wewnątrz tej pętli będą wykonywane w sposób ciągły.
Możesz wprowadzić zmiany w programie python, aby uzyskać najbardziej satysfakcjonującą kartę dźwiękową z Raspberry Pi. Możesz nawet dodać więcej przycisków, aby uczynić rzeczy bardziej interesującymi i odtwarzać więcej plików audio.