사용한 부품
소스 코드
#include <avr/pgmspace.h> int Max7219_pinCLK = 2; int Max7219_pinCS = 1; int Max7219_pinDIN = 0; void Write_Max7219_byte(unsigned char DATA) { digitalWrite(Max7219_pinCS, LOW); for (int i = 8; i >= 1; i--) { digitalWrite(Max7219_pinCLK, LOW); digitalWrite(Max7219_pinDIN, DATA&0x80); DATA = DATA << 1; digitalWrite(Max7219_pinCLK, HIGH); } } void Write_Max7219(unsigned char address, unsigned char dat) { digitalWrite(Max7219_pinCS, LOW); Write_Max7219_byte(address); Write_Max7219_byte(dat); digitalWrite(Max7219_pinCS, HIGH); } void Init_MAX7219(void) { Write_Max7219(0x09, 0x00); Write_Max7219(0x0a, 0x03); Write_Max7219(0x0b, 0x07); Write_Max7219(0x0c, 0x01); Write_Max7219(0x0f, 0x00); } const int lines = 6; const unsigned char disp1[lines][8] PROGMEM = { { 0x72, 0x8A, 0x8A, 0x73, 0x02, 0x42, 0x40, 0x7E }, { 0x81, 0x87, 0x81, 0xF7, 0x01, 0x39, 0x44, 0x38 }, { 0x32, 0x02, 0x7A, 0x03, 0x32, 0x4A, 0x4A, 0x32 }, { 0x25, 0x25, 0x25, 0x2D, 0x65, 0x95, 0x95, 0x95 }, { 0x3C, 0x42, 0x42, 0x3C, 0x00, 0x24, 0x24, 0xFF }, { 0x3C, 0x42, 0x42, 0x02, 0x0C, 0x10, 0x00, 0x10 } }; void setup() { pinMode(Max7219_pinCLK, OUTPUT); pinMode(Max7219_pinCS, OUTPUT); pinMode(Max7219_pinDIN, OUTPUT); delay(500); Init_MAX7219(); } void loop() { for (int j = 0; j < lines; j++) { for (int i = 1; i < 9; i++) Write_Max7219(i, pgm_read_byte(&disp1[j][i - 1])); delay(500); } }
32-40: 라인만 수정하시면 원하시는 그림이나 문자를 화면에 표시 할 수 있습니다.
Dot Matrix Editor
위의 도트 폰트를 제작 할 때 사용하기 위해 만든 프로그램과 소스 입니다.
유닛 하나가 필요하네요. (https://code.google.com/p/ryulib4delphi/source/browse/trunk/XE2/Strg.pas)
하드보드지 도면
Arduino based wireless power (0) | 2015.03.21 |
---|---|
중국산 저가형 아두이노 사용 후기 (0) | 2015.03.20 |
RC Car #1 (1) | 2015.03.07 |
error: 'TKD2' was not declared in this scope (0) | 2015.03.05 |
Sound Effects for Arduino (0) | 2015.03.02 |