Styra 20 Led från 5 Arduino stift med Charlieplexing (6 / 8 steg)
Steg 6: Kodning det - ett enkelt test.
#define a 8
#define B 9
#define C 10
#define D 11
#define E 12
Vi definierar sedan de faktiska LED anslutningarna. Du kan se att jag definierar dem som de ställs in i den förenklade kretsen. Den första raden är varje LED med den förbinds katod till stift 1:
int c [5] [4] [2] = {
{{A, B}, {A, C}, {A, D}, {A, E}},
{{B, A}, {B, C}, {B, D}, {B, E}},
{{C, A}, {C, B}, {C, D}, {C, E}},
{{D, A}, {D, B}, {D, C}, {D, E}},
{{E, A}, {E, B}, {E, C}, {E, D}}
};
I setup() som vi precis alla stiften till INPUT'S.
Light() metoden är bara ett praktiskt sätt att ange relevanta stiften för utgångar och ange dem högt och lågt som krävs:
void light (int stift [2]) {
pinMode (stift [0], produktionen);
digitalWrite (stift [0], hög);
pinMode (stift [1], produktionen);
digitalWrite (stift [1], låg);
}
Metoden test_loop() använder bara metoden test() för att tända varje LED i en halv sekund:
Och slutligen, slinga () metoden anropas bara metoden test_loop().
Det bara knepigt här är att faktiskt definiera matrisen LED ordentligt.