资料介绍
描述
很多时候,我们看到过不同颜色的广告照明标志或文字从左向右滑动或反之亦然的图像,主要是在购物中心或企业中,我们想知道拥有一个有多贵。但在这里我们将学习如何通过 ATMEGA328P-AU(SMD)微控制器制作可扩展的广告面板 (8x40)。
MAX7219模块
我们的项目基于集成的 MAX7219CNG 是一个用于控制 8x8 矩阵的集成,对于我们的项目,我们将使用该模块作为参考,以便能够在单个pcb中组装 5 个矩阵并配备 5mmLED。接下来我们就来看看这个模块的特点:
- 串行控制接口:仅需 3 个引脚,我们就可以控制整个 LED 矩阵
- 简单的外部电路——需要很少的外部元件
- 级联:多个MAX7219可以级联。通过这种方式,您可以仅使用Arduino板的 3 个引脚来控制多个 LED 阵列。
- 低功耗模式:仅消耗 120 uA。
我们项目的矩阵是 5 个级联的 max7219 模块,如下所示:
在我们的例子中,有 5 个 max7219 级联连接,我们只用 3 个 DIN-CS-CLOCK 引脚控制它。
现在我们将看到上传程序的测试代码,我们将使用 arduino IDE,为此我们必须知道我们需要 MAX7219 库。这个库非常好,可以让我们将文本从一侧移动到另一侧,为此我们必须将它包含在 Arduino 库中。接下来我们将看到代码:
/* Matriz de Desplazamiento LED 8x8Usando Arduino UNO y el ControladorMAX7219Debe instalar la libreria MaxMatrix para que funcione el programaLibreria:MaxMatrix
/* Matriz de Desplazamiento LED8x8Usando Arduino UNO y el Controlador MAX7219Debe instalar la libreria MaxMatrix para que funcione el programaLibreria: MaxMatrixAutor: Marcelo Moraes (Brazil)Por: http://elprofegarcia.com/Tienda: http://dinastiatecnologica.com/Conexiones del Arduino al Modulo MAX7219:ARDUINIO MAX721910CLK9CS8DINGND GND5V VCCConexion de la cascada de MAX7219(1) al MAX7219(2)MAX7219(1) MAX7219(2)CLK CLKCS CSDOUT DINGND GNDVCC VCCLa cascada se hace conectano de lospines Superiores a los inferiores del modulo MAX7219y los modulos se instalan de derecha a izquierda*/#include#includePROGMEM unsigned char const CH[] = {3,8, B00000000, B00000000, B00000000, B00000000, B00000000, // space1,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, //03,8, B01000010, B01111111, B01000000, B00000000, B00000000, //14,8, B01100010, B01010001, B01001001, B01000110, B00000000, //24,8, B00100010, B01000001, B01001001, B00110110, B00000000, //34,8, B00011000, B00010100, B00010010, B01111111, B00000000, //44,8, B00100111, B01000101, B01000101, B00111001, B00000000, //54,8, B00111110, B01001001, B01001001, B00110000, B00000000, //64,8, B01100001, B00010001, B00001001, B00000111, B00000000, //74,8, B00110110, B01001001, B01001001, B00110110, B00000000, //84,8, B00000110, B01001001, B01001001, B00111110, B00000000, //92,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, // A4, 8, B01111111, B01001001, B01001001, B00110110, B00000000, // B4, 8, B00111110, B01000001, B01000001, B00100010, B00000000, // C4, 8, B01111111, B01000001, B01000001, B00111110, B00000000, // D4, 8, B01111111, B01001001, B01001001, B01000001, B00000000, // E4, 8, B01111111, B00001001, B00001001, B00000001, B00000000, // F4, 8, B00111110, B01000001, B01001001, B01111010, B00000000, // G4, 8, B01111111, B00001000, B00001000, B01111111, B00000000, // H3, 8, B01000001, B01111111, B01000001, B00000000, B00000000, // I4, 8, B00110000, B01000000, B01000001, B00111111, B00000000, // J4, 8, B01111111, B00001000, B00010100, B01100011, B00000000, // K4, 8, B01111111, B01000000, B01000000, B01000000, B00000000, // L5, 8, B01111111, B00000010, B00001100, B00000010, B01111111, // M5, 8, B01111111, B00000100, B00001000, B00010000, B01111111, // N4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // O4, 8, B01111111, B00001001, B00001001, B00000110, B00000000, // P4, 8, B00111110, B01000001, B01000001, B10111110, B00000000, // Q4, 8, B01111111, B00001001, B00001001, B01110110, B00000000, // R4, 8, B01000110, B01001001, B01001001, B00110010, B00000000, // S5, 8, B00000001, B00000001, B01111111, B00000001, B00000001, // T4, 8, B00111111, B01000000, B01000000, B00111111, B00000000, // U5, 8, B00001111, B00110000, B01000000, B00110000, B00001111, // V5, 8, B00111111, B01000000, B00111000, B01000000, B00111111, // W5, 8, B01100011, B00010100, B00001000, B00010100, B01100011, // X5, 8, B00000111, B00001000, B01110000, B00001000, B00000111, // Y4, 8, B01100001, B01010001, B01001001, B01000111, B00000000, // Z2, 8, B01111111, B01000001, B00000000, B00000000, B00000000, // [4, 8, B00000001, B00000110, B00011000, B01100000, B00000000, // \ backslash2, 8, B01000001, B01111111, B00000000, B00000000, B00000000, // ]3, 8, B00000010, B00000001, B00000010, B00000000, B00000000, // hat4, 8, B01000000, B01000000, B01000000, B01000000, B00000000, // _2, 8, B00000001, B00000010, B00000000, B00000000, B00000000, // `4, 8, B00100000, B01010100, B01010100, B01111000, B00000000, // a4, 8, B01111111, B01000100, B01000100, B00111000, B00000000, // b4, 8, B00111000, B01000100, B01000100, B00101000, B00000000, // c4, 8, B00111000, B01000100, B01000100, B01111111, B00000000, // d4, 8, B00111000, B01010100, B01010100, B00011000, B00000000, // e3, 8, B00000100, B01111110, B00000101, B00000000, B00000000, // f4, 8, B10011000, B10100100, B10100100, B01111000, B00000000, // g4, 8, B01111111, B00000100, B00000100, B01111000, B00000000, // h3, 8, B01000100, B01111101, B01000000, B00000000, B00000000, // i4, 8, B01000000, B10000000, B10000100, B01111101, B00000000, // j4, 8, B01111111, B00010000, B00101000, B01000100, B00000000, // k3, 8, B01000001, B01111111, B01000000, B00000000, B00000000, // l5, 8, B01111100, B00000100, B01111100, B00000100, B01111000, // m4, 8, B01111100, B00000100, B00000100, B01111000, B00000000, // n4, 8, B00111000, B01000100, B01000100, B00111000, B00000000, // o4, 8, B11111100, B00100100, B00100100, B00011000, B00000000, // p4, 8, B00011000, B00100100, B00100100, B11111100, B00000000, // q4, 8, B01111100, B00001000, B00000100, B00000100, B00000000, // r4, 8, B01001000, B01010100, B01010100, B00100100, B00000000, // s3, 8, B00000100, B00111111, B01000100, B00000000, B00000000, // t4, 8, B00111100, B01000000, B01000000, B01111100, B00000000, // u5, 8, B00011100, B00100000, B01000000, B00100000, B00011100, // v5, 8, B00111100, B01000000, B00111100, B01000000, B00111100, // w5, 8, B01000100, B00101000, B00010000, B00101000, B01000100, // x4, 8, B10011100, B10100000, B10100000, B01111100, B00000000, // y3, 8, B01100100, B01010100, B01001100, B00000000, B00000000, // z3, 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 MAX7219int load = 9; // CS pin del modulo MAX7219int clock = 10; // CLK pin del modulo MAX7219int maxInUse = 5; //Cambie estevalor dependiendo del numero de matrices que useMaxMatrix m(data, load, clock, maxInUse); // Define el modulobyte buffer[10];char mensaje1[] = " Electronica ABC proyectos y circuitos"; //Escriba el mensaje a desplegarchar mensaje2[] = " Patrocinado por JLCPCB 5PCBS A $2 https://jlcpcb.com/RAV";void setup(){pinMode(8,OUTPUT); //Conexion a DINpinMode(9,OUTPUT); //Conexion a CSpinMode(10,OUTPUT); //Conexion a CLKm.init(); // inicializa el modulom.setIntensity(8); // intencidad de los puntos de la matriz, entre 1-5Serial.begin(9600); // inicializa el puerto serial}void loop(){byte c;// Lee el mensaje que llega por el puerto serialwhile (Serial.available() > 0){byte c = Serial.read();Serial.println(c, DEC);printCharWithShift(c, 100);}delay(100); // Tiempo de inicio de un nuevo Ciclo de mensajesm.shiftLeft(false, true);// Despliega los mensajes almacenados en las variablesprintStringWithShift(mensaje1, 100); // El ultimo termino se usa para la velocidad del mensajeprintStringWithShift(mensaje2, 100);}void printCharWithShift(char c, int shift_speed){ // Imprime caracteresif (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 caractereswhile (*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++;}}
在这个项目中,我们使用以下电子元件:
- 基于ATmega328P微控制器的Ardu键盘0次下载
- 基于ATmega328P的DIY macropad0次下载
- 简单的独立ATMega328p微控制器0次下载
- 带ATMEGA328P的定制LoRa基础模块0次下载
- Atmega328P脉宽调制控制器1次下载
- 利用ATmega328P和4位7段显示器制作两位数加减计数器0次下载
- 基于ATmega328P的电感计4次下载
- 带有ATMEGA328P设备的Arduino Uno门铃项目2次下载
- 使用ATmega328p的迷你示波器8次下载
- 基于Atmega328P的PWM控制器卡2次下载
- 具有集成LoRa和CAN总线的ATMEGA328P模块1次下载
- 适用于所有atmega328p项目的通用板8次下载
- 最低系统ATmega328p开源15次下载
- Atmega328P不带Arduino PCB设计11次下载
- ArduinoAtmega328P开发板软件下载与安装128次下载
- COB与SMD到底有什么不同1252次阅读
- 如何利用ATmega328P构建一个可靠的LoRa设备4827次阅读
- 如何为ATmega328P刷bootloader?5296次阅读
- LED灯箱广告制作步骤及注意事项6484次阅读
- 基于使用Atmega328P和ULN2003步进驱动器制造绘图仪机器人2981次阅读
- 如何用空糖果盒制作LED面板?3264次阅读
- 如何使用BA328设计制作一个音调控制电路5965次阅读
- 微雪电子Arduino开发板UNO PLUS简介4881次阅读
- 典型LED广告灯线路原理图8946次阅读
- 如何采用Arduino系统板进行单片机编程5965次阅读
- 插座面板哪个品牌好8126次阅读
- PCB双面板的定义及制作流程9857次阅读
- 区块链技术的数字广告平台,如何重新定义浏览器928次阅读
- 自制四轴飞行器之路2.3w次阅读
- 12au7电子管引脚图及参数6.3w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB |532次下载 |免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB |339次下载 |免费
- 3TC358743XBG评估板参考手册
- 1.36 MB |330次下载 |免费
- 4DFM软件使用教程
- 0.84 MB |295次下载 |免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB |227次下载 |免费
- 6迪文DGUS开发指南
- 31.67 MB |194次下载 |免费
- 7元宇宙底层硬件系列报告
- 13.42 MB |182次下载 |免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB |178次下载 |免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB |234315次下载 |免费
- 2555集成电路应用800例(新编版)
- 0.00 MB |33566次下载 |免费
- 3接口电路图大全
- 未知 |30323次下载 |免费
- 4开关电源设计实例指南
- 未知 |21549次下载 |免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB |15349次下载 |免费
- 6数字电路基础pdf(下载)
- 未知 |13750次下载 |免费
- 7电子制作实例集锦 下载
- 未知 |8113次下载 |免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB |6656次下载 |免费
总榜
- 1matlab软件下载入口
- 未知 |935054次下载 |免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB |537798次下载 |免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 |420027次下载 |免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB |234315次下载 |免费
- 5Altium DXP2002下载入口
- 未知 |233046次下载 |免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 |191187次下载 |免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M |183279次下载 |免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 |138040次下载 |免费
评论
查看更多