【雕爷学编程】Arduino动手做(163)---大尺寸8x8LED方格屏模块2

news2024/11/25 5:37:05

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百六十三:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度

在这里插入图片描述
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百六十三:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度

项目之四:在屏幕上逐渐显示欢迎面孔(延时500毫秒)

Arduino实验开源代码

/*

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

 6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度

 项目之四:在屏幕上逐渐显示欢迎面孔(延时500毫秒)

 接脚连线:

 MAX7219    UNO

 VCC →→→→→ 5V

 GND →→→→→ GND

 DIN →→→→→ D12(数据)

 CS  →→→→→ D11(负载)

 CLK →→→→→ D10(时钟)

*/

#include <Sprite.h>

#include <Matrix.h>

Matrix myMatrix = Matrix(12, 10, 11);// Matrix(DIN, CLK, CS)

void setup() {

}

void loop() {

 myMatrix.clear(); // 显示清屏

 delay(500);

 myMatrix.write(2, 2, HIGH);// 打开相关位置的像素(点阵)

 delay(500);

 myMatrix.write(5, 2, HIGH);

 delay(500);

 myMatrix.write(1, 5, HIGH);

 delay(500);

 myMatrix.write(2, 6, HIGH);

 delay(500);

 myMatrix.write(3, 6, HIGH);

 delay(500);

 myMatrix.write(4, 6, HIGH);

 delay(500);

 myMatrix.write(5, 6, HIGH);

 delay(500);

 myMatrix.write(6, 5, HIGH);

 delay(500);

}


Arduino实验场景图

在这里插入图片描述
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百六十三:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度

项目之五:混合显示各种动态图形

Arduino实验开源代码

/*

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

  6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度

 项目之五:混合显示各种动态图形

 接脚连线:

 MAX7219    UNO

 VCC →→→→→ 5V

 GND →→→→→ GND

 DIN →→→→→ D12(数据)

 CS  →→→→→ D11(负载)

 CLK →→→→→ D10(时钟)

*/

#include <MaxMatrix.h>

int DIN = 12;  // MAX7219模块的DIN引脚

int CLK = 10;  // MAX7219模块的CLK引脚

int CS = 11;  // MAX7219模块的CS引脚

int maxInUse = 1;

MaxMatrix m(DIN, CS, CLK, maxInUse);

char A[] = {4, 8,

      B01111110,

      B00010001,

      B00010001,

      B01111110,

      };

char B[] = {4, 8,

      B01111111,

      B01001001,

      B01001001,

      B00110110,

      };

char smile01[] = {8, 8,

         B00111100,

         B01000010,

         B10010101,

         B10100001,

         B10100001,

         B10010101,

         B01000010,

         B00111100

         };

char smile02[] = {8, 8,

         B00111100,

         B01000010,

         B10010101,

         B10010001,

         B10010001,

         B10010101,

         B01000010,

         B00111100

         };

char smile03[] = {8, 8,

         B00111100,

         B01000010,

         B10100101,

         B10010001,

         B10010001,

         B10100101,

         B01000010,

         B00111100

         };

void setup() {

 m.init(); //MAX7219初始化

 m.setIntensity(8); // 初始 LED 矩阵亮度,0-15

}

void loop() {

 // 在 x、y 或行、列位置设置 LED 开或关

 m.setDot(6, 2, true);

 delay(500);

 m.setDot(6, 3, true);

 delay(500);

 m.clear(); // 清除显示

 for (int i = 0; i < 8; i++) {

  m.setDot(i, i, true);

  delay(200);

 }

 m.clear();

 // 在 x,y 处显示字符(字符的左上角)

 m.writeSprite(2, 0, A);

 delay(500);

 m.writeSprite(2, 0, B);

 delay(500);

 m.writeSprite(0, 0, smile01);

 delay(500);

 m.writeSprite(0, 0, smile02);

 delay(500);

 m.writeSprite(0, 0, smile03);

 delay(500);

 for (int i = 0; i < 8; i++) {

  m.shiftLeft(false, false);

  delay(200);

 }

 m.clear();

}

为了显示字符,需要在字符或字节数组中定义它们,这里举了几个例子。可以注意到这些位是如何形成实际为0和1的字符。在本例中,它们被旋转90度,但是库示例建议以这样的方式使用它们,以便以后更容易实现用于滚动文本的shiftLeft自定义函数。

