Mjukt rinnande ljus med PIC-processor
Här beskrivs en onödig krets jag byggde för att den skulle blinka på
ett häftigt sätt. Det är ett rinnande ljus med åtta lysdioder som har
den extra finessen att lysdioder som nyss lyst inte slocknar helt på
direkten utan tonar ned i intensitet.
Kopplingsschemat är inte mycket att orda över. Det visas i figuren
nedan.
Figur 1: Schemat för det rinnande ljuset.
Mikrokontrollern PIC16F84 driver de åtta lysdioderna via varsin
IO-pinne. Tricket för att kunna styra intensiteten på dioderna är att
de pulsbreddsmoduleras av en interruptrutin i PIC-processorn.
Kristallen kan bytas mot en keramsik resonator för att minska
kostnaden något. Matningsspänningen bör vara 3,5-6V. Beroende på
spänning, lysdioder och personliga preferenser kan man behöva byta
värdet på förkopplingsmotstånden till något annat än 330Ω. Om man
använder vita eller blå lysdioder som har spänningsfall runt 4V så bör
man naturligtvis välja en matningsspänning som är tillräckligt hög för
att de ska lysa (5-6V är nog lämpligt).
Kretsen har ett par bonusfunktioner som styrs via ingångar på
processorn:
- "STILL" som gör att rinnande ljuset fryser om ingången går hög.
- "OFF" som släcker dioderna om ingången går hög.
- "SPEED" som sänker farten på ljuset om ingången går hög.
Det mesta av funktionen i kretsen ligger alltså i mjukvaran. Denna
kan laddas ned via nedanstående länk. Jag har kommenterat koden ganska
väl och förhoppningsvis kan den tjäna som instruerande exempel på
PIC-programmering.
Vill man ha 10 lysdioder istället för åtta bör det vara en smal sak
att modifiera mjukvaran så att även RA3 och RA4 kan användas för att
driva lysdioder.
|