Användning av LoL sköld på pcDuino (3 / 4 steg)
Steg 3: Exempelkod
Exempelkod:< code >
#include "core.h"
int blinkdelay = 75. Detta styr i princip ljusstyrka. Lägre är dimmer
int runspeed = 20; mindre = snabbare
int pin13 = 13.
int pin12 = 12;
int pin11 = 11;
int pin10 = 10;
int pin09 = 9;
int pin08 = 8;
int pin07 = 7.
int pin06 = 6;
int pin05 = 5;
int pin04 = 4;
int pin03 = 3;
int pin02 = 2;
CONST int stift [] = {
pin13, pin12, pin11, pin10, pin09, pin08, pin07, pin06, pin05, pin04, pin03, pin02
};
CONST int ledMap [126] [2] = {
{pin13, pin05}, {pin13, pin06}, {pin13, pin07}, {pin13, pin08}, {pin13, pin09}, {pin13, pin10}, {pin13, pin11}, {pin13, pin12}, {pin13, pin04}, {pin04, pin13}, {pin13, pin03}, {pin03, pin13}, {pin13, pin02}, {pin02, pin13},
{pin12, pin05}, {pin12, pin06}, {pin12, pin07}, {pin12, pin08}, {pin12, pin09}, {pin12, pin10}, {pin12, pin11}, {pin12, pin13}, {pin12, pin04}, {pin04, pin12}, {pin12, pin03}, {pin03, pin12}, {pin12, pin02}, {pin02, pin12},
{pin11, pin05}, {pin11, pin06}, {pin11, pin07}, {pin11, pin08}, {pin11, pin09}, {pin11, pin10}, {pin11, pin12}, {pin11, pin13}, {pin11, pin04}, {pin04, pin11}, {pin11, pin03}, {pin03, pin11}, {pin11, pin02}, {pin02, pin11},
{pin10, pin05}, {pin10, pin06}, {pin10, pin07}, {pin10, pin08}, {pin10, pin09}, {pin10, pin11}, {pin10, pin12}, {pin10, pin13}, {pin10, pin04}, {pin04, pin10}, {pin10, pin03}, {pin03, pin10}, {pin10, pin02}, {pin02, pin10},
{pin09, pin05}, {pin09, pin06}, {pin09, pin07}, {pin09, pin08}, {pin09, pin10}, {pin09, pin11}, {pin09, pin12}, {pin09, pin13}, {pin09, pin04}, {pin04, pin09}, {pin09, pin03}, {pin03, pin09}, {pin09, pin02}, {pin02, pin09},
{pin08, pin05}, {pin08, pin06}, {pin08, pin07}, {pin08, pin09}, {pin08, pin10}, {pin08, pin11}, {pin08, pin12}, {pin08, pin13}, {pin08, pin04}, {pin04, pin08}, {pin08, pin03}, {pin03, pin08}, {pin08, pin02}, {pin02, pin08},
{pin07, pin05}, {pin07, pin06}, {pin07, pin08}, {pin07, pin09}, {pin07, pin10}, {pin07, pin11}, {pin07, pin12}, {pin07, pin13}, {pin07, pin04}, {pin04, pin07}, {pin07, pin03}, {pin03, pin07}, {pin07, pin02}, {pin02, pin07},
{pin06, pin05}, {pin06, pin07}, {pin06, pin08}, {pin06, pin09}, {pin06, pin10}, {pin06, pin11}, {pin06, pin12}, {pin06, pin13}, {pin06, pin04}, {pin04, pin06}, {pin06, pin03}, {pin03, pin06}, {pin06, pin02}, {pin02, pin06},
{pin05, pin06}, {pin05, pin07}, {pin05, pin08}, {pin05, pin09}, {pin05, pin10}, {pin05, pin11}, {pin05, pin12}, {pin05, pin13}, {pin05, pin04}, {pin04, pin05}, {pin05, pin03}, {pin03, pin05}, {pin05, pin02}, {pin02 pin05}
};
uint16_t bitmapp [] [9] = {
{1, 0, 0, 0, 0, 0, 0, 0, 0},
{3, 1, 0, 0, 0, 0, 0, 0, 0},
{7, 3, 1, 0, 0, 0, 0, 0, 0},
{15, 7, 3, 1, 0, 0, 0, 0, 0},
{31, 15, 7, 3, 1, 0, 0, 0, 0},
{63, 31, 15, 7, 3, 1, 0, 0, 0},
{127, 63, 31, 15, 7, 3, 1, 0, 0},
{255, 127, 63, 31, 15, 7, 3, 1, 0},
{511, 255, 127, 63, 31, 15, 7, 3, 1},
{1023, 511, 255, 127, 63, 31, 15, 7, 3},
{2047, 1023, 511, 255, 127, 63, 31, 15, 7},
{4095, 2047, 1023, 511, 255, 127, 63, 31, 15},
{8191, 4095, 2047, 1023, 511, 255, 127, 63, 31},
{16383, 8191, 4095, 2047, 1023, 511, 255, 127, 63},
{16383 16383, 8191, 4095, 2047, 1023, 511, 255, 127},
{16383 16383, 16383, 8191, 4095, 2047, 1023, 511, 255},
{16383 16383, 16383, 16383, 8191, 4095, 2047, 1023, 511},
{16383 16383, 16383, 16383, 16383, 8191, 4095, 2047, 1023},
{16383 16383, 16383, 16383, 16383, 16383, 8191, 4095, 2047},
{16383 16383, 16383, 16383, 16383, 16383, 16383, 8191, 4095},
{16383 16383, 16383, 16383, 16383, 16383, 16383, 16383, 8191},
{16383 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383},
{16383 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383},
{16382 16383, 16383, 16383, 16383, 16383, 16383, 16383, 16383},
{16380 16382, 16383, 16383, 16383, 16383, 16383, 16383, 16383},
{16376 16380, 16382, 16383, 16383, 16383, 16383, 16383, 16383},
{16368 16376, 16380, 16382, 16383, 16383, 16383, 16383, 16383},
{16352 16368, 16376, 16380, 16382, 16383, 16383, 16383, 16383},
{16320, 16352, 16368, 16376, 16380, 16382, 16383, 16383, 16383},
{16256, 16320, 16352, 16368, 16376, 16380, 16382, 16383, 16383},
{16128 16256, 16320, 16352, 16368, 16376, 16380, 16382, 16383},
{15872 16128, 16256, 16320, 16352, 16368, 16376, 16380, 16382},
{15360 15872, 16128, 16256, 16320, 16352, 16368, 16376, 16380},
{14336 15360, 15872, 16128, 16256, 16320, 16352, 16368, 16376},
{12288 14336, 15360, 15872, 16128, 16256, 16320, 16352, 16368},
{8192, 12288, 14336, 15360, 15872, 16128, 16256, 16320, 16352},
{0, 8192, 12288, 14336, 15360, 15872, 16128, 16256, 16320},
{0, 0, 8192, 12288, 14336, 15360, 15872, 16128, 16256},
{0, 0, 0, 8192, 12288, 14336, 15360, 15872, 16128},
{0, 0, 0, 0, 8192, 12288, 14336, 15360, 15872},
{0, 0, 0, 0, 0, 8192, 12288, 14336, 15360},
{0, 0, 0, 0, 0, 0, 8192, 12288, 14336},
{0, 0, 0, 0, 0, 0, 0, 8192, 12288},
{0, 0, 0, 0, 0, 0, 0, 0, 8192},
{0, 0, 0, 0, 0, 0, 0, 0, 0},
{18000}
};
void blinkall(int);
void DisplayBitMap();
void setup() {
blinkall(2); användbara för att testa
}
void loop() {
sequenceon(); användbara för att testa
DisplayBitMap();
}
void turnon(int led) {
int pospin = ledMap [ledde] [0];
int negpin = ledMap [ledde] [1].
pinMode (pospin, produktionen);
pinMode (negpin, produktionen);
digitalWrite (pospin, hög);
digitalWrite (negpin, låg);
}
void alloff() {
int i;
för (jag = 2; jag < = 13; i ++) {
pinMode(i,INPUT);
}
}
void DisplayBitMap()
{
Boolean kör = sant;
byte ram = 0;
byte line = 0;
osignerade långa data;
While(Run == true) {
för (int jag = 0; jag < runspeed; i ++) {
för (linje = 0; rad < 9; linje ++) {
data = bitmapp [bildruta] [line];
om (data == 18000) {
köra = false;
}
annat för (byte ledde = 0; ledde < 14. ++ ledde) {
om (data & (1 << ledde)) {
TurnON((Line*14)+LED);
delayMicroseconds(blinkdelay);
alloff();
}
annat {
delayMicroseconds(blinkdelay);
}
}
}
} ram ++;
}
}
void blinkall (int numblink) {
alloff();
för (int n = 0; n < numblink; n ++) {
för (int jag = 0; jag < runspeed; i ++) {
för (int j = 0; j < 126; j ++) {
TurnON(j);
delayMicroseconds(blinkdelay);
alloff();
}
}
Delay(500);
}
}
void sequenceon() {
för (int jag = 0; jag < 126; i ++) {
TurnON(i);
Delay(800);
alloff();
Delay(800);
}
}
< / code >