在setup函数部分,只需初始化模块以及设置LED的亮度。在loop函数中,通过使用setDot()函数,可以点亮任意X、Y或行/列位置的单只LED,并且可以使用clear()函数清除显示。使用writeSprite()函数来显示预定义的字符,该函数的前两个参数是字符左上角的X和Y位置。最后我们使用shiftLeft()函数向左移动或滚动字符。

在这里插入图片描述

Arduino实验场景图

在这里插入图片描述
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百六十三:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度

项目之六:跳动的红心

Arduino实验开源代码

/*

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

  6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度

 项目之六:跳动的红心

 接脚连线:

 MAX7219    UNO

 VCC →→→→→ 5V

 GND →→→→→ GND

 DIN →→→→→ D12(数据)

 CS  →→→→→ D11(负载)

 CLK →→→→→ D10(时钟)

*/

unsigned char i;

unsigned char j; 

 

int Max7219_pinCLK = 10;

int Max7219_pinCS = 11;

int Max7219_pinDIN = 12;

 

unsigned char disp1[19][8]={0x0c,0x1e,0x3e,0x7c,0x7c,0x3e,0x1e,0x0c};

 

void Write_Max7219_byte(unsigned char DATA) {  

 unsigned char i;

 digitalWrite(Max7219_pinCS,LOW);  

 for(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);    

}

 

void setup(){

 pinMode(Max7219_pinCLK,OUTPUT);

 pinMode(Max7219_pinCS,OUTPUT);

 pinMode(Max7219_pinDIN,OUTPUT);

 delay(2000);

 Init_MAX7219();

}

 

void loop(){ 

 for(j=0;j<19;j++){

  for(i=1;i<9;i++)

   Write_Max7219(i,disp1[j][i-1]);

  delay(100);

 }  

}

Arduino实验场景图

在这里插入图片描述
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百六十三:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度

项目之七:制作一个属于你的表白神器LOVE

Arduino实验开源代码

/*

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

  6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度

 项目之七:制作一个属于你的表白神器LOVE

 接脚连线:

 MAX7219    UNO

 VCC →→→→→ 5V

 GND →→→→→ GND

 DIN →→→→→ D12(数据)

 CS  →→→→→ D11(负载)

 CLK →→→→→ D10(时钟)

*/

int CLK = 10;

int CS = 11;

int DIN = 12; //这里定义了那三个脚

unsigned char disp1[38][8] = {

 {0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7E}, //L

 {0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C}, //O

 {0x42, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x18}, //V

 {0x7E, 0x40, 0x40, 0x7E, 0x40, 0x40, 0x40, 0x7E}, //E

 {0x66, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3C, 0x18}, //TX

};

void Delay(double x) {

 double i;

 for (i = 0; i < x; i++);

}

void setup() {

 pinMode(CLK, OUTPUT);

 pinMode(CS, OUTPUT);

 pinMode(DIN, OUTPUT); //让三个脚都是输出状态

}

void loop() {

 unsigned char i, j;

 Delay_xms(100);

 Init_MAX7219();

 while (1)

 {

  for (j = 0; j < 38; j++)

  {

   for (i = 1; i < 9; i++)

    Write_Max7219(i, disp1[j][i - 1]);

   Delay(30000);

  }

 }

}

void Delay_xms(unsigned int x) {

 unsigned int i, j;

 for (i = 0; i < x; i++)

  for (j = 0; j < 112; j++);

}

//--------------------------------------------

//功能:向MAX7219(U3)写入字节

//入口参数:DATA

//出口参数:无

void Write_Max7219_byte(unsigned char DATA) {

 unsigned char i;

 digitalWrite(CS, LOW);

 for (i = 8; i >= 1; i--) {

  digitalWrite(CLK, LOW);

  if (DATA & 0X80)

   digitalWrite(DIN, HIGH);

  else

   digitalWrite(DIN, LOW);

  DATA <<= 1;

  digitalWrite(CLK, HIGH);

 }

}

//-------------------------------------------

//功能:向MAX7219写入数据

//入口参数:address、dat

//出口参数:无

void Write_Max7219(unsigned char address, unsigned char dat) {

 digitalWrite(CS, LOW);

 Write_Max7219_byte(address); //写入地址,即数码管编号

 Write_Max7219_byte(dat); //写入数据,即数码管显示数字

 digitalWrite(CS, HIGH);

}

