資料介紹
描述
很多時(shí)候,我們看到過不同顏色的廣告照明標(biāo)志或文字從左向右滑動(dòng)或反之亦然的圖像,主要是在購物中心或企業(yè)中,我們想知道擁有一個(gè)有多貴。但在這里我們將學(xué)習(xí)如何通過 ATMEGA328P-AU(SMD) 微控制器制作可擴(kuò)展的廣告面板 (8x40)。
?

?

MAX7219模塊
我們的項(xiàng)目基于集成的 MAX7219CNG 是一個(gè)用于控制 8x8 矩陣的集成,對(duì)于我們的項(xiàng)目,我們將使用該模塊作為參考,以便能夠在單個(gè) pcb 中組裝 5 個(gè)矩陣并配備 5mm LED。接下來我們就來看看這個(gè)模塊的特點(diǎn):
- 串行控制接口:僅需 3 個(gè)引腳,我們就可以控制整個(gè) LED 矩陣
- 簡單的外部電路——需要很少的外部元件
- 級(jí)聯(lián):多個(gè)MAX7219可以級(jí)聯(lián)。通過這種方式,您可以僅使用 Arduino 板的 3 個(gè)引腳來控制多個(gè) LED 陣列。
- 低功耗模式:僅消耗 120 uA。
我們項(xiàng)目的矩陣是 5 個(gè)級(jí)聯(lián)的 max7219 模塊,如下所示:
?

