Stap 20: Firmware installeren
De firmware gebruikt in de Saiko5 WiFi LED licht meubilair is open bron en vrij beschikbaar op onze pagina met Downloads . Het is ontworpen om uit te voeren op de arduino, of de esdoorn hobbyist systemen, en te integreren met het licht schild WiFi uitbreidingsbord. De code is oorspronkelijk gebaseerd op de async_labs WiShield, maar met de aangebrachte wijzigingen in stabiliteit verbeteren evenals Open Sound Control library ondersteuning zodat het bestuur om opdrachten te ontvangen over UDP in de Open Sound Control-indeling toevoegen.Gebruik maken van de firmware-bestanden, downloaden de repository saiko5, evenals de repository WiShield en ervoor te zorgen dat de WiShield-repository correct in de libraries directory van de arduino-schetsboek-map geplaatst is. De arduino omgeving moet worden geconfigureerd voor gebruik van de arduino-schetsboek-map aangezien het schetsboek om ervoor te zorgen dat de bibliotheken goed gelegen zijn.
In de arduino-schetsboek map, gelegen op /saiko5/firmware/arduino-sketchbook /, er zijn twee voorbeelden van het project samen met de bibliotheken.
smooth_fade
smooth_fade is een zeer eenvoudig voorbeeld van de arduino fading tutorial door David Mellis aangepast. In dit voorbeeld eenvoudig programma blijkt de manier te veranderen van de PWM-uitgang aangesloten op een rode, groene en blauwe LED.
#define delaytime 5
#define fadestep 1
#define redPin 3
#define greenPin 5
#define bluePin 6
Dit blok code stelt de variabelen van de basisconfiguratie. redPin, greenPin en bluePin worden gedefinieerd om te corresponderen met de arduino/maple pinnen die zijn verbonden met de LED-lichtpunt via de vijf pin header op het bord licht schild. Als u geen van deze firmware met de licht schild-bestuur gebruikmaakt, kunt u wijzigen welke pinnen worden hier gebruikt. fadestep is de toename van de helderheid per tijdstap, en delaytime is de vertraging per tijdstap. De rest van het smooth_fade-programma verdwijnt de LED-lamp van rood naar groen naar blauw met behulp van de functie analogWrite de PWM-waarde instellen op elke uitgang.
LightBrick
De map LightBrick bevat de twee primaire bestanden voor de Saiko5 ingebouwde programmatuur die eigenlijk in productie, samen met de liblo en WiShield bibliotheken gevonden in de omslag van bibliotheken wordt gebruikt. Het bestand LightBrick.pde bevat alle basis configuratie en opstarten, met inbegrip van de netwerkconfiguratie. Om een apparaat te verbinden met je eigen draadloze netwerk te configureren, moet hier de configuratiegegevens worden bijgewerkt. De setup-functie vertelt het licht aan het aanvankelijk energiebesparende Roodlicht, gevolgd door WiFi initialisatie, schijnen en zodra WiFi initialisatie is voltooid en het apparaat met succes verbinding heeft gemaakt, het kort blauw voor het uitschakelen van lichtopbrengst geflitst. Vervolgens voert het het WiFi.run() programma om ontvangst van het pakket.
Het bestand udpapp.c bevat de werkelijke gebeurtenis-handler voor het ontvangen van een UDP-pakket op poort 2222. Niet in het bijzonder de udpapp_init van de functie, de UDP-server te configureren. De standaardinstelling vertelt het lichtpunt alleen te aanvaarden UDP-pakketten op poort 2222, afkomstig uit het IP-adres 192.168.1.2. Als uw werkelijke server bevindt zich op een ander IP-adres, dit * moet * worden gewijzigd of anders de lichten de aan hen verzonden gegevens zal negeren.
Na de initiële configuratie van de netwerk-stack te aanvaarden van pakketten, zo nodig, de parse_msg functie eigenlijk afgehandeld parseren UDP-pakketten die worden ontvangen. Ten eerste is het binnenkomend pakket met een deserialised met behulp van lo_message_deserialize, die het UDP-pakket in een bericht van OSC omzet. Als de deserialisatie mislukt (dat wil zeggen een ongeldig pakket werd ontvangen, of een niet-OSC-pakket is ontvangen), het doet niets. Anders is de firmware trekt uit de drie praalwagens gekoppeld aan het pakket OSC en zet ze in de fRed, fGreen en fBlue float waarden. Deze waarde wordt vervolgens naar de pennen met behulp van de analogWrite geschreven. In het geval van de Arduino, is deze waarde die in een 8-bits geheel getal te vermenigvuldigen met 0xFF en herschikking als een unsigned char. De esdoorn is echter ook geschikt voor 16-bits PWM, zodat dit kan worden aangepast om te vermenigvuldigen met 0xFFFF voor hogere resolutie PWM. Het gebruik van de esdoorn in 16-bits PWM modus voorziet 281 biljoen verschillende kleuren worden geproduceerd, vergeleken met de 17 miljoen kleuren die kenmerkend voor 8-bits PWM displays (en de meeste computer-monitoren zijn). In onze ervaring, 8-bits kleur ziet er over het algemeen "prima", maar de gladheid van verdwijnt is beter met 16-bits kleuren, met name voor lage intensiteiten.
Installeren van de firmware
Om te installeren van de firmware, moet u eerst de ontwikkelomgevingen Arduino of Maple installeren. Raadpleeg de instructies en basisgebruik informatie beschikbaar van de fabrikanten voor meer informatie. In het geval van een volledige Saiko5 meubilair, wordt de arduino programmering van de USB-poort blootgesteld aan de kant van de zaak voor eenvoudige wijziging.