Accordeon Master - een python/arduino muziek synthesizer (3 / 3 stap)

Stap 3: Configureer de Python-Script

In deze stap zullen zetten we de python script wiens taak het is om:

  • Interface met de Arduino
  • Ruwe versnelling waarden parseren
  • Synthetiseren van notities op basis van gegevens

Voorwoord

Hier zal ik uitleggen in stap voor stap hoe de Python script werd geschreven, maar als je gewoon wilt de definitieve code om te zien of uw systeem, u werken kunt het hier downloaden: https://github.com/aehernandez/Accordion-Master/bl...

Dit deel van de instructable moet gebeuren op uw desktopcomputer op elke Linux-distributie. Je moet python 2.7 opwaarts en lopende. Eventuele andere afhankelijkheden die ik verder naar beneden zal behandelen. Als u zo geneigd het ook ook mogelijk om dit programma op een Raspberry Pi (in feite de Arduino-code kan allemaal worden geport naar de Pi, die zou een goede toekomstige mini project: D). Ik zal niet dekken dat in deze tutorial, maar als u dat avenue verkennen aarzel dan niet om me te contacteren voor hulp.

Maak een bestand (met een willekeurige naam) in een willekeurige directory. Bijvoorbeeld gebruikte ik in mijn home-directory: accordian_comm.py

Interfacing met de Arduino

Twee afhankelijkheden zijn vereist om interface met Python op arduino: sys en seriële.

 import sys import serial # Search for the open serial ports, the first one found is assumed to belong to the Arduino board for i in range(256): try: ser = serial.Serial("/dev/ttyUSB{}".format(i) , 9600) print "Found first open serial port: USB{}".format(i) limit = i; break except serial.SerialException and OSError: if i == 255: print "fatal error: no open port found\nMake sure your Arduino board is connected" sys.exit() pass 

In de bovenstaande code zoeken we het huidige systeem voor alle geopende poorten op de baud-rate 9600. Een fatale veronderstelling is dat de eerste open inderdaad de Arduino board is. Hoewel dit niet de juiste manier om dingen te doen, voor de meeste set-ups zal dit zitten juiste. "/ dev/ttyUSB *" is waar de USB-apparaten zijn toegewezen aan in de Linux OS.

Wat is belangrijk hier is de "ser" variabele die een object van de seriële poort aan onze Arduino is. Kijkend naar de pySerial documentatie zien we dat dit ons toegang tot functies zoals lezen, schrijven en isAvailable geeft. Dit zijn de methoden die we gebruiken om de interface met de arduino voor het uitvoeren van seriële communicatie.

Parseren van de gegevens van de Arduino

Een discussie over het parseren van de gegevens in Python te komen. Raadpleeg de github code voor nu!

Bedankt voor het lezen!

Gerelateerde Artikelen

Zet je Arduino in een 4 stem wavetable-synthesizer met alleen een paar onderdelen...

Zet je Arduino in een 4 stem wavetable-synthesizer met alleen een paar onderdelen...

Meerdere synthesizer projecten hebben gedaan voor de Arduino, maar weinigen konden gebruik maken van de volledige kracht van de processor van de Arduino. DZL van GeekPhysical schreef een 4 voice wavetable-synthesizer die behoort tot de meer geavancee
Python/Arduino seriële regelaar: Zelfgemaakte hoogoven

Python/Arduino seriële regelaar: Zelfgemaakte hoogoven

Wat begon als een eenvoudig project om een kleine afvuren container voor keramiek experimenten spiraled uit de hand in een schroot-gebouwd, gecontroleerde CPU, zuurstof-geïnjecteerd miniatuur hoogoven.Het voltooide project combineert een GUI interfac
MRETV - Video, Stereo geluid en nog veel meer van een standaard Arduino!

MRETV - Video, Stereo geluid en nog veel meer van een standaard Arduino!

MRETV - Video, Stereo geluid en nog veel meer van een standaard Arduino!Nu bijgewerkt voor Arduino 1.6.6 November 2015!Gebruik slechts twee weerstanden en twee diodes voor het genereren van de volledig-schermvideo. Tekst 47 x 29 van 8 x 8 karakters,
Arduino frequentie synthesizer met behulp van 160MHz Si5351

