Banner med mbed, lysdioder och en svalare (5 / 5 steg)
Steg 5: Koden
KompilatornEn av de största fördelarna med den mbed plattformen är att du don´t behöver en kompilator på din PC, there´s en "moln" kompilator (online).
Först av allt måste du skapa ett konto på mbed hemsida (http://mbed.org/ ) och sedan har du tillgång till molnbaserade kompilatorn.
Koden
Koden för detta projekt är inte svårt, kanske eftersom den mbed plattformen har en massa bibliotek redo att köra.
#include "mbed.h"
Definierar digitalt in/ut portar
DigitalOut led1(p16);
DigitalOut led2(p15);
DigitalOut led3(p14);
DigitalOut led4(p25);
DigitalOut led5(p26);
På spanska valentine´s dag meddelandet (ersätta det för din egen)
#define MATRIX_LENGTH 11
#define MESSAGE_LENGTH 65
UINT8 heart_matrix [5] [MATRIX_LENGTH] = {
{0,0,1,1,0,0,0,1,1,0,0},
{0,1,1,1,1,0,1,1,1,1,0},
{0,0,1,1,1,1,1,1,1,0,0},
{0,0,0,0,1,1,1,0,0,0,0},
{0,0,0,0,0,1,0,0,0,0,0}
};
UINT8 message_matrix [5] [MESSAGE_LENGTH] = {
{1,1,1,0,1,1,1,0,1,0,0,0,1,0,1,1,1,0,0,1,1,1,0,0,1,0,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,1,0,0,0,1,1,1,0,1,0,0,1,0,1,1,1,0,1,0,1,0,0,1,0},
{1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,1,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0,1,1,0,1,0,0,1,0,0,1,0,1,1,0,1,0},
{1,1,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,1,0,1,0,1,1,0,0,1,0,1,0,1,0,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,0,1,0,1,0,1,1,0},
{1,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,1,0,0,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,1,0,0,1,0},
{1,0,0,0,1,1,1,0,1,1,1,0,1,0,1,1,1,0,0,1,1,1,0,1,0,1,0,1,0,0,1,0,0,0,1,0,0,1,0,1,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,1,0,0,1,0,1,0,0,1,0}
};
int main)
{
unsigned char flag_start;
unsigned char forts;
unsigned char bild;
unsigned char staten.
CONT = 0;
bild = 0;
flag_start = 50;
State = 0;
LED1 = 0;
LED2 = 0;
LED3 = 0;
LED4 = 0;
led5 = 0;
While(1)
{
Switch(State)
{
fall 0:
Switch(Image)
{
fall 0:
LED1 = heart_matrix [0] [forts];
LED2 = heart_matrix [1] [forts];
LED3 = heart_matrix [2] [forts];
LED4 = heart_matrix [3] [forts];
led5 = heart_matrix [4] [forts];
forts ++;
om (forts > = MATRIX_LENGTH)
{
CONT = 0;
bild = 1; Växla till en annan bild
}
bryta;
fall 1:
LED1 = message_matrix [0] [forts];
LED2 = message_matrix [1] [forts];
LED3 = message_matrix [2] [forts];
LED4 = message_matrix [3] [forts];
led5 = message_matrix [4] [forts];
forts ++;
om (forts > = MESSAGE_LENGTH)
{
CONT = 0;
bild = 0; Växla till en annan bild
State = 1;
}
bryta;
}
fall 1:
IF(flag_start>0)
{
flag_start--;
}
IF(flag_start==0)
{
flag_start = 80.
State = 0;
}
bryta;
}
Vänta 3ms ändra lysdioderna på/av, denna gång beror ju bredare bokstaven
wait_ms(3);
}
}