Armelui's Voorversterker
Armelui's Voorversterker
In het voorjaar was het de bedoeling dat ik hiermee zou beginnen, maar het kwam er niet van, andere PIC-projecten bleven nog een tijd aankleven.
Bedoeling is dat het een relatief goedkope (Armelui's dus) uitvoering wordt, maar toch complex.
De belangrijkste onderdelen;
PIC 16F877A
I2C klok DS3232 of DS1307 staat nog niet vast.
CD4052 In- en Uitgang multiplexer voor audio, 2x of 4x onzeker nog.
MCP23017 2x (2x8bits versie van de MCP23008).
TDA8425 1x Volume, Balans en toonregeling.
DAC 1x
...
Verder is de bedoeling dat gezette tijden bepaalde acties worden uitgevoerd, ook voor mijn Tascam recorder
Daarnaast worden ook SPDif/Toslink bronnen omgeschakeld,
mbv. de MCP23017.
Laatste dagen heb ik een demo code gemaakt, om te zien of ik de MCP23017 en de TDA8425 werkend kreeg, en dat is nu gelukt.
Wordt vervolgt...
@Stynus zo blijft topic overzichtelijk, prima zo.
Ben weer wat verder nu, eindelijk heb ik 'n paar IR afstandbedienings toetsen ook (herkenbaar) werkend.
Hiermee ga ik later verder wanneer ik de Menu's ga maken.
Hier moet ik dus nog goed over nadenken.
Verder probeer ik ook temperatuur en luchtdruk te meten als er ruimte overblijft in de .bas file, dit komt als laatste.
De CD4052 is eigenlijk CD4051, een kleine tikfout.
Ik heb 'n paar (test)Menu's gemaakt waarbij ik de "Mode" knop van m'n afstandsbediening de mode-toets in divers Modi kan gebruiken.
Op dit moment heeft die al 6-functies.
De 1e functie (Digitaal uit) kan ik de MCP23017 uitgangen afwisselend "hoog/laag" maken, dit doe ik mbv. de "Vorige- en Volgende-toetsen" tevens denk ik dat de 877 wellicht te krap wordt, daarom heb ik de PIC18F45K22 besteld.
Nu is het geheugen ca.40% gevuld, ook met wat overbodige dingen, maar toch...

Op dit moment heeft die al 6-functies.
De 1e functie (Digitaal uit) kan ik de MCP23017 uitgangen afwisselend "hoog/laag" maken, dit doe ik mbv. de "Vorige- en Volgende-toetsen" tevens denk ik dat de 877 wellicht te krap wordt, daarom heb ik de PIC18F45K22 besteld.
Nu is het geheugen ca.40% gevuld, ook met wat overbodige dingen, maar toch...

Afgelopen weekend de code omgezet naar 18F45K22,
natuurlijk komen er dan weer eigenaardigheden naar voren.
Deze heb ik kunnen oplossen.
Lijkt net of de MCP23017 ligt te slapen, laat ik het maar zo zeggen.
Ik moet de eerste commando dubbel uitvoeren, deze dus;
[code]I2COUT SDA,SCL,$42,[$00,%00000000] 'uitgangspoorten, bv.[/code]
Anders zie ik niets verschijnen op de 8-uitgangs poorten van de 16, heel vreemd.
De andere 8-poorten hebben dit probleem niet, zet ik de 877A terug, dan is er niets aan de hand...
Dus nu kan ik 1 uit 16 poorten selecteren mbv. de AB. doormiddel van Bit-shift links/rechts en dmv. LowByte en HighByte stuur ik dan 8-bits tegelijk naar de beide 8-poorten afzonderlijk.
Eerst had ik de programmaonderdelen in gedeelten werkend, nu;
Dit weekend de verschillende programmaonderdelen samengevoegd en de aanroep functie's in een "main-loop" geplaatst.
Dit was belangrijk omdat dit afhangt of de Rotary Decoder en IR-Decoder al of niet samen werken.
Dit was eerst niet zo vanwege timings problemen;
De Rotary switch werkte niet meer en IR-Decoder helemaal niet meer.
Dit heeft mij een aantal zoek uren gekost.
Dat krijg je met de afsplitsing en samenvoegen van 'code' GoSub en GoTo aanpassen enz. het is noodzakelijk, want de 'main-loop' moet snel rondlopen.
Tot zover werkt het dus.
Zojuist de code voor de Klok-IC afgerond.
Tijd- en schakeltijd-instellingen dmv. de Rotary vragen 'n geheel andere aanpak.
Voor de Tijd en Schakeltijden zijn de Menu's aangepast, en (alleen) toegankelijk mbv. idd de Rotary.
Mazzel is, telkens wanneer de seconden (in LCD) verspringen de IR-codes nog goed worden uitgelezen (pfff).
Wat ik nu geleerd heb is, dat ik probeer zo gauw maar kan Rotary's ga gebruiken!!
Want klok instellen is zo gepiept :p
Toevoeging;
De source is inmiddels zo groot dat het niet meer in de 877 past.
Verder is van de DS1307 Kalender in de klokfunctie toegevoegd aan programma, in de timers zelf moet de kalender check nog in gezet worden.
Verder heb ik een nieuwe Rotary gekocht, die als ik heb zit een R,G LED ingebouwd maar ik zag dat er ook zijn die een RGB LED ingebouwd hebben, scheelt me weer gaten boren.
Het asje is nl. van doorzichtig plastic, en ook de bijbehorende knop.
Die stuur ik vanuit de PIC aan en dat moet dan een RGB gekleurde knop opleveren.
Verder wordt de LCD-Display 20x4 uitvoering.
Het schijnt dat er maar 1x Enable lijn opzit, eerder waren er uitvoeringen die 2 Enable lijnen hadden.
Wie weet hoe dit zit.
Ik kan geen nieuwe berichten hier meer posten, wel kan ze wijzigen.