Dragspel Master - en python/arduino musik synt (3 / 3 steg)

Steg 3: Konfigurera Python-skript

I detta steg ska vi ställa in python skript vars jobb det är att:

  • Gränssnitt med Arduino
  • Tolka raw accelerationsvärdena
  • Syntetisera noter bygger på data

Förord

Här jag ska förklara i steg för steg hur Python skript skrevs, men om du bara vill ha den final koden att se om ditt system fungerar du kan få det här: https://github.com/aehernandez/Accordion-Master/bl...

Denna del av den instructable bör göras på din stationära dator på alla Linux-distribution. Du bör ha python 2.7 igång. Alla andra beroenden som jag kommer att täcka längre ner. Om du är så benägen det också också möjligt att köra detta program på en Raspberry Pi (i själva verket Arduino koden kunde alla att portas till den Pi, vilket skulle vara ett bra framtida miniprojekt: D). Jag kommer inte att täcka som i denna tutorial, men om du utforska det avenyn tveka inte att kontakta mig för hjälp.

Skapa en fil i valfri katalog (med något namn). Till exempel jag använde i min hemkatalog: accordian_comm.py

Samverkan med Arduino

Två beroenden är skyldiga att gränssnittet med Python på arduino: sys och seriell.

importera sys
importera följetong

# Sök efter öppna seriella portar, den första som hittade antas tillhöra Arduino styrelsen
för i i range(256):
försök:
ser = följetong. Serial("/dev/ttyUSB{}".format(i), 9600)
skriva ut "Funna först öppna seriell port: USB{}".format(i)
Limit = i.
Break
Förutom följetong. SerialException och OSError:
om jag == 255:
skriva ut "fatal fel: ingen öppen port found\nMake till din Arduino ombord är ansluten"
sys.Exit()
passera

I ovanstående kod söka vi det nuvarande systemet för alla öppna portar på överföringshastighet 9600. En dödlig antagandet är att den första öppen verkligen är Arduino styrelsen. Detta är inte rätt sätt att göra saker, för de flesta uppställningar blir korrekt. "/ dev/ttyUSB *" är där USB-enheter mappas till Linux OS.

Vad som är viktigt här är variabeln "ser" som är en seriell portobjekt till våra Arduino. PySerial dokumentation ser vi att detta ger oss tillgång till funktioner som läsa, skriva och isAvailable. Dessa är de metoder som vi kommer att använda till gräns flat med arduino att utföra seriell kommunikation.

Tolkning av Arduino Data

En diskussion om tolkning av data i Python framöver. Se github koden för nu!

Tack för läsning!

Se Steg
Relaterade Ämnen

Python/Arduino seriella styrenheten: Hemlagad masugn

Det som började som ett enkelt projekt att göra en liten bränning behållare för keramik experiment spiral utom kontroll i en skrot-konstruerade, kontrollerad CPU, syre-insprutning miniatyr masugn.Det färdiga projektet kombinerar ett GUI-gränssnitt, I...

Låt oss göra Arduino musik

HejSimpleCircuit här med ett enkelt musikaliska projekt. Detta Instructable är en förlängning av flera tidigare Instructables och tutorials, så ett tips på hatten till "Arduino-musik" och "Demotime – Arduino Music" av Misperry, "H...

Beverly-kross: lite krossning. 1 bit Arduino musik.

Jag hade letat efter ett verktyg för att konvertera ljud ner till 1-bitars djup men gav upp och skrev min egen. Stödjer export för Arduino skiss.Jag erbjuder här en ljud-krossning program som även gör exporterar till arduino skiss extremt lätt så att...

Arduino - musik

i den här videon kommer vi att titta på hur man får arduino att spela musik. Denna video kommer också att ett förspel till hur man gör samma sak med hjälp av en enkel pic mikrokontroller.Arduino exempelkod:http://Arduino.cc/en/tutorial/Tone...

Python + Arduino, CarControl v.03

har du någonsin köpt något bara för att ta isär? Jag köpte denna fjärrkontroll bil hoppas att köra den från min dator. Jag använde Python, en Arduino ombord och ca 300 rader kod. Tog mig ett par timmar att få ihop och ett annat par att tolerera denna...

Arduino musik starter

Arduino är en av de snyggaste microcontrollers. För nåt såenkelt, det kan göra en otrolig mängd projekt. Ett sådant projekt som intresserade mig var Digital melodi projektet. Om du har en den Arduinos där Atmel chip kan tas bort, kan du göra ditt ege...

