<h2>[HowTo] RGB-led muismod met PIC</h2>![]() Mja, eerst maar even voorstellen. Ik ben diegene die samen met Lone die Ledbar met 64 leds en muismod in elkaar geprutst heeft. Omdat we niet verwacht hadden dat mensen ook info over die muis wilden(stom natuurlijk Wat het doet: De gewone rode led is eruit gehaald en vervangen door een rgb led. De aansturing van de normale led zit met een optocoupler verbonden aan de pic, en aan de pic hangt dan weer de rgb led. De originele rode led brand normaal continu als beweging gedecteerd wordt, en minder fel (mbv pwm) als er geen beweging gedecteerd wordt. Wat de pic doet: het originele signaal analyseren en zo opvangen of de muis bewogen wordt of niet. Aan de hand daarvan laat ie de rgb led door alle kleuren cyclen mbv pwm (als de muis niet bewogen wordt), of ie laat de rgb led rood branden (als de muis wel bewogen wordt). Om het allemaal wat duidelijker te maken wat plaatjes... Hier een totaaloverzichtje, het past er net allemaal in De pinheader rechts kan gebruikt worden om de pic te programmeren (geen losse progger nodig dus) : ![]() Hier zie je de pic + optocoupler zitten (t is een pic16f628 trouwens, beetje overkill, maar waarom een 16f84 kopen als deze goedkoper en beter is ? ![]() En uiteraard wat filmpjes van het geheel in actie: muis in actie met de kap erop (1242 KB / DivX 5.0) muis in actie met de kap eraf (1432 KB / DivX 5.0) Jammer genoeg heeft de videocamera wat moeite met de led (kleuren komen niet helemaal lekker over), maar in t echt zie je m door alle kleuren heengaan. Schema: Hieronder zie je wat ik er nog van kon maken ![]() edit: Nice voor een eerste post, ik zie net dat er een foutje in het schema staat R 6 moet aan VCC en niet GND, als je hem aan GND hangt start de pic dus niet.... Redelijk eenvoudig zoals je ziet. De optocoupler OK1 vangt het signaal van de originele led op (pin 1 en 2 komen in de plaats van die led) zodat je kunt zien wanneer de led eigenlijk minder fel gaat branden om dan zo de pwm routine van de pic in te schakelen. Weerstand R1 is een pull-up voor de IRQ pin op de pic. Als de muis dus de led minder fel laat branden gaat deze de originele led pwm-en en word de IRQ lijn even laag getrokken zodat je dit kunt opvangen. R5 en R6 zijn om je !MCLR en PGM lijn laag te houden als de programmer er niet op zit. De weerstand op de !MCLR pin is noodzakelijk (de pic start anders niet op) en die op de PGM pin zorgt ervoor dat de boel stabiel loopt (soms wat glitches als je deze pin laat zweven). Verder het cristal met de twee condensatortjes (27pF dacht ik), VCC en VDD natuurlijk, die heb ik niet eens in het schema staan zie ik net ![]() De software is door Lone gemaakt omdat dit niet mijn sterkste kant is, ik ben meer de hardware prutser Hier de code: main.c en mousemod.hex In main.c wordt pic.h include. Pic.h is een standaard header van de picc compiler (http://www.htsoft.com/). Staan wat defines in voor de ports etc. Je kunt daar ook een gratis versie van de compiler downloaden (picc-lite). Als je de code wilt aanpassen/zelf compilen heb je de .c/.h files nodig en een C-compiler. Wil je dat niet dan voldoet de .HEX file om in je PIC te flashen. Nou tot zo ver mijn eerste post hier, ik hoop dat jullie er wat mee kunnen, als er nog vragen zijn hoor ik het wel. |
[ Voor 59% gewijzigd door Anoniem: 44568 op 02-12-2004 18:40 . Reden: tweakers debugged ]