void Init_MAX7219(void) {

 Write_Max7219(0x09, 0x00); //译码方式:BCD码

 Write_Max7219(0x0a, 0x03); //亮度

 Write_Max7219(0x0b, 0x07); //扫描界限;4个数码管显示

 Write_Max7219(0x0c, 0x01); //掉电模式:0,普通模式:1

 Write_Max7219(0x0f, 0x00); //显示测试:1;测试结束,正常显示:0

}

Arduino实验场景图

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百六十三:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度

项目之八:表情、箭和移动车交替模式

Arduino实验开源代码

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验一百七十六:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度
  项目之八:表情、箭和移动车交替模式
  接脚连线:
  MAX7219       UNO
  VCC  →→→→→ 5V
  GND  →→→→→ GND
  DIN  →→→→→ D12(数据)
  CS   →→→→→ D11(负载)
  CLK  →→→→→ D10(时钟)
*/

#include <LedControl.h>
int DIN = 12;
int CS =  11;
int CLK = 10;
LedControl lc = LedControl(DIN, CLK, CS, 0);

void setup() {
  lc.shutdown(0, false);
  lc.setIntensity(0, 10);  //调整亮度最大为15
  lc.clearDisplay(0);
}

void loop() {
  //表情
  byte smile[8] =   {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C};
  byte neutral[8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C};
  byte sad[8] =   {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C};

  //箭
  byte arrow_up[8] = {0x18, 0x3C, 0x7E, 0xFF, 0x18, 0x18, 0x18, 0x18};
  byte arrow_down[8] = {0x18, 0x18, 0x18, 0x18, 0xFF, 0x7E, 0x3C, 0x18};

  //交替模式
  byte d1[8] = {0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55};
  byte d2[8] = {0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA};

  //移动车
  byte b1[8] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x3C}; //8*8LED点阵 取模软件生成
  byte b2[8] = {0x00, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x3C, 0x00};
  byte b3[8] = {0x00, 0x00, 0x18, 0x3C, 0x18, 0x3C, 0x00, 0x00};
  byte b4[8] = {0x00, 0x18, 0x3C, 0x18, 0x3C, 0x00, 0x00, 0x00};
  byte b5[8] = {0x18, 0x3C, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00};
  byte b6[8] = {0x3C, 0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x18};
  byte b7[8] = {0x18, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3C};
  byte b8[8] = {0x3C, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, 0x18};

  //移动车
  printByte(b1);
  delay(50);
  printByte(b2);
  delay(50);
  printByte(b3);
  delay(50);
  printByte(b4);
  delay(50);
  printByte(b5);
  delay(50);
  printByte(b6);
  delay(50);
  printByte(b7);
  delay(50);
  printByte(b8);
  delay(50);

  //交替模式
  printByte(d1);
  delay(300);

  printByte(d2);
  delay(300);

  //箭
  printByte(arrow_up);
  delay(800);

  printByte(arrow_down);
  delay(500);

  //表情
  printByte(smile);
  delay(500);

  printByte(neutral);
  delay(500);

  printByte(sad);
  delay(500);
}

void printByte(byte character []) {
  int i = 0;
  for (i = 0; i < 8; i++) {
    lc.setRow(0, i, character[i]);
  }
}

Arduino实验场景图

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百六十三:6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度

项目之九:动态显示字符串“XVOWM X”

Arduino实验开源代码

/*

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

  6mm大尺寸8x8LED方块方格点阵模块 可级联 红绿蓝白色 可选8级亮度

 项目之九:动态显示字符串“XVOWM X”

 接脚连线:

 MAX7219    UNO

 VCC →→→→→ 5V

 GND →→→→→ GND

 DIN →→→→→ D12(数据,数据接收引脚)

 CS  →→→→→ D11(负载,命令接收引脚)

 CLK →→→→→ D10(时钟,时钟引脚)

*/

#include "LedControlMS.h"

#define NBR_MTX 2

LedControl lc=LedControl(12, 10, 11, NBR_MTX);

String sentence= "XVOWM X";

int letterCounter=0;

// 显示更新之间的等待时间

unsigned long delaytime=300;

