|
|||||||||||||||||||||
|
|||||||||||||||||||
아두이노 8x8 도트매트릭스 LED 모듈(1088AS) D23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
// Pins connect as per define
// Fill in the pins you used on your own setup.
#define ROW_1 2
#define ROW_2 3
#define ROW_3 4
#define ROW_4 5
#define ROW_5 6
#define ROW_6 7
#define ROW_7 8
#define ROW_8 9
#define COL_1 10
#define COL_2 11
#define COL_3 12
#define COL_4 13
#define COL_5 A0
#define COL_6 A1
#define COL_7 A2
#define COL_8 A3
const byte rows[] = {
ROW_1, ROW_2, ROW_3, ROW_4, ROW_5, ROW_6, ROW_7, ROW_8
};
// The display buffer
// It shows a walking steps (1 = ON, 0 = OFF)
byte star1[] = {B00000110,B11000010,B10100100,B00011000,B00011000,B00100101,B01000011,B01100000};
byte star2[] = {B00110000,B00100000,B00100111,B00011001,B10011000,B11100100,B00000100,B00001100};
byte star3[] = {B00000110,B10001000,B10010000,B01011100,B00111010,B00001001,B00010001,B01100000};
float timeCount = 0;
void setup() {
// Open serial port
Serial.begin(9600);
// Set all used pins to OUTPUT
// This is very important! If the pins are set to input
for (byte i = 2; i <= 13; i++)
pinMode(i, OUTPUT);
pinMode(A0, OUTPUT);
pinMode(A1, OUTPUT);
pinMode(A2, OUTPUT);
pinMode(A3, OUTPUT);
}
void loop() {
// This could be rewritten to not use a delay, which would make it appear brighter
delay(5);
timeCount += 1;
if(timeCount < 20) {
drawScreen(star1);
} else if (timeCount < 80) {
drawScreen(star2);
} else if (timeCount < 100) {
drawScreen(star3);
} else if (timeCount < 120) {
drawScreen(star1);
} else if (timeCount < 140) {
drawScreen(star2);
} else if (timeCount < 160) {
drawScreen(star3);
} else {
// back to the start
timeCount = 0;
}
}
void drawScreen(byte buffer2[]){
// Turn on each row in series
for (byte i = 0; i < 8; i++) {
setColumns(buffer2[i]); // Set columns for this specific row
digitalWrite(rows[i], HIGH);
delay(2); // Set this to 50 or 100 if you want to see the multiplexing effect!
digitalWrite(rows[i], LOW);
}
}
void setColumns(byte b) {
digitalWrite(COL_1, (~b >> 0) & 0x01); // Get the 1st bit: 10000000
digitalWrite(COL_2, (~b >> 1) & 0x01); // Get the 2nd bit: 01000000
digitalWrite(COL_3, (~b >> 2) & 0x01); // Get the 3rd bit: 00100000
digitalWrite(COL_4, (~b >> 3) & 0x01); // Get the 4th bit: 00010000
digitalWrite(COL_5, (~b >> 4) & 0x01); // Get the 5th bit: 00001000
digitalWrite(COL_6, (~b >> 5) & 0x01); // Get the 6th bit: 00000100
digitalWrite(COL_7, (~b >> 6) & 0x01); // Get the 7th bit: 00000010
digitalWrite(COL_8, (~b >> 7) & 0x01); // Get the 8th bit: 00000001
// If the polarity of your matrix is the opposite of mine
// remove all the '~' above.
}
|
cs |
판매자 | (주)엘케이임베디드 | 셀러등급 | 일반 |
---|---|---|---|
상호명 | (주)엘케이임베디드 | 대표자 | 이경남 |
사업자등록번호 | 209-81-60939 | 통신판매신고번호 | 제2016-서울노원-0934호 |
연락처 | 02-968-8617 / member1_lklab@lkembedded.co.kr | 사업장 소재지 | 서울특별시 노원구 동일로 986 (노원 프레미어스 엠코) 102동215호 |
| ||||||||||||||||||||||||||
쇼핑몰이용안내 | |
전자계약사이트 | |
|
|||||||||
회사명 : (주)위키모바일(로봇사이언스몰)
| 사업자등록번호 : 215-87-14086 [사업자정보확인]
| 주소 : 서울특별시 송파구 법원로 114 엠스테이트 B동704호 통신판매업 신고 : 제2008-서울송파-0867호 | 연락처 : 02-2283-1300 | FAX : 02-2283-1304 | 개인정보보호 책임자 : 김 경식 | 대표자 : 김경식 호스팅사업자 : 가비아 퍼스트몰 | contact : ask@wikimobile.co.kr for more information *로봇사이언스몰의 콘텐츠 저작권은 (주)위키모바일에 있으며 무단·전재·복사 배포를 금합니다. |
|||||||||