Stap 3: programmeren
Want ik ben met behulp van PICAXE micro controllers die de code is geschreven in de basis variant gebruikt door de PICAXE programmering Editor. Dit gepresenteerd een probleem omdat deze fundamentele variant biedt geen ondersteuning voor de formule die nodig zijn voor de berekeningen van de lichtintensiteit. Waarom is een formule nodig voor iets dergelijks? Ook menselijke waarneming voor zowat elke zintuiglijke data is exponentieel en dit omvat lichtintensiteit. Dus, om te maken een licht die een code op een lineaire wijze zou verdwijnen moest worden geschreven waarmee dergelijke een exponentiële relatie tussen beoogde helderheid en PWM waarde mogelijk. De derde afbeelding toont de relatie tussen de beoogde helderheid en PWM waarde. De relatie was eerst berekend en getweaked in Excel, maar vanwege de code zojuist beperkingen heb dat ik drie zeer grote referentietabellen, één voor elke kleur, in plaats daarvan gemaakt door handmatig over de waarden van Excel te kopiëren.
Zowel de code voor de ontvanger en de afstandsbediening hebben als-functies in hen om te controleren of de nieuwe gegevens (RF of ADC waarde) anders dan de vorige is. Dit stopt de micro controller door geen onnodige lussen in de code te gaan en daarom maakt het meer responsieve. De .bas bestanden bevinden zich in de zip omslag met alle andere lamp bestanden.
Een glitch die ik merkte dat de LED's voortdurend flikkeren zou, zolang de afstandsbediening was op maar toen was het niet de flikkerende hebben gebouwd mijn circuit was gestopt. Ik afgeleid hieruit dat de constante RF-pakketten van de afstandsbediening waren de onderbreking van de stroom van de code op het ontvangende eind. Dit moet niet mogelijk zijn omdat pwmout een constante achtergrond-routine die alleen verandert is wanneer het naar is opgegeven. Hoe dan ook om dit te verhelpen geherprogrammeerd ik het ontvangende einde te hebben een veel kleinere duty cycle en die vaste naar de werkstuk.
Voor het programmeren van de PICAXE chips ben ik met behulp van de PICAXE Development Board, er zijn vele alternatieve opties om programmering PICAXE chips maar dat is best uitgelegd hier.