Datorkomponenter
- moderkorts val till i5 4670k
- Minsta möjliga M-Itx + grafikkort.
- Ritplattor för photoshop,ink etc?
- Köpte defekta hårddiskar - jättetrasiga...
- Asus Sabertooth 990FX eller Asus saberto...
Eftersom båda jag och sambon gillar "saker från den gamla goda tiden", så bestämde vi oss för denna fina stereo, en Sanyo DC-70 (på utseendet gissar vi att den är från 50-talet). Köptes på Blocket för 350kr i fullt fungerande skick.
Mycket gammal och dammig elektronik på insidan, långt före digital teknik och micrprocessorer med andra ord. Notera den totalt monstruöst stora vridkondensatorn för radiomottagaren nere till höger.
Det tog att ta att få loss all elektronik, jag fick vara systematisk eftersom alla skruvar, muttrar och annat skulle återanvändas. Här ser man också hur tunern fungerar; ett snöre...
Hade inte den blekaste aning om hur jag skulle få knapparna att fungera. Men hittade en tutorial på nätet för hur man kunde koppla knappar via seriell porten och få dem att funka med ett Winamp-plugin (http://www.danielandrade.net/2005/11/17/...).
När jag lärt mig lite mer om seriell porten så började jag laborera lite, detta är det första försöket. Det jag gjorde var helt enkelt att koppla in den i datorn, och genom ett Java-program se när jag kortslöt vissa kablar. Testet gick utmärkt, så nu visste jag i alla fall att knapparna inte skulle vara omöjligt att fixa, potentiometrarna (de man vrider på) var fortfarande ett problem.
Efter lite mätande bestämde jag mig för vilken hårdvara jag ville ha. Moderkortet, kanske lite omodernt nu, var det senaste när jag köpte det! =)
Viktigt var också att jag behövde en seriell- och en parallell-port. Då var tanken att jag förmodligen kommer använda någon eller båda för att kontrollera knapparna och potentiometrarna.
Ju mindre desto bättre. Detta är på 90W, och hade framförallt en adapter som kunde placeras utanför stereon, för att slippa den extra värmen.
Ett av "kraven" med bygget var att stereon skulle kunna spela upp CD-skivor (jag sa ju att vi gillar gamla saker). Efter mycket funderande kom jag fram till att det måste vara en slot-in spelare (dvs. utan kaffekoppsstället, utan en där man skjuter in skivan genom en springa), och pga. placeringen så fick det bli en slimline.
DVD-spelaren var inte så svårt att hitta, däremot var det ingen som sålde slimline SATA-kontakter. Denna fick beställas via eBay från Hongkong. Fick den dock för under hundralappen inkl. frakt.
Ungefär här slutade mina kunskaper för projektet. Jag har nog plockat ihop 6-8 stycken datorer genom åren, och varit inne och rotat i tio gånger så många säkert. Men den delen av projektet var klar i och med detta.
Så det är här som min mentor i elektroniklära kliver in. =)
Jag slängde ut en fråga i forumet om hur i helsike jag skulle kunna få till vridkontrollerna på stereon. AMD_Rulez svarade och föreslog att jag skulle göra ett eget kretskort med en PIC-processor som kunde sköta alla knappar (jag antog såklart att det var ett skämt).
Men när jag började diskutera mer med AMD_Rulez visade han sig vara så extremt hjälpsam (och dumdristig?) så han kunde tänka sig att inte bara programmera en PIC till mig, utan även hjälpa mig att göra hela kretskortet.
Eftersom jag ville förstå hur det hela fungerade så ville jag vara så delaktig som möjligt. Jag vet inte hur länge jag och AMD_Rulez satt på MSN och pratade om hur elektronik fungerar, men jag läste utan problem igenom Electronics for Dummies under den perioden. =)
Säg att det tog 1-2 månader totalt kanske, sen hade vi kommit fram till en färdig design i Eagle för kretskortet (och jag förstod faktiskt hur det fungerade). Så, en tid senare kom ett brev på posten! Ett kretskort och en PIC från min läraromästare. =)
Plexiglas är ett underbart material när det kommer till byggen kom jag fram till. Det är stabilt, lätt att kapa och skitsmidigt att jobba med eftersom det är genomskinligt. Här mätte jag upp var moderkortet och kretskortet skulle sitta någonstans.
Ungefär samtidigt gjorde jag mitt första besök på Elfa för att köpa alla delar. Som synes hade jag under tiden vi arbetat också kommit fram till att jag ville ha en LCD-skärm till stereon, så den köpte jag samtidigt. (Jag tänkte att om jag lyckas med kretskortet måste ju en LCD-skärm vara rena barnleken!)
Så, det var bara att sätta igång och borra många små hål och sedan löda fast komponenterna på kortet. Lagom pilligt var det.
Såhär blev alltså kretskortet, lite av kärnan i projektet (lite som modermodemet i datorn ni vet).
Det består av en PIC16F690 (den större processorn) som kan läsa av läget av sex knappar (av/på) samt fem vridpotentiometrar (0-255) som kopplas in på de två raderna av pins. Till höger är en MAX232 processor som sköter kommunikationen över seriell-porten till datorn.
Kretsen drivs med 5V spänning från en molex, den har "spänningsskydd" i form av motståndet och kondensatorn uppe i vänstra hörnet och har inbyggd on/off switch via transistorn där bredvid. On/off kan togglas via en pin på seriell-porten.
De fyra vippkontrollerna som satt på framsidan fick jag återvinna, eftersom det var lite svårt att hitta ersättare till dem. Såhär såg de ut när jag lött bort dem från det gamla kretskortet.
Köpte ett blankt kretskort på Kjell&Co eftersom det hade precis rätt storlek, sen slet jag bort kopparytan (Kunde inte används plexi eftersom det behövde tåla lödning). Var mäta upp alla hålen med linjal, hade ju redan ett facit på det gamla kortet.
Fäste dem genom att löda fast dem. Det gick inte att böja fötterna på dem och det var tvugna att sitta rätt bra. Även lött på sladdar för testning.
Denna var till för att växla mellan fyra olika lägen på originalstereon. Jag kopplade den så informationen förs över "binärt" med två bits till kretskortet, så lägena är 00, 01, 10 eller 11. På det sättet behövde jag bara använda två knapp-platser på kretskortet för denna istället för fyra.
Så dessa var tänkta att kontrollera volym, balans, bas, diskant och tunern. Till skillnad från knapparna, som jag kunde återanvända så var jag tvungen att byta potentiometrarna eftersom två av dem var ganska oxiderade. Så dessa köptes nya på Elfa.
Så, allt ikopplat började jag testa kretskortet. Första problemet visade sig vara att jag inte visste hur jag skulle få det att fungera i mjukvaran. Det ville helt enkelt inte i Java. Vår misstanke var att Java inte skickade rådatan utan gjorde något med den. Jag bestämde mig för att låta det ligga ett tag.
Jag fokuserade istället på att försöka få till LCD-skärmen, en 40x2 teckens alfanumerisk LCD-display med grön backlight och HD44780 controller. Vilken tur att moderkortet hade en parallell-port! Kopplingschema hitta ni här: http://lcdsmartie.sourceforge.net/lcd447...
Här är då molex-pins, den drivs på 5V precis som kretskortet. De två potentiometrarna är till för att kontrollera kontrast och ljusstyrka på skärmen. Och till min stora förvåning så fungerade LCD-skärmen på första försöket!
Men, en grön LCD-skärm ser ju inte särskilt retro ut (eller ja, typ 80-tals retro möjligtvis). Men under tiden jag läste om LCD-skärmar på nätet för att kunna koppla ihop den så råkade jag också se att man kan invertera skärmen genom att rotera polariseringsfilmen på den.
Så, för att inte förstöra min fungerande LCD (som dessutom gick på nästan 500kr) så fixade jag en enklare 20x2 för nån hundring att testa med. Polariseringsfilmen var fastklistrad på glaset, men med lite våld så fick jag loss den. Klistret på glaset lossnade lätt med lite Isopropyl, men satt stenhårt på filmen.
Såhär ser alltså LCD-skärmen ut utan glasskärmen. Det som finns kvar är alltså TN-backlight'en.
Såhär blev alltså testskärmen. Tyvärr ville den bara invertera om man vred den 90 grader (eller vände, men då blev det fult pga klistret som var kvar), så jag klippte sönder polariseringsfilmen.
Så, eftersom jag behövde ny polariseringsfilm till den stora LCD-skärmen beställde jag det från polarization.com
Sen gjordes alltså processen om på den stora LCD-skärmen. Jag klippte till filmen lite utsvängt för att kunna finjustera vinkeln senare.
Denna lilla rackaren skulle vi göra något med också. Kollade lite på vad som skulle krävas för att få den att reagera på musiken, vilket skulle inneburit ett kretskort till i princip (någon som har en bättre lösning?). Så jag gick över till att istället låta den visa hårddisk-aktivitet eftersom det är långt mycket lättare.
Så, först mätte jag upp motståndet som behövdes för att 100% aktivitet skulle nå precis upp till max på mätaren, det gjordes med en potentiometer.
Hårddiskindikatorn på moderkortet är ju binär, dvs. antingen används hårddisken eller inte, så om man kopplade mätaren direkt så fladdrade bara pinnen fram och tillbaka. Så jag kopplade en kondensator över för att jämna ut strömmen. Med en kondensator över den så jämnas signalen ut och pinnen rör sig lagom snabbt.
Efter mycket mätning som kom jag fram till var på fronten min slot-in CD skulle sitta. Det mest diskreta blev under kontrollerna.
Så, dels eftersom jag inte äger någon borrmaskin, och dels för att jag ville ha full kontroll, så handborrade jag alla hål för CD-springan.
Efter hålen så sågade jag ut mellanrummen med en figursåg. Sedan tog en lång tids fräsande med min dremel vid för att jämna ut det hela.
En fin springa. Arbetade vidare ett tag efter detta med våtslippapper så kanterna blev helt jämna. Man vill ju inte att CD-skivan ska bli repig när man skjuter in den!
Eftersom det skulle varit totalt omöjligt att mäta sig till exakt var CD-spelaren skulle sitta baserat på springan jag gjorde i fronten, så byggde jag en liten "hållare" till den i Plexi. Med hjälp av denna kan man sedan justera positionen både i sidled och höjdled, samt justera vinkeln.
Jag byggde även en upphängning för hårddisken. Hade över ett par skruvar med gummibussningar från bygget av min stationära dator, så dessa fick gå till att dämpa vibrationer i stereon.
Så, när alla delar var klara så var det bara att göra chassit lite snyggare, så det målades svart.
Så, äntligen kan man börja montera på delarna ordentligt. Detta är i runda slängar hösten 2009, dvs. ett år in i bygget.
Som ni kan se så kan den justeras i höjdled med skruvarna på framsidan. med de bakre fästena (som inte syns) kan även vinkeln ställas in.
Så då var det dags att försöka så dit LCD-skärmen. Sån tur var hade jag gott om plexi över. =) Eftersom jag sedan skulle passa in skärmen i springan där radiosökaren tidigare varit så var jag tvungen att göra även denna upphängning justerbar.
Utöver detta så behövde jag också göra själva hålet på fronten större eftersom bara första raden av LCD-skärmen var synlig genom tuner-springan. Så jag polerade bort AM-bandet.
FM-bandet fick vara kvar. För att FM-radio raden skulle se ut som tidigare så fick jag sätta på en rad med gula lysdioder. (En sista diod går också vidare till att lysa upp bakom hårddiskindikatorn. De är satta i serie på för att passa in på 12V linan.
Som av en ren slump så var tuner-fönstret precis på milimetern lika bred som min LCD-skärm, så jag behöver inte justera något i bredd.
Under våren och tidiga sommaren så försökte jag lära mig C++ eftersom det visat sig att Java inte ville fungera med seriell-porten. Jag lyckades lära mig tillräckligt mycket C++ för att lyckas göra ett litet program som kunde kommunicera med PIC-processorn. Tyvärr visade det sig att den inte fungerade som den skulle, potentiometrarnas värden påverkades av varandra (AMD_Rulez förklarade varför, jag kan inte säga att jag förstod exakt vad som var fel, men det var sån tur var fel i koden i PIC'en och inte på kretskortet).
Så, jag gjorde vad vilken normal människa som helst skulle gjort. Jag vallfärdade till Jönköping... (Där AMD_Rulez hade tillgång till ett lab.)
Detta är i slutet av oktober 2009.
När den var omprogrammerad kopplade vi in den på en testbedd för att se att allt såg schysst ut.
Nu säger PIC'en det den ska. Totalt 6 bytes skickas varje runda, första byte'n innehållande läget på alla knappar och de andra fem för läget på varje potentiometer. Vackert!
Detta är då potentiometern för radio-tunern. Självklart skulle ju stereon ha kvar denna funktion, det finns ju internet-radio för sjutton! Det gick inte att koppla potentiometern direkt till kontrollen på fronten eftersom man inte skulle kunna rotera den flera varv. Med originallösningen kan man vrida säkert tio varv när man söker efter kanal, så man kan ha fler kanaler utan att göra det svårt att hitta rätt.
Hjulet var för fult, så det målades om svart. Lösningen med ett snöre fick vara kvar. Detta är persienn-snöre, starkt och bra.
Det nya snöret var för glatt för att vilja följa med när man vred på kontrollen, så jag satte dit en bit krympslang för att öka friktionen.
Lägligt nog var originalhålet för strömsladden lagom stort för att få plats med kontakten till nätaggregatet (det drivs ju med en extern adapter).
Man får inte glömma ljudet på en stereo. För att inte förändra baksidan på stereon (för det är ju viktigt?) så använde jag samma RCA kontakter som redan fanns på stereon. Detta är båda in- och ut-signal. De kopplades till varsin 3,5mm audio kontakt som kopplades in på moderkortets baksida.
På fronten av stereon finns en kontakt för hörlurar. Jag läste mig till att för att koppla in en kontakt direkt på F_AUDIO kontakterna som finns på moderkortet skulle man komplettera med lite grejer. Såhär blev resultatet. Funkar fint!
För att modernisera stereon lite så ville jag ha en fjärrkontroll. Jag hittade denna lilla kontroll från Sweex. Den går dessutom på Bluetooth så man kan vara var som helst i lägenheten och ändå styra stereon som man vill.
Här är Bluetooth mottagaren till fjärren, ihop med en kär gammal vän som ni säkert sett tidigare här på SweC, mitt Glasminne.
Det är nu sen vår 2010. Linux är installerat och jag började fnula på hur mjukvaran skulle lösas.
Nätverkskortet fungerade också (Jag tror jag jobbade med att få nätverkskortet att fungera i ungefär 3 veckor, Linux och drivrutiner...), så vid det här laget kunde jag ställa stereon på sin rätta plats. Allt kunde skötas via Putty och FTP.
Under sommaren 2010 kom jag till insikt om att jag aldrig skulle klara av att skriva koden i C++. Jag kunde få ihop små enkla program, men detta projekt var för stort för att skriva i C++ för mig. Så istället började jag lära mig Python (fantastiskt enkelt språk!).
XMMS2 fick utgöra grunden till spelaren, eftersom den klarar av CD-skivor och hade kompletta Python bindings. LCDproc fick ta hand om LCD-skärmen, även fast jag egentligen inte gillade idéen med Telnet-interface. Fjärrkontrollens kommandon gick att läsa direkt från /dev/rawinput0, så med det var alla problem lösta och bara koden återstod. Jag jobbade med det under kvällarna på hösten och, det hela började bli klart lite innan jul.
Nu vet ju jag att ni gillar sleeves här på SweC. Så jag kände mig tvungen att köpa skaffa ett par meter och snygga till insidan också. Som ni kan se i tidigare bilder var det rätt mycket sladdar, som dessutom var bra mycket längre än vad som behövdes.
Såhär mycket bättre blev det när alla sladdar var avkortade och sleeve'ade.
LCD-skärmen blev inte sleeve'ad, den kändes lite för känslig. Så jag nöjde mig med att korta ner längden lite.
Såhär blev den!
Retrostereo kan spela upp filer lokalt eller över nätverket (t.ex. från min NAS-server), den streamar internet-radio, och kan spela CD-skivor för vilka den själv söker upp låtnamn, artist osv. från Musicbrainz webbservice. Det finns en huvudmeny som kontrolleras via fjärrkontrollen för att göra förändringar i spellistan, lägga till mappar eller filer, byta låt eller ställa in vilken equalizer-kurva man vill använda. Tunern fungerar precis som förut men söker istället av en spellista med internet-radiokanaler.
Kontrollerna:
On/off uppe till vänster.
Bas, diskant, balans och volym i kontrollerna ovanför CD-springan.
De fyra vipp-kontrollerna styr just nu sortering av spellistan samt om spelad eller återstående tid ska visas (två av dem har jag inte kommit på vad de ska vara till än... några förslag?).
Näst intill hårddiskindikatorn sitter tunern samt en mute-knapp.
Nedre högra hörnet har vi till sist 4-läges strömställaren som växlar mellan CD-uppspelning, filer, streams eller "viloläge".
Spelaren har ett menysystem där man kan lägga till och ta bort filer i spellistan, ändra ordningen, byta låt eller equalizer-inställningar.
Notera t.ex. att tiden kan visas både som spela tid samt återstående tid (ställs in via en av knapparna). Nere till vänster visas också status for uppspelningen (play/pause/stop)
Uppspelningen växlar automatiskt till den nya radiokanalen när man låtit sökaren vara stilla i 3 sekunder, för att slippa att ljudet hoppar.
De övriga ljudinställningarna visas på första raden under tiden man ändrar på en av dem.
I framtiden ligger bl.a. att jag tänkt fixa ett bra webb-interface så man kan sköta spellistor direkt via en annan dator, eftersom de kan bli lite jobbigt att göra allt sånt via fjärrkontrollen.
ps. ja, som några kommenterat, högtalarna passar verkligen inte in. De är högst tillfälliga och ska när tillfälle ges bytas ut mot mer tidstrogna högtalare. Lider tyvärr av platsbrist just nu bara =P Men om ni känner till några som skulle passa så säg till! ds.
Hoppas ni orkat med alla bilder och all text!
Glöm inte betygsätta, och kommentera gärna!
Tack för att ni tog er tid!
221 debattinlägg
Redaktionens senaste nyhetsrubriker
Senaste diskussionstrådarna
Prylar säljes, köpes, bytes och skänkes
Senaste nyhetsrubrikerna