Innehållsförteckning:
- Steg 1: Tangentbordet abstrakt
- Steg 2: Anslutning från tangentbordet
- Steg 3: Konsolidera tangentbordsutmatningar i skiftregister
- Steg 4: Sätta ihop hårdvaran
- Steg 5: Arduino -komplexet
- Steg 6: Arduino -programvaran
Video: MIDIfying ett elektroniskt orgel: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:41
Denna instruerbara vägledning leder dig i att ta det gamla oälskade elektroniska orgelet som du har i ditt garage eller källare och omvandla till ett modernt musikinstrument. Vi kommer inte att stanna för mycket vid detaljerna i det specifika orgel du har, förutom att säga att det typiska musikaliska tangentbordet i grunden är en uppsättning tangenter som ansluts när de trycks till en gemensam buss. I den gamla världen existerade avsevärda kretsar bredvid tangenterna som orsakade att en utgång skickades till bussen, som i sin tur förstärktes och skickades vidare till ett ljudsystem. Idag är tangentbordet en uppsättning sensorer; vi läser tillståndet för de enskilda nycklarna och skickar ändringarna till en mjukvarusyntetiserare, som drivs av MIDI -kommandon.
Den instruerbara täcker mycket av processen, från att samla in nycklarnas digitala tillstånd, hantera den med en Arduino -mikroprocessor, bygga en MIDI -dataström och skicka den vidare till en dator (inklusive Raspberry Pi) som kör syntesen.
Steg 1: Tangentbordet abstrakt
Följande representerar ett abstrakt elektroniskt organ, där varje rad är en uppsättning nycklar eller stopp eller andra kontrollomkopplare. 0 -kolumnposterna representerar enskilda nycklar och - en buss som tangenten är ansluten till när den trycks in. Den 61 nyckeln Great Manual kan vara den första raden, Swell Manual den andra raden, pedalerna den tredje och stopparna osv den fjärde. Raderna innehåller faktiskt 64 element på grund av dess digitala betydelse som effekt 2 utöver 61. Inom tangentbordets rader följer tangenterna normal musikalisk konvention med C till vänster.
Buss 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Buss 1 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Buss 2 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Buss 3 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Varje buss är oberoende och elektriskt isolerad från sina kamrater. De första 8 elementen är markerade med fet stil, med 8 sådana block i ovanstående arrangemang. Nästa steg beskriver en kretskort som fungerar på de djärva elementen och de andra 7 blocken av dem.
Nycklarna har representerats som 0: or ovan. Vi kan ta detta lite längre och säga att en tangent är en digital 1 när den trycks ned och 0 annars. Och nycklar kan vara konventionella musikaliska vita lägenheter eller svarta vassar, eller orgelpedaler, eller orgelstopp, eller en bank med vridomkopplare som kan ge oss en saxofon ton. Vi betraktar helt enkelt instrumentet som en uppsättning växlar på en uppsättning bussar, och i huvudsak en digital ström av 0 och 1: or.
Steg 2: Anslutning från tangentbordet
För att hjälpa till med att koppla in tangentborden har ett kretskort konstruerats med Eagle CAD. Dess storlek är cirka 96 mm X 43 mm, och 8 krävs, som sträcker sig över baksidan av orgelklaviaturenheterna.
Låt oss titta på detta kretskort (PCB) i detalj. Den vänstra bilden är framsidan av kretskortet som komponenterna är monterade på, och den högra är dess baksida där vi lödar komponenterna.
För det första är 2X3 -komponenterna upptill avsedda att ansluta till tangenterna ovan, med de två översta anslutningarna buss 0 och 1, nästa par 2 och 3, och det nedre paret också bussar 2 och 3. Det konstaterades att ett kretskort 2X3 -huvudet var tillräckligt styvt för att rymma enkelsträngad anslutningstråd från nycklarna som helt enkelt skjuts in i huvudet, liknande Arduino -skärmledningar. Anslutningstråden som jag använde återhämtades från originalorganet; den är 0,75 mm i diameter.
Så varje 2X3 Header rymmer en kolumn med de fetstilade markerade tangenterna, eller i stora drag en anteckning. Styrelsen kräver således 8 av dessa rubriker. Bilden innehåller en av dessa kvinnliga rubriker längst upp till vänster. Den mellersta delen av kortet är fyllt med 32 dioder (1N4148 eller liknande), var och en motsvarar en av de röda ingångarna. Diodpolariteten är som markerad på kortet, med katod (svart band) i den övre änden av kortet. En enda diod visas i position 4. Slutligen fyller en enda 2X5 hanrubrik den lägsta delen av brädet. Dess övre 2 stift är inte anslutna. Stift 1 ligger i det nedre högra hörnet och ansluter till de 4 längst till vänster dioderna, stift 2 till dioderna 5-8 och slutligen 29-32 ansluter till stift 8. Rubriken kan klippas från en längre DIL-sektion, som visas på styrelsen. Ledningarna mellan de olika komponenterna bärs in i själva kretskortet, med den enda lödningen som krävs för dioder och huvuden.
8 av dessa kompletta brädor monteras omedelbart under manualerna med hjälp av de medföljande monteringshålen som sträcker sig bekvämt över orgeln. Funktionen för detta kort är således att ta ett block med 8 nycklar över 4 bussar och presentera det för en manlig rubrik till vilken 10-vägs bandkabel kommer att anslutas för överföring till nästa steg. Kortets design kan laddas ner från den medföljande zip -filen.
Steg 3: Konsolidera tangentbordsutmatningar i skiftregister
Ytterligare två kretskort krävs, som visas ovan. De är kända som DIN R5 och är populära i MIDI -världen, även om de helt enkelt tillhandahåller en skiftregisterfunktion. Först i den övre horisontella sektionen kan du se 4 2X5 hanrubriker, som via bandkabel ansluts till 2X5 -motsvarigheten på de 8 korten ovan. Vi behöver två DIN -brädor för att rymma våra 8 sådana kablar.
Längre ner på brädet finns IC-chips som bildar ett 32-bitars skiftregister, och slutligen av intresse för oss är ytterligare två 2X5-rubriker, varav en (J2) gängar till ytterligare DIN-kort (vår andra), och den andra J1 till vår Arduino eller Arduino-liknande mikroprocessor.
För att sammanfatta har vi -
- Upp till 4 bussar med 64 nycklar som matar in
- 8 kort med 32 ingångar, 8 utgångar per buss
- dessa 64-utgångar matas in i 2 32-bitars skiftregister
- Arduino -mikroprocessorn cyklar över bussarna
Steg 4: Sätta ihop hårdvaran
Anslutningarna mellan Arduino, de två DIN -skivorna och bandkablarna från organknappkomplexet illustreras i bilden ovan. Observera att den andra DIN: s J2 bara är tom.
Kontaktdonen använder IDC-teknik (isolations-förskjutningskontakt), och ledningarna behöver inte avlägsnas eller separeras. De appliceras på kabeln med ett kompressionsverktyg som finns hos hobbyister. Till vänster kan änden av den krympade kabeln prydas med ett rakblad; i mitten undersidan av kontakten ger en 2X5 honkontakt; och till höger en toppvy av kontakten.
DIN-skivorna och de anpassade PCB-brädorna fästes på orgelträverk med hjälp av rundskruvade mässingsskruvar och distanser. En delvy av de anpassade kretskort som är monterade i orgeln visas på bilden ovan. De övre anslutningskablarna ansluter stopp eller kontroller till brädorna, och massan till vänster kommer från pedalerna. Slutligen har avlägsnandet av tongeneratorerna och andra olika funktioner i det ursprungliga orgeln gjort det möjligt att återanvända tomrummet för vinlagring.
Steg 5: Arduino -komplexet
Arduino -komplexet sett till vänster om de två DIN -skivorna ovan kommer nu att diskuteras. Den består av tre olika lager, sammankopplade som Arduino -sköldar. Kretskortet som består av skikten är slumpmässigt färgat blått, grönt och rött.
Det blå lagret (överst) är en sköld som produceras av Freetronics, som ger en 16X2 flytande kristall teckenfönster. (2 rader med 16 tecken). Det är inte strikt viktigt, men är oerhört användbart för att kontrollera hur tangentbord, pedaler och stopp fungerar. Det drivs av LiquidCrystal -biblioteket, och andra hårdvaruvarianter kan enkelt ersättas.
Det röda lagret (längst ner) är en Teensy 3.2 monterad på ett Sparkfun Teensyduino -bräda. Teensy erbjuder direkt MIDI -stöd och beter sig annars som en Arduino UNO. Så att använda Teensy sparar komponenter nedströms. Strömförsörjningsanslutningen (5V 2A) finns längst ned till vänster och USB -kontakten som stöder seriell eller MIDI -utgång i mitten till vänster. Rubrikerna på övre och nedre kanter ger standard Arduino -sköldfunktion.
Det gröna lagret (inklämt mellan blått och rött) är ett anpassat kretskort. Dess syfte är i stort sett att stödja bitar som länk till DIN -skivorna och att klippa av externa ledningar. Några av dess funktioner är överflödiga. Den innehåller några kretsar för att stödja MIDI via en standard Arduino UNO. Det ger också en 2X5 hanrubrik för bandkabelanslutning till J1 -huvudet på det första DIN -kortet. Andra funktioner inkluderar stöd för volymkontroll; den ursprungliga orgeln använde en 10K potentiometer (kruka) som drivs av en fotsko.
De fyra horisontella huvuden ger standard Arduino -skärmanslutning till Teensy -kortet nedanför och Liquid Crystal -skärmen. Avtrycket som liknar en busstation i nedre vänstra hörnet är en rest, och den långa vertikala rubriken till vänster ger anslutning till de fyra bussarna, volymkontroll och mark.
Det anpassade kortet utvecklades med Eagle CAD, och zip -filer från Gerber -komplexet som skickades till PCB -tillverkare finns tillgängliga i PCB2 -zip -filen.
Steg 6: Arduino -programvaran
Programvaran utvecklades ursprungligen för en Arduino UNO och ändrades senare med mycket få ändringar för att använda Teensy. Pinanvändning är oförändrad.
Liquid Crystal -skärmen använder ett halvt dussin stift, och det beslutades att använda de analoga stiften i digitalt läge för att få ett block av intilliggande stift för bussarna. Volymkontrollen använder en annan analog stift i analogt läge.
Mycket av programvaran handlar om att läsa de enskilda tangentborden, pedalerna och stopptangenterna genom att möjliggöra varje buss i tur och ordning och markera bitvärdena ur skiftregistren som tillhandahålls av DIN -korten.
Nedströms miljö kommer vanligtvis att omfatta en processor som kör Windows, eller UNIX eller Linux, och en Software Synthesizer som FluidSynth, som i sin tur kan hanteras av jOrgan. FluidSynth drivs slutligen av en eller flera Soundfont (s) som anger vilket ljud som genereras när ett visst MIDI -kommando tas emot. Det finns en viss analogi med teckensnitt för textbehandling. För tangentbordet och pedalerna kommer en ändring från föregående skanning att resultera i att en MIDI Note On eller Note Off -sekvens genereras. Knappen längst till vänster är MIDI 36 och stegvis över tangentbordet. Bussindexet ger enkelt utrymme för MIDI -kanalnumret. För stoppknapparna genereras MIDI -programkontrollsekvenser, eller det kan vara klokt att generera Note On/Off och lämna det till jOrgan eller liknande MIDI -nedströms programvara för att tolka, justera och expandera. Oavsett vilken kurs som tas, åläggs det slutgiltiga beslutet genom definitionen av Soundfont (s) nedströms. Programvaran har använts i olika former för att generera MIDI via USB till Windows som driver Wurlitzer -applikationen och FluidSynth, och till en Raspberry Pi som kör FluidSynth och en General MIDI Soundfont. Denna beskrivning är visserligen skissartad, men alla som känner till Arduino -miljön eller C kommer inte att ha några svårigheter att ändra den för sina egna syften; det finns rimlig intern dokumentation och rimlig modularitet.
Arduino -programvaran finns i organino.zip.
Rekommenderad:
Ett enkelt elektroniskt spel: 4 steg
Ett enkelt elektroniskt spel: Du lär dig att göra ett litet mycket roligt elektroniskt spel. Du kan spela med dina vänner och testa din reflex. Tack UTSOURCE.net för att erbjuda elektroniska komponenter för mina projekt
4x4 Demo av ett elektroniskt schackbräde/ Med Arduino Mega + RFID-läsare + Hall-effektsensorer: 7 steg
4x4 Demo av ett elektroniskt schackbräde/ Med Arduino Mega + RFID-läsare + Hall-effektsensorer: Hej beslutsfattare, jag är Tahir Miriyev, 2018 examen från Middle East Technical University, Ankara/ Turkiet. Jag utbildade mig i tillämpad matematik, men jag älskade alltid att göra saker, särskilt när det handlade om lite arbete med elektronik, design och programmering.
Elektroniskt orgel: 5 steg (med bilder)
Elektroniskt orgel: Hej alla. Detta är en serie kurser, jag kommer att dela med mig av hur man använder kartonger och arduino för att göra något intressant , idag delar jag med mig ett elektroniskt orgel. Projektet är relativt enkelt, så enligt stegen som produceras är det inte alltför olika
Spricka och återställ ett elektroniskt kassaskåp: 3 steg
Spricka och återställ ett elektroniskt värdeskåp: lång historia kort, om jag tog bort innehållet i kassaskåpet för en vän, skulle jag kunna behålla värdeskåpet … varför inte ge det ett skott
Reparation av ett elektroniskt orgel: 8 steg (med bilder)
Reparera ett elektroniskt orgel: Vår enhet på college hittade detta orgel gratis på Craigslist. Efter den stora förvåning över det faktum att vi faktiskt gick ut och fick det här att ta bort, märkte jag att det verkligen inte fungerade så bra. Några av tangenterna fastnade, eller spelade inte eller pla