Stap 2: De Code
Hier is de broncode van de PIC-vergadering voor het project.De intensiteit van de LED is gevarieerd met behulp van puls breedte modulatie (PWM). Andere Instructables en tutorials elders al dit veel beter een gedetailleerd overzicht bevatten dan ik kon. Geen overtreding bestemd in het suggereren van rond elders op zoek als u nog niet vertrouwd zijn met de theorie.
De taakcyclus van de PWM niet oprit op en neer lineair. Gammacorrectie maakt een exponentiële oprit die het oog als een in de buurt van-lineaire stijging in helderheid ervaart. Omdat ik lui ben en omdat zo weinig programma ruimte werd gebruikt, in plaats van uit een machtsverheffing functie te werken ik gewoon een grote tabel met precomputed gamma-gecorrigeerde waarden hebben. Het PIC10F206 had genoeg ruimte bevatten deze tabel, maar een meer beperkte apparaat wellicht niet dit luxe en werkelijke math code nodig zullen zijn.
Een pin van de PIC (GP2) wordt gebruikt voor de uitvoer. Deze pin werd gekozen als ik later besluit misschien om de functie van deze chip comparator (beschikbaar op pin GP0 en GP1) nacht of schaduw worden opgespoord en inschakelen van de kloppen alleen wanneer het voldoende donker. Zoals het is, wordt het apparaat gewoon moederrestaurant eindeloos wanneer de batterij is geïnstalleerd, ongeacht de omgeving. De exponentiële PWM-taakcyclus betekent de LED is uitgeschakeld merendeel van de tijd, en een nieuwe batterij kan het apparaat continu draaien voor een paar weken.