void setup() { // 初始化并设置初始值。 声明函数设置

 // 显示模块在启动时处于省电模式

 Serial.begin(9600); //将数据速率设置为每秒 9600 位,以便与计算机进行串行数据通信

 Serial.println("Setup"); //将数据作为可读的文本打印到串行端口

 letterCounter=0;

  

 for (int i=0; i< NBR_MTX; i++){

  lc.shutdown(i,false); //保持屏幕开启

  lc.setIntensity(i,8); // 将亮度设置为中等值

  lc.clearDisplay(i); // 清除每个字母后的显示

 }

}

void loop() { //声明函数循环

 char ch= sentence[letterCounter]; //定义字符 ch

 letterCounter++;

 if (letterCounter>14) letterCounter=0; //设置循环

 lc.displayChar(0, lc.getCharArrayPosition(ch)); //在屏幕上显示每个字符

 delay(500);

 lc.clearAll();

 delay(200);

}

Arduino实验场景图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/760654.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学无止境·MySQL⑧(Redis)

Redis和Mongodb练习 Redis1、安装redis2、string类型数据的命令操作&#xff1a;设置键值&#xff1a;读取键值数值类型自增1数值类型自减1查看值的长度 3、list类型数据的命令操作对列表city插入元素&#xff1a;Shanghai Suzhou Hangzhou将列表city里的头部的元素移除将name列…

AI炒股:用Claude来分析A股2023年中报业绩预告

Claude是和ChatGPT类似的AI大模型&#xff0c;据测试 AI 的水平能力接近 GPT-4&#xff0c;支持高达 100K token 的上下文。Claude只需要到官方网站注册账号后就可以直接免费使用。不过&#xff0c;目前智能美国和英国的 IP 可以注册和使用。 Claude支持上传文档功能&#xff…

计算机网络基础第三章

一、数据链路层功能概述 1.1 数据链路层基本概念 结点&#xff1a;主机、路由器 链路&#xff1a;网络中两个结点之间的物理通道&#xff0c;链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路 数据链路&#xff1a;网络中两个结点之间的逻辑通道&#xff0c;…

C++ 异常

文章目录 一. C语言的错误处理二. C的异常三. 异常的抛出与捕获1. 异常的抛出与匹配机制2. 在函数调用链中异常栈展开匹配原则3. 异常安全 四. 多态在异常中的应用五. C标准库的异常体系六. 异常规范七. 异常的优缺点结束语 一. C语言的错误处理 在C语言中&#xff0c;我们常见…

IDEA快捷键及模版配置

一、快捷键 1、常用的快捷键 删除当前行, 默认是 ctrl Y 自己配置 ctrl d (搜delete)复制当前行, 自己配置 ctrl alt 向下光标 (搜duplicate)补全代码 alt /添加注释和取消注释 ctrl / 【第一次是添加注释&#xff0c;第二次是取消注释】导入该行需要的类 先配置 auto …

S3C2440点亮LED(裸机开发)

文章目录 前言一、环境介绍一、GPIO介绍二、点亮开发板的LED1.预备动作2.led代码 总结 前言 本期和大家主要分享的是使用S3C2440开发板点亮一个LED灯&#xff0c;可能大家拿到开发板之后做的第一件事情都是点灯&#xff0c;这是为什么呢&#xff1f;因为点灯这件事情不仅能够检…

TCP三次握手调优

SYN: Synchronize Sequence Numbers。同步序列号 服务端的优化 当服务器收到 SYN 报文后&#xff0c;服务器会立刻回复 SYNACK 报文&#xff0c;既确认了客户端的序列号&#xff0c;也把自己的序列号发给了对方。此时&#xff0c;服务器端出现了新连接&#xff0c;状态是 SYN…

MySQL系列之行转列,列转行

MySQL系列之行转列&#xff0c;列转行 之前业务出现了需要行转列的场景&#xff0c;记录一下 SQL中AVG、COUNT、SUM、MAX等聚合函数对NULL值的处理 Mysql Max、 Where和 Group By 三个关键字同时使用 执行顺序 MySql 行转列的玩法 &#xff0c;实战案例教学&#xff08;MAX…

Eolink Apikit,0 代码可拖拽的自动化测试神器

目录 一、从测试到可拖拽的自动化测试二、0 代码&#xff0c;图形化&#xff0c;好用到飞起通过图形化操作、拖拽的方式搭建测试流程 三、Eolink Apikit&#xff0c;一站式 API 研发协作平台1、多协议支持2、多种数据重用3、报告、分析、告警4、支持持续集成和部署 四、Apikit …

