Het volgende document geeft informatie voor de ontwikkeling van uw eigen VACI. Wat ik heb gedaan is vrij eenvoudig maar het duurde ongeveer 3 weken van planning, programmering en foutopsporing. De wow-factor op deze interface is geweldig; iedereen die gezien / het systeem gebruikt heeft wil een in hun auto. Het systeem kan ook worden aangepast voor het automatiseren van accessoires, en met behulp van een CAN-bus systeem zou u sterk verminderen van de hoeveelheid bedrading.
Specificaties
• 2 x 8 bits rood groen en blauw arrays, 100mA zinkende capaciteit per kanaal. Voor gebruik met
Gemeenschappelijke kathode RGB versterkers (12V).
• 8-generaal accessoire uitgangen, 100mA zinkende capaciteit voor Relais (12V).
• 7 Sinking uitgangen aansluiten op digitale AV-switch.
• Compact past binnen AV-schakelaar
Vereisten
• Hardware
o 5 of 6 kanaals digitale AV-schakelaar met pull up weerstanden op elke knop normaal openen.
o auto PC (Bij voorkeur Lilliput PC745)
o gemeenschappelijke kathode 12V RGB LED versterker
o standaard 12V Automotive Relais (spoel moet minder dan 100mA)
o Pic Programmer (bij voorkeur PicAllw)
o 1 X Pic16F877a
o 3 X ULN2803AN
o 1 X SP232 – kunnen worden vervangen door MAX232
o 2 X 100nF condensatoren
o 2 X 10uF condensatoren – SP232
o 2X100uF condensatoren – SP232
o aantal extra 100nF, 10nF, 1uF en 10uF condensatoren te helpen PWM ruis onderdrukken.
o Development board – optioneel (http://www.olimex.com/dev/pic-p40.html)
o DB9- Connector voor de RS232 communicatie
• Software
o Visual Basic .net 2008
o Proton PicBasic Plus
o Pic Programmer Software (bij voorkeur PicAllw)
Punten van belang
Het begon allemaal na ik installeerde rood groen en blauw onder / interieur gloed en ik besloten dat ik gewoon niet graag de RGB controller door de fabrikant. Daarna kreeg ik een Lilliput PC745 als een geschenk voor het helpen van een vriend met een interactief leren software. Dus ik wat de heck dacht, zal ik deze controle door de Touch Screen.
Ik heb de programmatie van de PIC16F sinds de leeftijd van 13 dus wat denk je, heb ik besloten om het gebruik van een Pic16F877a. Ik bezit reeds een programmeur van PicAllw en een kopie van de Proton PicBasic Plus. Het eerste wat dat ik deed was een enkellijns 256-bits software PWM. Die was simpel en ik bereikt het binnen een dag, ik bleef vervolgens code voor één RGB PWM array via software die nog 3 dagen heeft te ontwikkelen.
Ontwikkeling van een systeem met twee RGB PWM arrays via software PWM, was meer een uitdaging. De belangrijkste strijd was de refresh rate. Aanvankelijk gebruikte ik een timer onderbreken voor het uitvoeren van de software PWM code, maar de LED-strip was flikkeren. Na een week van het knutselen met de code plaatste ik uiteindelijk de code in de hoofdlus zonder een vertraging.
De enige interrupt in de code is te ontvangen van de seriële string die controles van de RGB LED's.
Zodra ik heb met succes de twee matrices werken begon ik het schrijven van code voor een Plukker van de kleur. Ik wilde stijl en high-tech, dus ik ontwierp een soortgelijke Kleurkiezer te schilderen borstel. Dus kan de kleur worden geselecteerd door een enkele aanraking aan het scherm.
Vanwege de vele I/O pinnen van de PIC16F877 besloten heb ik om enkele accessoires op de gratis pinnen. Het eerste wat dat ik wilde controle van het touchscreen is mijn AV-schakelaar, die wordt geselecteerd van de ingangen voor mijn hoofd-unit, GPS, PlayStation, voor- en achterkant camera. Elke switch AV uitgang alleen moet fietsen om te "Druk op de knop" die werd gedaan in de hoofdlus wanneer de PWM strijd opnieuw instelt.
Dan gebruikte ik de 8 pinnen op poort D naar station algemene uitgangen voor eventuele andere toebehoren, waarvan ik gebruikt om te verbinden met mijn garage deuropener.
Ik zal alleen code en informatie voor VB.NET 2008, die op Windows XP en WindowsCE5.0 speciaal voor de Lilliput PC745 draait verstrekken.
PC745 middelen
AV, FM, Volume en helderheid controles: http://www.codeproject.com/KB/miscctrl/LilliputPC745.aspx
Mijn aanvraag
http://www.CarDomain.com/Ride/2914719
Geschiedenis
•16 September 2010 - eerste Post