Synthsaken

Digitala projekt, EITF40
Arvid Lindell (dt08al6), Johan Wennersten (dt08jw2)
Handledare: Bertil Lindvall

Demonstrationsfilm
Rapporten
Merparten av koden
PS/2 till USB delen

Beskrivning

Vi har byggt en synthesizer som använder ett vanligt PS/2-tangentbord som inmatningsenhet. Konstruktionen omvandlar även de mottagna PS/2-signalerna till USB, vilket möjliggör att man kan använda äldre tangentbord på nyare datorer (som kanske inte har PS/2-port). En display visar upp vågformen av ljudet som genereras, och gällande inställningar.

Vad har vi lärt oss i denna kurs?

  • Vi har fått en ordentlig dos praktisk erfarenhet av analog och digital elektronik.
  • Vi har lärt oss att elektromagnetiska störningar kan uppstå ganska snabbt, och orsaka ordentliga problem.
  • Fått förståelse i hastighetsskillnaden mellan att använda färdig hårdvara och återskapa hårdvaras funktionalitet i mjukvara, och implikationer av detta.
  • Vi har lärt oss programmera AVR, och fått erfarenhet i att använda allehanda inbyggda hårdvarukomponenter.
  • Hur USB och PS/2 fungerar på låg nivå.
  • Praktiskt använda och designa lågpassfilter, och bevittna magin de kan åstadkomma.
  • Och mycket, mycket mer vi inte kommer på för tillfället.
I många programmeringskurser är det egentligen strunt samma hur man löser ett problem, då datorer idag är tillräckligt snabba för att hantera en långsam lösning på ett någorlunda bra sätt ändå. I vårt projekt har det varit relevant att få allting att klaffa (displayen ska uppdateras någorlunda ofta, ljudet måste uppdateras kontinuerligt etc), och när man har begränsad hårdvara blir det helt plötsligt ett måste att fundera ut alternativa och kanske rent av lite finurliga sätt att lösa problemen på. Man kan ofta inte förlita sig på att man har stark hårdvara i bakgrunden, vilket har varit _otroligt_ roligt. Exempelvis kan hastighetsskillnaden med att byta ut en modulodivision till lite bitskiftsmagi göra att systemet hinner med, och att ens sak plötsligt fungerar.

tl;dr

Kursinnehållet och kursansvariges (och kollegors) hjälpsamhet och trevliga bemötande gör att vi rekommenderar denna kurs så högt vi bara kan. Alla D:are och E:are borde läsa den, och speciellt de som gillar att pula med lågnivåsaker.