QT基础入门之文件操作

一、概述 Qt 作为一个通用开发库&#xff0c;提供了跨平台的文件操作能力。Qt 通过QIODevice提供了对 I/O 设备的抽象&#xff0c;这些设备具有读写字节块的能力。下面是 I/O 设备的类图&#xff1a; QIODevice&#xff1a;所有I/O设备类的父类&#xff0c;提供字节块读写的通…

Sentinel流量规则模块(降级)

sentinel的常见页面的简介 流控是对外部来的大流量进行控制&#xff0c;熔断降级的视角是对内部问题进行处理。 Sentinel降级会在调用链路中某个资源出现不稳定状态时&#xff08;例如调用超时或异常比例升高&#xff09;&#xff0c;对这个资源的调用进行限制&#xff0c;…

【JDBC系列】- jdbc的概念以及与数据库的交互流程

【JDBC系列】- jdbc的概念以及与数据库的交互流程 &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f3c6; 博客首页 怒放吧德德 To记录领地 &#x1f31d;分享学习…

oc UITableView 列表

// // ViewController.m // OcDemoTest // // Created by Mac on 2023/7/14. //#import "ViewController.h" // 添加协议 interface ViewController ()<UITableViewDataSource> property (weak, nonatomic) IBOutlet UITableView *tableView;endimplementat…

Node中的的util.promisify()方法的介绍和基本实现

异步编程解决方案 我们知道&#xff0c;在JS中实现异步编程主要是通过以下几种方案&#xff1a; 回调函数&#xff1a;也是在ES6之前用的最多的方式&#xff0c;缺点是容易造成callback hell&#xff0c;可读性很差观察者模式&#xff1a;在NodeJS中的很多模块都继承了EventE…

二分搜索树节点删除

本小节介绍二分搜索树节点的删除之前&#xff0c;先介绍如何查找最小值和最大值&#xff0c;以及删除最小值和最大值。 以最小值为例&#xff08;最大值同理&#xff09;&#xff1a; 查找最小 key 值代码逻辑&#xff0c;往左子节点递归查找下去&#xff1a; ... // 返回以…

3.4 Bootstrap 按钮下拉菜单

文章目录 Bootstrap 按钮下拉菜单分割的按钮下拉菜单按钮下拉菜单的大小按钮上拉菜单 Bootstrap 按钮下拉菜单 本章将讲解如何使用 Bootstrap class 向按钮添加下拉菜单。如需向按钮添加下拉菜单&#xff0c;只需要简单地在在一个 .btn-group 中放置按钮和下拉菜单即可。您也可…

❤️创意网页:如何用HTML制作菜单栏?制作好看的菜单栏样式网页

✨博主&#xff1a;命运之光 &#x1f338;专栏&#xff1a;Python星辰秘典 &#x1f433;专栏&#xff1a;web开发&#xff08;简单好用又好看&#xff09; ❤️专栏&#xff1a;Java经典程序设计 ☀️博主的其他文章&#xff1a;点击进入博主的主页 前言&#xff1a;欢迎踏入…

ChatGPT流量下降?原因竟是学生放暑假,秋季或将回暖

ChatGPT是一款由OpenAI开发的人工智能聊天机器人&#xff0c;它能够进行自然语言对话&#xff0c;并支持用户在写作业、进行研究等方面提供帮助。许多人认为它是历史上增长最快的科技产品之一&#xff0c;但近期却观察到其流量下降的现象。 根据Similarweb和其他机构在本月初发…

el-image-viewer图片预览组件使用

只需要安装了element-plus即可使用 <template><div class"preview-box"><!-- 第一种: 使用el-image - 通过点击小图, 然后预览大图, 这是官方文档提供的方法 --><el-image :preview-src-list"[/api/file/getImage/202307/3178033358P0KiZ…

基于Javaweb实现ATM机系统开发实战(十三)交易记录查看实现

老规矩&#xff0c;先看前端传递怎样的数据&#xff0c;已经把要展示数据的变量名都改了&#xff1a; <% page language"java" contentType"text/html; charsetUTF-8" pageEncoding"UTF-8"%> <% taglib prefix"c" uri"…