Pixel Drop Ceiling (4 / 7 steg)
Steg 4: Arduino programvara
Programvaran för Arduino är ganska enkel, den tar emot inkommande pixeldata och lyser lysdioder därmed. Killarna över på SolderLab var vänliga nog att erbjuda deras skiss för Uno och Mega Arduino styrelser. Denna skiss arbetar med Glediator och J! nx ledde matrisen programvara, jag kommer att förklara mer i nästa steg. När du använder Arduino Uno programvaran på 500.000 BAUD du är begränsad till kontrollera 512 ljusdioder, om du skulle gå med Mega-versionen av firmware körs på 1.000.000 BAUD så att du kan hantera ungefär 1024 lysdioder. Länkar till både Uno och Mega skisser finns nedan.
Solderlabs skisser (du kommer att behöva ändra BAUD enligt nedan om du använder dessa!)
- Arduino Uno WS2801
- Arduino Mega WS2801
- Bifogat är min modifierade koden med ändringar av BAUD
För att använda denna programvara med Bluetooth integration krävs lite arbete. HC-06 kan inte köras på 500.000 BAUD, att åtgärda detta måste du ändra standard överföringshastigheten på den Bluetooth transceivern såväl som i Arduino kod. Vi kommer bråka med standardinställningarna på HC-06 i nästa steg. Jag har redan gjort de nödvändiga ändringarna till Arduino kod postat nedan, om du inte vill använda Bluetooth seriell eller din börjar färska med Glediators skiss vad du behöver göra är ändra detta:
~~~~~~~~~~~~~~~~~~~~~~~~~~
UART initiering
UCSR0A | = (1 << U2X0);
UCSR0B | = (1 << RXEN0) | (1 << TXEN0) | (1 << RXCIE0);
UCSR0C | = (1 << UCSZ01) | (1 << UCSZ00);
UBRR0H = 0;
UBRR0L = 3; Baud Rate 0,5 MBit--> 0% fel på 16 MHz :-) < stark ><--kommentera ut raden < / strong >
UBRR0L = 16. < stark ><---Lägg till i den här < / strong >
~~~~~~~~~~~~~~~~~~~~~~~~
Vad detta innebär är det droppar inkommande överföringshastigheten från 500.000 till 115,200, max baudhastighet för HC-06. Se till att du ändra rubriken till ditt antal pixlar också, som nedan:
#define Num_Pixels 28
Kompilera och ladda upp!