/*
shiftOut のテストと赤色7セグメントLED表示器のテスト
https://github.com/kankanla/arduino/blob/master/sketch_feb23a.ino
*/
uint8_t resetPin = A0; //P10 SRCLR/RESET (常にH可)
uint8_t clockPin = A1; //P11 SRCLK/SHIFT CLOCK(クロックを出力するピン)
uint8_t latchPin = A2; //P12 RCLK/LATCH CLOCK(LOW->HIGH で更新)
uint8_t oePin = A3; //P13 OE/OUTPUT ENABLE (出力有効/無効,常にH可)
uint8_t dataPin = A4; //P14 SER/A (ビットを出力するピン)
void setup() {
Serial.begin(9600);
pinMode(resetPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(latchPin, OUTPUT);
pinMode(oePin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop() {
Number();
}
void Number() {
/*
赤色7セグメントLED表示器LTS-547BJR-01J
0から9までの数字のバタン
ピンの配置
A
F B
G
E C
D dp
*/
byte n2[] = {
0b00111111, //0
0b00000110, //1
0b01011011, //2
0b01001111, //3
0b01100110, //4
0b01101101, //5
0b01111101, //6
0b00100111, //7
0b01111111, //8
0b01101111 //9
};
byte n[] = {
0b00000001, //A
0b00000010, //B
0b00000100, //C
0b00001000, //D
0b00010000, //E
0b00100000, //F
0b01000000, //G
0b10000000, //dp
};
digitalWrite(resetPin, 1);
for (uint8_t i = 0; i < sizeof(n); i++) {
Serial.println(n[i], DEC);
Serial.println(i);
shiftOut(dataPin, clockPin, MSBFIRST, n[i]);
digitalWrite(latchPin, 0);
digitalWrite(latchPin, 1);
delay(200);
}
}
end