Arduino frequentie synthesizer met behulp van 160MHz Si5351

Dit Instructable beschrijft de bouw en werking van een zelfstandige frequentie synthesizer geschikt voor gebruik als een signaalgenerator, of voor gebruik als de lokale oscillator in een amateur band zender of ontvanger.Mijn prototype was gebouwd op
Beverly-Crusher: beetje pletten. 1-bit Arduino muziek.

Beverly-Crusher: beetje pletten. 1-bit Arduino muziek.

Ik was op zoek naar een instrument om te zetten audio tot 1-bit diepte maar kreeg en schreef mijn eigen. Ondersteunt exporteren voor Arduino schets.Hier ben ik het aanbieden van een verpletterende audioprogramma waardoor ook exporteren naar de arduin
MIDI-gecontroleerde analoge muziek Synthesizer

MIDI-gecontroleerde analoge muziek Synthesizer

Voor mijn elektrotechniek senior design project besloten heb ik voor het ontwerpen van een analoge muziek synthesizer met MIDI-controle. Ik moet toegeven, dit was wat ik wilde doen sinds de middelbare school en mijn uiteindelijke doel als een musicus
Hoe te programmeren een AVR (arduino) met een ander arduino

Hoe te programmeren een AVR (arduino) met een ander arduino

deze instructables is handig als:* je hebt je arduino met atmega168 en je kocht een atmega328 op je lokale elektronicawinkel. Het hoeft niet een arduino bootloader* u wilt maken van een project dat geen gebruik maakt van arduino - gewoon een regelmat
ThermoClock: Een OpenSource Arduino UNO OLED klok die ook temperatuur meet

ThermoClock: Een OpenSource Arduino UNO OLED klok die ook temperatuur meet

Hallo, iedereen!Vandaag ga ik u tonen hoe te maken een OpenSource Arduino UNO OLED klok dat ook maatregelen temperatuur. Dit project is een OpenSource en het is open voor iedereen. Het vereist geen speciale ingenieur vaardigheden, en brengt u minder
Brengen van buiten naar binnen, het creëren van een vivarium voor een Python tapijt

Brengen van buiten naar binnen, het creëren van een vivarium voor een Python tapijt

Ik wilde dit Instructable maken voor iedereen die eigenaar is van een python tapijt of iedereen die overweegt het bezit van dergelijke een geweldig dier. Ik wilde mijn kennis van de veehouderij en mijn passie voor reptielen delen met mensen. Ik heb Z
Hoe maak je een Python Guessing Game

Hoe maak je een Python Guessing Game

Welkom in de wereld van python. Hier gaan we een basic gissen spel maken. Geniet van!Stap 1: Download Python 2.7, niet 3.xJe moet eerst downloaden van python 2.7 van python's officiële site. https://www.python.org/downloads/release/python-27...Het ni
Repareren van een gebakken Arduino Mega

Repareren van een gebakken Arduino Mega

Soms kan jij iets stoms, andere keren is het volstrekt onverklaarbaar, maar als gevolg van welke evenementen, het groene lampje op uw Arduino gestopt komt op. In mijn geval bleek te zijn een verbrand uit spanningsregelaar.Dit ondoorgrondelijke is een
Een spelletje spelen met een kale Arduino

Een spelletje spelen met een kale Arduino

"Push-It"Interactieve spel met behulp van een kale Arduino board, geen externe onderdelen of bedrading nodig.Push-It heeft twee doelen.Te schets snel tonen/Controleer je Arduino board werkt en dat u setup goed voor het downloaden van een nieuwe
Een eenvoudige Arduino Bluetooth auto

Een eenvoudige Arduino Bluetooth auto

Hoi, dit is mijn eerste instructable.Dit is een eenvoudige arduino bluetooth auto voor beginners.Ik ben met behulp van twee continue rotatie servos in plaats van motoren.Dus, laten we beginnen. :)Stap 1: Wat moet je1) Arduino (im ' using een Mega-256
Hoe krijg ik een betere Arduino voor minder!

Hoe krijg ik een betere Arduino voor minder!

Als u een betere Arduino wilt, maar niet genoeg geld hebben, gaat u naar ebay en zoek naar "arduino"Wow! een Arduino uno met 33% korting!