在我們的例子中,有 5 個(gè) max7219 級(jí)聯(lián)連接,我們只用 3 個(gè) DIN-CS-CLOCK 引腳控制它。
現(xiàn)在我們將看到上傳程序的測(cè)試代碼,我們將使用 arduino IDE,為此我們必須知道我們需要 MAX7219 庫。這個(gè)庫非常好,可以讓我們將文本從一側(cè)移動(dòng)到另一側(cè),為此我們必須將它包含在 Arduino 庫中。接下來我們將看到代碼:
/* Matriz de Desplazamiento LED 8x8 Usando Arduino UNO y el Controlador MAX7219 Debe instalar la libreria MaxMatrix para que funcione el programa Libreria:MaxMatrix
/* Matriz de Desplazamiento LED 8x8
Usando Arduino UNO y el Controlador MAX7219
Debe instalar la libreria MaxMatrix para que funcione el programa
Libreria: MaxMatrix
Autor: Marcelo Moraes (Brazil)
Por: http://elprofegarcia.com/
Tienda: http://dinastiatecnologica.com/
Conexiones del Arduino al Modulo MAX7219:
ARDUINIO MAX7219
10 CLK
9 CS
8 DIN
GND GND
5V VCC
Conexion de la cascada de MAX7219(1) al MAX7219(2)
MAX7219(1) MAX7219(2)
CLK CLK
CS CS
DOUT DIN
GND GND
VCC VCC
La cascada se hace conectano de los pines Superiores a los inferiores del modulo MAX7219
y los modulos se instalan de derecha a izquierda
*/
#include
#include
PROGMEM unsigned char const CH[] = {
3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // space
1, 8, B01011111, B00000000, B00000000, B00000000, B00000000, // !
3, 8, B00000011, B00000000, B00000011, B00000000, B00000000, // "
5, 8, B00010100, B00111110, B00010100, B00111110, B00010100, // #
4, 8, B00100100, B01101010, B00101011, B00010010, B00000000, // $
5, 8, B01100011, B00010011, B00001000, B01100100, B01100011, // %
5, 8, B00110110, B01001001, B01010110, B00100000, B01010000, // &
1, 8, B00000011, B00000000, B00000000, B00000000, B00000000, // '
3, 8, B00011100, B00100010, B01000001, B00000000, B00000000, // (
3, 8, B01000001, B00100010, B00011100, B00000000, B00000000, // )
5, 8, B00101000, B00011000, B00001110, B00011000, B00101000, // *
5, 8, B00001000, B00001000, B00111110, B00001000, B00001000, // +
2, 8, B10110000, B01110000, B00000000, B00000000, B00000000, // ,
4, 8, B00001000, B00001000, B00001000, B00001000, B00000000, // -
2, 8, B01100000, B01100000, B00000000, B00000000, B00000000, // .
4, 8, B01100000, B00011000, B00000110, B00000001, B00000000, // /
4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // 0
3, 8, B01000010, B01111111, B01000000, B00000000, B00000000, // 1
4, 8, B01100010, B01010001, B01001001, B01000110, B00000000, // 2
4, 8, B00100010, B01000001, B01001001, B00110110, B00000000, // 3
4, 8, B00011000, B00010100, B00010010, B01111111, B00000000, // 4
4, 8, B00100111, B01000101, B01000101, B00111001, B00000000, // 5
4, 8, B00111110, B01001001, B01001001, B00110000, B00000000, // 6
4, 8, B01100001, B00010001, B00001001, B00000111, B00000000, // 7
4, 8, B00110110, B01001001, B01001001, B00110110, B00000000, // 8
4, 8, B00000110, B01001001, B01001001, B00111110, B00000000, // 9
2, 8, B01010000, B00000000, B00000000, B00000000, B00000000, // :
2, 8, B10000000, B01010000, B00000000, B00000000, B00000000, // ;
3, 8, B00010000, B00101000, B01000100, B00000000, B00000000, // <
3, 8, B00010100, B00010100, B00010100, B00000000, B00000000, // =
3, 8, B01000100, B00101000, B00010000, B00000000, B00000000, // >
4, 8, B00000010, B01011001, B00001001, B00000110, B00000000, // ?
5, 8, B00111110, B01001001, B01010101, B01011101, B00001110, // @
4, 8, B01111110, B00010001, B00010001, B01111110, B00000000, // A
4, 8, B01111111, B01001001, B01001001, B00110110, B00000000, // B
4, 8, B00111110, B01000001, B01000001, B00100010, B00000000, // C
4, 8, B01111111, B01000001, B01000001, B00111110, B00000000, // D
4, 8, B01111111, B01001001, B01001001, B01000001, B00000000, // E
4, 8, B01111111, B00001001, B00001001, B00000001, B00000000, // F
4, 8, B00111110, B01000001, B01001001, B01111010, B00000000, // G
4, 8, B01111111, B00001000, B00001000, B01111111, B00000000, // H
3, 8, B01000001, B01111111, B01000001, B00000000, B00000000, // I
4, 8, B00110000, B01000000, B01000001, B00111111, B00000000, // J
4, 8, B01111111, B00001000, B00010100, B01100011, B00000000, // K
4, 8, B01111111, B01000000, B01000000, B01000000, B00000000, // L
5, 8, B01111111, B00000010, B00001100, B00000010, B01111111, // M
5, 8, B01111111, B00000100, B00001000, B00010000, B01111111, // N
4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // O
4, 8, B01111111, B00001001, B00001001, B00000110, B00000000, // P
4, 8, B00111110, B01000001, B01000001, B10111110, B00000000, // Q
4, 8, B01111111, B00001001, B00001001, B01110110, B00000000, // R
4, 8, B01000110, B01001001, B01001001, B00110010, B00000000, // S
5, 8, B00000001, B00000001, B01111111, B00000001, B00000001, // T
4, 8, B00111111, B01000000, B01000000, B00111111, B00000000, // U
5, 8, B00001111, B00110000, B01000000, B00110000, B00001111, // V
5, 8, B00111111, B01000000, B00111000, B01000000, B00111111, // W
5, 8, B01100011, B00010100, B00001000, B00010100, B01100011, // X
5, 8, B00000111, B00001000, B01110000, B00001000, B00000111, // Y
4, 8, B01100001, B01010001, B01001001, B01000111, B00000000, // Z
2, 8, B01111111, B01000001, B00000000, B00000000, B00000000, // [
4, 8, B00000001, B00000110, B00011000, B01100000, B00000000, // \ backslash
2, 8, B01000001, B01111111, B00000000, B00000000, B00000000, // ]
3, 8, B00000010, B00000001, B00000010, B00000000, B00000000, // hat
4, 8, B01000000, B01000000, B01000000, B01000000, B00000000, // _
2, 8, B00000001, B00000010, B00000000, B00000000, B00000000, // `
4, 8, B00100000, B01010100, B01010100, B01111000, B00000000, // a
4, 8, B01111111, B01000100, B01000100, B00111000, B00000000, // b
4, 8, B00111000, B01000100, B01000100, B00101000, B00000000, // c
4, 8, B00111000, B01000100, B01000100, B01111111, B00000000, // d
4, 8, B00111000, B01010100, B01010100, B00011000, B00000000, // e
3, 8, B00000100, B01111110, B00000101, B00000000, B00000000, // f
4, 8, B10011000, B10100100, B10100100, B01111000, B00000000, // g
4, 8, B01111111, B00000100, B00000100, B01111000, B00000000, // h
3, 8, B01000100, B01111101, B01000000, B00000000, B00000000, // i
4, 8, B01000000, B10000000, B10000100, B01111101, B00000000, // j
4, 8, B01111111, B00010000, B00101000, B01000100, B00000000, // k
3, 8, B01000001, B01111111, B01000000, B00000000, B00000000, // l
5, 8, B01111100, B00000100, B01111100, B00000100, B01111000, // m
4, 8, B01111100, B00000100, B00000100, B01111000, B00000000, // n
4, 8, B00111000, B01000100, B01000100, B00111000, B00000000, // o
4, 8, B11111100, B00100100, B00100100, B00011000, B00000000, // p
4, 8, B00011000, B00100100, B00100100, B11111100, B00000000, // q
4, 8, B01111100, B00001000, B00000100, B00000100, B00000000, // r
4, 8, B01001000, B01010100, B01010100, B00100100, B00000000, // s
3, 8, B00000100, B00111111, B01000100, B00000000, B00000000, // t
4, 8, B00111100, B01000000, B01000000, B01111100, B00000000, // u
5, 8, B00011100, B00100000, B01000000, B00100000, B00011100, // v
5, 8, B00111100, B01000000, B00111100, B01000000, B00111100, // w
5, 8, B01000100, B00101000, B00010000, B00101000, B01000100, // x
4, 8, B10011100, B10100000, B10100000, B01111100, B00000000, // y
3, 8, B01100100, B01010100, B01001100, B00000000, B00000000, // z
3, 8, B00001000, B00110110, B01000001, B00000000, B00000000, // {
1, 8, B01111111, B00000000, B00000000, B00000000, B00000000, // |
3, 8, B01000001, B00110110, B00001000, B00000000, B00000000, // }
4, 8, B00001000, B00000100, B00001000, B00000100, B00000000, // ~
};
int data = 8; // DIN pin del modulo MAX7219
int load = 9; // CS pin del modulo MAX7219
int clock = 10; // CLK pin del modulo MAX7219
int maxInUse = 5; //Cambie este valor dependiendo del numero de matrices que use
MaxMatrix m(data, load, clock, maxInUse); // Define el modulo
byte buffer[10];
char mensaje1[] = " Electronica ABC proyectos y circuitos"; //Escriba el mensaje a desplegar
char mensaje2[] = " Patrocinado por JLCPCB 5PCBS A $2 https://jlcpcb.com/RAV";
void setup(){
pinMode(8,OUTPUT); //Conexion a DIN
pinMode(9,OUTPUT); //Conexion a CS
pinMode(10,OUTPUT); //Conexion a CLK
m.init(); // inicializa el modulo
m.setIntensity(8); // intencidad de los puntos de la matriz, entre 1-5
Serial.begin(9600); // inicializa el puerto serial
}
void loop(){
byte c;
// Lee el mensaje que llega por el puerto serial
while (Serial.available() > 0){
byte c = Serial.read();
Serial.println(c, DEC);
printCharWithShift(c, 100);
}
delay(100); // Tiempo de inicio de un nuevo Ciclo de mensajes
m.shiftLeft(false, true);
// Despliega los mensajes almacenados en las variables
printStringWithShift(mensaje1, 100); // El ultimo termino se usa para la velocidad del mensaje
printStringWithShift(mensaje2, 100);
}
void printCharWithShift(char c, int shift_speed){ // Imprime caracteres
if (c < 32) return;
c -= 32;
memcpy_P(buffer, CH + 7*c, 7);
m.writeSprite(maxInUse*8, 0, buffer);
m.setColumn(maxInUse*8 + buffer[0], 0);
for (int i=0; i[0]+1;>
{
delay(shift_speed);
m.shiftLeft(false, false);
}
}
void printStringWithShift(char* s, int shift_speed){ // Imprime cadena de caracteres
while (*s != 0){
printCharWithShift(*s, shift_speed);
s++;
}
}
void printString(char* s) // Imprime cadena
{
int col = 0;
while (*s != 0)
{
if (*s < 32) continue;
char c = *s - 32;
memcpy_P(buffer, CH + 7*c, 7);
m.writeSprite(col, 0, buffer);
m.setColumn(col + buffer[0], 0);
col += buffer[0] + 1;
s++;
}
}
在這個(gè)項(xiàng)目中,我們使用以下電子元件:
- 320顆5mm
- 5個(gè)MAX7219CNG IC
- 1 集成電路 CH340C
- 1 調(diào)節(jié)器 7805
- 2顆3MM
- 5只電解電容10UF16V
- 2個(gè)電解電容100UF16V
- 1 IC ATMEGA328P-AU(貼片)
- 5個(gè)電阻1206 OF 1K
- 1個(gè)按鈕
- 1個(gè)晶振16MHZ
- 2個(gè)電容22PF
- 1 個(gè) D 型連接器
- 1 個(gè)直流插孔
- 5個(gè)電容104
- 5個(gè)電阻1/4W 1K
- 10個(gè)電阻1/4W 100歐姆
- 5 個(gè)電阻 1/4W 220 歐姆
- 2個(gè)電容100nf貼片1206
?
?
?
- 基于ATmega328P微控制器的Ardu鍵盤
- 基于ATmega328P的DIY macropad
- 簡單的獨(dú)立ATMega328p微控制器
- 帶ATMEGA328P的定制LoRa基礎(chǔ)模塊
- Atmega328P脈寬調(diào)制控制器
- 基于ATmega328P的電感計(jì) 6次下載
- 帶有ATMEGA328P設(shè)備的Arduino Uno門鈴項(xiàng)目
- 使用ATmega328p的迷你示波器
- 基于Atmega328P的PWM控制器卡
- 具有集成LoRa和CAN總線的ATMEGA328P模塊
- 最低系統(tǒng)ATmega328p開源
- Atmega328P不帶Arduino PCB設(shè)計(jì)
- ATMEGA328P詳細(xì)資料數(shù)據(jù)手冊(cè)免費(fèi)下載 474次下載
- 1469416411ATmega328P中文翻譯資料 414次下載
- Arduino Atmega328P開發(fā)板軟件下載與安裝 132次下載
- COB與SMD到底有什么不同 2663次閱讀
- 如何利用ATmega328P構(gòu)建一個(gè)可靠的LoRa設(shè)備 5495次閱讀
- 如何為ATmega328P刷bootloader? 7973次閱讀
- LED燈箱廣告制作步驟及注意事項(xiàng) 7419次閱讀
- 基于ATmega324p單片機(jī)實(shí)現(xiàn)便攜式控制器模塊的軟硬件設(shè)計(jì) 3273次閱讀
- 基于使用Atmega328P和ULN2003步進(jìn)驅(qū)動(dòng)器制造繪圖儀機(jī)器人 3596次閱讀
- 如何用空糖果盒制作LED面板? 3627次閱讀
- 如何使用BA328設(shè)計(jì)制作一個(gè)音調(diào)控制電路 7365次閱讀
- 微雪電子Arduino開發(fā)板UNO PLUS簡介 5786次閱讀
- 如何采用Arduino系統(tǒng)板進(jìn)行單片機(jī)編程 6505次閱讀
- PCB雙面板的定義及制作流程 1w次閱讀
- 自制四軸飛行器之路 2.4w次閱讀
- 基于RDA5807P芯片的遙控收音機(jī)設(shè)計(jì)和制作 2.6w次閱讀
- cob光源和smd有什么區(qū)別_cob光源和smd光源區(qū)別介紹 5w次閱讀
- 12au7電子管引腳圖及參數(shù) 6.8w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論