HDSP-211x
Připojení k Arduinu
Pin HDSP-2112 | Název pinu HDSP-2112 | Pin Arduino |
---|---|---|
1 | RST | A0 |
2 | FL | 5V |
3 | A0 | A2 |
4 | A1 | A3 |
5 | A2 | A4 |
6 | A3 | A5 |
7 | NC | – |
8 | NC | – |
9 | NC | – |
10 | A4 | 5V |
11 | CLS | 5V |
12 | CLK | – |
13 | WR | A1 |
14 | Vdd | 5V |
15 | GND | GND |
16 | GND | GND |
17 | CE | 10 |
18 | RD | 11 |
19 | D0 | 0 |
20 | D1 | 1 |
21 | NC | – |
22 | NC | – |
23 | D2 | 2 |
24 | D3 | 3 |
25 | D4 | 4 |
26 | D5 | 5 |
27 | D6 | 6 |
28 | D7 | 7 |
Zdrojový kód pro Arduino
/* Original code www.josvandijken.nl Based on the code from: Matt Joyce < matt at nycresistor.com > Mark Tabry */ int RST = A0; int WR = A1; int CE = 10; int RD = 11; int AD0 = A2; int AD1 = A3; int AD2 = A4; int AD3 = A5; int D0 = 0; int D1 = 1; int D2 = 2; int D3 = 3; int D4 = 4; int D5 = 5; int D6 = 6; int D7 = 7; int incomingByte = 0; void setup() { pinMode(RST , OUTPUT); pinMode(WR , OUTPUT); pinMode(CE , OUTPUT); pinMode(RD , OUTPUT); pinMode(AD0 , OUTPUT); pinMode(AD1 , OUTPUT); pinMode(AD2 , OUTPUT); pinMode(AD3 , OUTPUT); pinMode(D0 , OUTPUT); pinMode(D1 , OUTPUT); pinMode(D2 , OUTPUT); pinMode(D3 , OUTPUT); pinMode(D4 , OUTPUT); pinMode(D5 , OUTPUT); pinMode(D6 , OUTPUT); pinMode(D7 , OUTPUT); digitalWrite(CE, HIGH); digitalWrite(WR, HIGH); resetDisplay(); } void resetDisplay() { digitalWrite(RST, LOW); delayMicroseconds(1); digitalWrite(RST, HIGH); delayMicroseconds(200); digitalWrite(AD3, HIGH); } void writeDisplay(char *input) { for (int i = 0; i < 8; i++) { digitalWrite(AD0, (1 & i) != 0 ? HIGH : LOW); digitalWrite(AD1, (2 & i) != 0 ? HIGH : LOW); digitalWrite(AD2, (4 & i) != 0 ? HIGH : LOW); PORTD = input[i]; delay(0); digitalWrite(CE, LOW); delay(0); digitalWrite(WR, LOW); delay(0); digitalWrite(WR, HIGH); delay(0); digitalWrite(CE, HIGH); //delay(5); } } void scrollDisplay(char *words) { char buffer[8]; int i = 0; while (words[i] != 0) { boolean blank = false; for (int j = 0; j < 8; j++) { if ( !blank && words[i + j] == 0 ) { blank = true; } if ( blank ) { buffer[j] = ' '; } else { buffer[j] = words[i + j]; } } buffer[8] = 0; writeDisplay(buffer); delay(300); i++; } } void loop() { char intro[] = " *** HDSP-2112 DEMO *** MORE DISPLAYS ON CTVRTKY.CZ/SBIRKA-DISPLEJU-LED "; scrollDisplay(intro); }