RaspPi Muzikaal Toetsenbord

GitHub-repository van het project

Demo/Uitleg

Makers/Rollen

  • Andrew Darling
    • Schreef de objectgeoriënteerde programmeerstructuur en logica voor de code.
  • Riley Royall
    • Bouwde het circuit voor RPBP.
  • Mehmet Yilmaz
    • Schreef het GUI-element en de generator voor bladmuziek voor de code.

Over

Het Raspberry Pi Buzzer Piano (RPBP)-project was een eindproject voor Python Sensor Systems (CSCI-250), een undergraduate cursus aangeboden door de Colorado School of Mines, tijdens het herfstsemester van 2019. Het project was een groepsproject bestaande uit Andrew Darling, Riley Royall en Mehmet Yilmaz. Het was officieel voltooid rond eind november 2019, begin december 2019.

Ons project is een Raspberry Pi Buzzer Piano (RPBP). Dit RPBP-idee is een muzikaal toetsenbord met een set van 13 toetsen, waarbij de toetsen gewoon knoppen zijn, die kunnen functioneren als pianotoetsen. Wanneer een toets wordt ingedrukt, zal dit ervoor zorgen dat één of meer van de buzzers op verschillende frequenties gaan zoemen, afhankelijk van welke knop wordt ingedrukt. Er zullen ook twee potentiometers zijn, waarvan er één gebruikt zal worden om tussen de 3 modi van de RPBP te schakelen en de tweede gebruikt wordt om de octaaf(ven) van de buzzers te veranderen. De 3 modi op de RPBP zijn: Vrij Spelen, Opnemen en Afspelen. Vrij Spelen stelt de gebruiker in staat om de RPBP te bespelen en gewoon te horen welke toets hij indrukt. Opnemen stelt de gebruiker in staat om de RPBP vrij te bespelen terwijl deze tegelijkertijd wordt opgenomen in een npy-bestand en bovendien bladmuziek te maken, in PDF-vorm, voor die opname. Afspelen stelt de gebruiker in staat om een opgenomen bestandsnaam in te voeren en het circuit zal dat opgenomen bestand afspelen via de buzzers. Alle bladmuziek zal in één map worden opgeslagen, zodat de gebruiker altijd kan terugkijken naar hun bladmuziek als zij dat willen. Elke knop/toets heeft een LED om de gebruiker te laten zien wanneer een knop/toets is ingedrukt. Van dit project is alleen bewezen dat het werkt op Rasbian (Raspberry Pi OS) met de vereisten, hieronder weergegeven, correct ingesteld.

Vereisten

Informatie

  • Modi:
    • Vrij spelen: Hiermee kan de gebruiker gewoon de RPBP bespelen.
    • Opnemen: Hiermee kan de gebruiker opnemen wat zij spelen, die opname opslaan en bladmuziek maken voor wat zij opnemen.
    • Afspelen: Hiermee kan de gebruiker elke opname afspelen die zij hebben gedownload of gemaakt.
    • Dempen: dempt alle buzzers op de RPBP.
  • Hoe tussen modi te schakelen:
    • Wijzig de instellingen/waarden op de GUI en klik op de knop Verzenden.
  • Overige opmerkingen:
    • Om meer te weten te komen over RPBP vanuit de GUI, klik op de README-knop en deze README wordt geopend.

Circuit

  • U kunt afbeeldingen bekijken van de printplaat die voor dit project is gebruikt in de sectie Circuitafbeeldingen.
  • De Pi Wedge is via een lintkabel verbonden met een Raspberry Pi 3 B+.
  • De Raspberry Pi draait de code die in deze repo is geleverd met de stuurprogramma’s die in deze README worden vermeld.
  • Sorry dat de circuitindeling zo rommelig is; helaas hebben we dit deel niet zo goed gedocumenteerd.

Hoe te gebruiken:

  • Zorg eerst dat aan alle vereisten is voldaan en voer dan het bash-script start.sh uit; een GUI verschijnt.
  • Selecteer vervolgens welke modus u wilt gebruiken onder het label “Modi”.
  • [ deze stappen zijn voor degenen die de modus “Vrij Spelen” selecteren ]
    • Derde_10: Klik op de knop Verzenden en begin te spelen op de RPBP
  • [ deze stappen zijn voor degenen die de modus “Opnemen” selecteren ]
    • Derde_20, Schrijf welke naam u aan uw opgenomen bestand wilt geven onder het label “Opnamenaam”.
    • Derde_21, Klik op de knop Verzenden en een rode LED zal worden ingeschakeld.
    • Derde_22, Speel op de RPBP en wanneer u klaar bent, klik op de knop Stop op de GUI.
    • Derde_23, Nadat u op de knop Stop hebt geklikt, wordt uw opname opgeslagen en wordt uw bladmuziek gegenereerd en geopend als een PDF om te bekijken, en het zal worden opgeslagen in de map SHEETS.
  • [ deze stappen zijn voor degenen die de modus “Afspelen” selecteren ]
    • Derde_30, Selecteer welk songbestand u wilt afspelen onder het label “Stuur Het”
    • Derde_31, Klik op de knop Verzenden en begin te luisteren naar het songbestand dat u hebt geselecteerd.
  • [ deze stappen zijn voor degenen die de modus “Dempen” selecteren ]
    • Derde_40, Klik gewoon op de knop Verzenden en alle Buzzers zullen gedempt zijn totdat u naar een andere modus overschakelt
  • Vierde, nadat u helemaal klaar bent met de RPBP, klik op de knop Afsluiten om de GUI en het volledige programma te sluiten

Circuitafbeeldingen

GUI_image
GUI_image
GUI_image