This library helps to interface Max7912 with Wiznet w7500 and display different character/digit/string on Dot Matrix LED.
max7219.h@0:2c4e3799881a, 2018-08-03 (annotated)
- Committer:
- kulwantt
- Date:
- Fri Aug 03 06:43:16 2018 +0000
- Revision:
- 0:2c4e3799881a
Interfacing LED dotmatrix with W7500 using Max7219 chip.; The documentation for Max7219 is provided in the below link: -; https://datasheets.maximintegrated.com/en/ds/MAX7219-MAX7221.pdf
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kulwantt | 0:2c4e3799881a | 1 | /* |
kulwantt | 0:2c4e3799881a | 2 | * This library is tested with Wiznet W7500 and Max7219 Chip to interface the LED Dot Matrix |
kulwantt | 0:2c4e3799881a | 3 | * We tested with 4 cascaded Max7219 chip. |
kulwantt | 0:2c4e3799881a | 4 | * The connections are as follow: |
kulwantt | 0:2c4e3799881a | 5 | |
kulwantt | 0:2c4e3799881a | 6 | W7500 Max7219 |
kulwantt | 0:2c4e3799881a | 7 | |
kulwantt | 0:2c4e3799881a | 8 | MOSI (PA_08) -> Din |
kulwantt | 0:2c4e3799881a | 9 | MISO -> NC |
kulwantt | 0:2c4e3799881a | 10 | SCK (PA_06) -> CLK |
kulwantt | 0:2c4e3799881a | 11 | D8(Digital Pin)-> CS |
kulwantt | 0:2c4e3799881a | 12 | Vcc -> Vcc |
kulwantt | 0:2c4e3799881a | 13 | Gnd -> Gnd |
kulwantt | 0:2c4e3799881a | 14 | |
kulwantt | 0:2c4e3799881a | 15 | |
kulwantt | 0:2c4e3799881a | 16 | *To send any string greater than 4 words, it has to be declared in the scope (ex given below- char Hello[]) |
kulwantt | 0:2c4e3799881a | 17 | *The link given below helps in creating the particular word/string the user wants to display. |
kulwantt | 0:2c4e3799881a | 18 | * link - https://xantorohara.github.io/led-matrix-editor/#a2a2a2bea2a2a2a2|df40405f5f40405f|f710101010101010|7984848484848478 |
kulwantt | 0:2c4e3799881a | 19 | |
kulwantt | 0:2c4e3799881a | 20 | */ |
kulwantt | 0:2c4e3799881a | 21 | |
kulwantt | 0:2c4e3799881a | 22 | |
kulwantt | 0:2c4e3799881a | 23 | /* Example program |
kulwantt | 0:2c4e3799881a | 24 | *#include "max7219.h" |
kulwantt | 0:2c4e3799881a | 25 | *max7219 m; |
kulwantt | 0:2c4e3799881a | 26 | |
kulwantt | 0:2c4e3799881a | 27 | //Defining hex code for "HELLO" |
kulwantt | 0:2c4e3799881a | 28 | *char Hello[]={0xa2,0xa2,0xa2,0xbe,0xa2,0xa2,0xa2,0xa2, |
kulwantt | 0:2c4e3799881a | 29 | * 0xdf,0x40,0x40,0x5f,0x5f,0x40,0x40,0x5f, |
kulwantt | 0:2c4e3799881a | 30 | * 0xf7,0x10,0x10,0x10,0x10,0x10,0x10,0x10, |
kulwantt | 0:2c4e3799881a | 31 | * 0x79,0x84,0x84,0x84,0x84,0x84,0x84,0x78}; |
kulwantt | 0:2c4e3799881a | 32 | *int main() { |
kulwantt | 0:2c4e3799881a | 33 | * m.init(); |
kulwantt | 0:2c4e3799881a | 34 | * while(1){ |
kulwantt | 0:2c4e3799881a | 35 | //To send 4 or less letters or digits, use the send fuction |
kulwantt | 0:2c4e3799881a | 36 | * m.send("123"); |
kulwantt | 0:2c4e3799881a | 37 | * wait(0.5); //Delay |
kulwantt | 0:2c4e3799881a | 38 | |
kulwantt | 0:2c4e3799881a | 39 | * m.send("AbCd"); |
kulwantt | 0:2c4e3799881a | 40 | * wait(0.5); |
kulwantt | 0:2c4e3799881a | 41 | |
kulwantt | 0:2c4e3799881a | 42 | //To send any word/string use the send string function |
kulwantt | 0:2c4e3799881a | 43 | * m.sendstring(Hello); |
kulwantt | 0:2c4e3799881a | 44 | * wait(0.5); |
kulwantt | 0:2c4e3799881a | 45 | |
kulwantt | 0:2c4e3799881a | 46 | * } |
kulwantt | 0:2c4e3799881a | 47 | *} |
kulwantt | 0:2c4e3799881a | 48 | |
kulwantt | 0:2c4e3799881a | 49 | */ |
kulwantt | 0:2c4e3799881a | 50 | #ifndef MAX7219_H |
kulwantt | 0:2c4e3799881a | 51 | #define MAX7219_H |
kulwantt | 0:2c4e3799881a | 52 | |
kulwantt | 0:2c4e3799881a | 53 | #include "mbed.h" |
kulwantt | 0:2c4e3799881a | 54 | |
kulwantt | 0:2c4e3799881a | 55 | #define max7219_reg_noop 0x00 |
kulwantt | 0:2c4e3799881a | 56 | #define max7219_reg_digit0 0x01 |
kulwantt | 0:2c4e3799881a | 57 | #define max7219_reg_digit1 0x02 |
kulwantt | 0:2c4e3799881a | 58 | #define max7219_reg_digit2 0x03 |
kulwantt | 0:2c4e3799881a | 59 | #define max7219_reg_digit3 0x04 |
kulwantt | 0:2c4e3799881a | 60 | #define max7219_reg_digit4 0x05 |
kulwantt | 0:2c4e3799881a | 61 | #define max7219_reg_digit5 0x06 |
kulwantt | 0:2c4e3799881a | 62 | #define max7219_reg_digit6 0x07 |
kulwantt | 0:2c4e3799881a | 63 | #define max7219_reg_digit7 0x08 |
kulwantt | 0:2c4e3799881a | 64 | |
kulwantt | 0:2c4e3799881a | 65 | |
kulwantt | 0:2c4e3799881a | 66 | |
kulwantt | 0:2c4e3799881a | 67 | class max7219 |
kulwantt | 0:2c4e3799881a | 68 | { |
kulwantt | 0:2c4e3799881a | 69 | public: |
kulwantt | 0:2c4e3799881a | 70 | |
kulwantt | 0:2c4e3799881a | 71 | max7219(); // PA_08, NC, PA_06, digital_pin |
kulwantt | 0:2c4e3799881a | 72 | |
kulwantt | 0:2c4e3799881a | 73 | ~max7219(); |
kulwantt | 0:2c4e3799881a | 74 | void init(); |
kulwantt | 0:2c4e3799881a | 75 | |
kulwantt | 0:2c4e3799881a | 76 | void send(char*); |
kulwantt | 0:2c4e3799881a | 77 | |
kulwantt | 0:2c4e3799881a | 78 | void sendstring(char*); |
kulwantt | 0:2c4e3799881a | 79 | |
kulwantt | 0:2c4e3799881a | 80 | private: |
kulwantt | 0:2c4e3799881a | 81 | PinName mosi; |
kulwantt | 0:2c4e3799881a | 82 | PinName miso; |
kulwantt | 0:2c4e3799881a | 83 | PinName sclk; |
kulwantt | 0:2c4e3799881a | 84 | PinName load; |
kulwantt | 0:2c4e3799881a | 85 | }; |
kulwantt | 0:2c4e3799881a | 86 | |
kulwantt | 0:2c4e3799881a | 87 | #endif |