Arduino Master Modbus RTU Scada industriella anslutning

Detta bevis trots att simulera andra genomförda tester i tidigare inlägg genomförs Arduino och protokoll Modbus RTU seriell master-läge, är det första steget för att ansluta arduino en miljö Scada industri kommer vi se mer innan du implementerar Modb...

Intel Edison Sensor Dashboard med fribord/Python/kolv (minimal programmering krävs)

Först ville jag säga tack för möjligheten att arbeta med en Edison och ges en vid Intel/Instructables för att ange deras IoT tävling. Jag tror att detta är ett bra sätt att göra samhällsbyggande och uppmuntra utvecklare att få engagerade och ombord....

Intellekten Edison Sun Station (UV och Temp) med Python #IntelMakerMx

Vi ska använda våra Intel Edison med en Arduino shield och en grove sköld för att ansluta så många sensorer som du vill.GitHub: https://github.com/Kurtz1993/iot-roadshowSteg 1: Kommunicera med våra Edison genom en seriell COM Första, låt oss kommunic...

Min PLC Panasonic FPX C14 R och Arduino

Jag presenterar den FP-X serien av Panasonic (Nais - Aromat) efterföljaren till FP1 serien med en optimerad rörelse kontrollsystem minskat och ökat minnesstorlek och hastighet bearbetning värde har en varidade av kassetten för kommunikation i Etherne...

Android G1 följetong till Arduino Robot

lära sig hur din Android mobiltelefon kan styra en robot med en Arduino ombord. Telefonen tar kommandon via telnet från en annan telefon eller en PC, så kan du fjärrstyra roboten. Detta projekt kommer annars inte ändra G1 så du kan fortsätta använda...

Fisk Feeder Arduino Raspberry Pi länk

"Vad en tråkig svart låda"Ja det är, men:– Det matar mina fiskar när inte jag är där.-Den lever vid en fördefinierad tidpunkt.– Det känner av den mat som ges till fisken– Du kan logga in distans till raspberry pi att se status.– Det kan skicka e...

Arduino-baserad ledar-tar tid för skolor

om din skola, eller barn skola eller annan plats utnyttjar en central master klocka som är bruten, du kan ha en användning för den här enheten. Nya master klockor finns naturligtvis, men skolan budgetar är under extrema påfrestningar och det verklige...

TweeToy av Raspberry pi med Python

Jag skapade en leksak som talar somebody's tweets med Raspberry Pi.Denna leksak fångster objekt av avstånd sensor och sedan göra ljud (Tweet).Arkitekturen är mycket enkel. För att få Tweets, bara med hjälp av twitter api för python. Och spela upp lju...

Arduino Tone Music

Detta är en Arduino projekt som använder inhemska tonen generera förmåga Arduino för att göra musik. Du kan använda den skiss som började komponera musik i ditt eget! Göra det spela "Happy Birthday" för en vän. Här ser du hur man gör musik med d...

PS3 Controlled Arduino Based Hovercraft (Bluetooth) by Micrazysoft

IntroduktionKommersiella svävare är dyrt, så vi byggde en hemmagjord svävare. Vår svävare kan gå rak och stänga via PS3-handkontrollen. Detta Instructable lär dig att bygga en DIY svävare med en PS3-handkontrollen. Kräver de grundläggande färdigheter...

Arduino Laser gitarr

Här är det! Den och enda Instructable du någonsin behöver. Arduino Laser gitarr.Vad du behöver:-10 k motstånd-Laser Module (Sparkfun.com)-Ljussensorer (Amazon.com)-Wire (Mine bärgades från gamla USB-kablar)På/av-knappen (Amazon.com)-Arduino Uno (Amaz...

Elektroniska LEGO Super Mario Bros. svamp

Inlämnad för godkännande av Instructables samhället, ge jag dig ett annat elektroniska LEGO projekt med en retro videospel tema!Använda exakt samma principer för design och konstruktion som min Elektroniska Super Mario Starmen, har jag byggt en annan...

Electronic LEGO Super Mario Starman

Detta är ett roligt och unikt projekt att jag inledningsvis började byggnaden strax efter utgivningen av min Elektroniska LEGO Star Wars DL-44 Blaster Pistol --vilket innebär naturligtvis särskilt projektet byggdes med hjälp av min förvärvade kunskap...