Arduino学习笔记5

一.直流电机控制实验

1.源代码

int dianJiPin=9;//定义数字9接口接电机驱动IN1的控制口

void setup()
{
  pinMode(dianJiPin,OUTPUT);//定义电机驱动IN1的控制口为输出接口
}
void loop()
{
  digitalWrite(dianJiPin,LOW);//关闭电机
  delay(1000);//延时
  digitalWrite(dianJiPin,HIGH);//打开电机
  delay(1000);//延时
 }

2.电路图

TAJE.jpg

注意:这个电路图中详细画出了ULN2003电机驱动器的内部结构,而我们现在手上的是已经集成好的ULN2003电机驱动器,所以使用过程可以参考下面的实物图。

  • 电机正极连接到ULN2003的输出端口之一
  • 电机负极连接到电源的负极
  • ULN2003电机驱动器使用四个引脚进行连接

3.电机驱动器

Arduino的引脚主要是用于控制数字电路,输出的电压范围通常在0-5V之间,最大输出电流也较小,一般为20mA左右。而直流电机需要比较高的电压和电流才能正常工作。如果直接将直流电机连接到Arduino的引脚上,则很可能会导致Arduino输出的信号不稳定或者烧毁。

此外,直流电机还需要通过改变电压和电流的方向来实现正反转和调速等功能,这也需要使用特殊的电路进行控制。因此,一般情况下我们需要使用电机驱动器等外部元件来控制直流电机。

电机驱动器是一种电子元件或电路,它可以将控制信号转换为足够高的电压和电流来驱动电机。在控制电机时,电机驱动器通常会提供多个端口,包括电源、地、输入信号和输出信号等。我们需要将电源和地连接到适当的电源和地点,将输入信号连接到Arduino的输出引脚上,然后将输出信号连接到电机的正负极上。通过控制Arduino输入信号的高低电平,电机驱动器可以控制电机的方向和转速,实现对电机的精确控制。

我们本次实验用的是ULN2003电机驱动器,其模样如下:

Td9k.jpg

4.ULN2003

ULN2003电机驱动器有16个引脚,其中8个是输出引脚,用于控制电机的运行方向和速度;另外8个是输入引脚,包括4个电源引脚和4个输入信号引脚。

具体来说,ULN2003电机驱动器的可接引脚如下:

  1. COM(引脚9):公共接地引脚,需要连接到电路的地线。
  2. IN1(引脚10)和IN2(引脚11):输入控制引脚,用于控制电机正转或反转。
  3. IN3(引脚12)和IN4(引脚13):输入控制引脚,也用于控制电机正转或反转。
  4. VCC(引脚16):正极电源输入引脚,需要连接到电源的正极。
  5. GND(引脚8、15):负极电源输入引脚,需要连接到电源的负极。
  6. OUT1(引脚1)、OUT2(引脚2)、OUT3(引脚3)和OUT4(引脚4):输出控制引脚,用于控制电机的运行状态。

总体而言,ULN2003电机驱动器的输入引脚用于控制电机的运行方向和速度,输出引脚则将控制信号转换为高电平或低电平的电压信号,从而控制电机的运行状态。同时,VCC和GND引脚则提供电源给驱动器和电机。

5.总结

本次实验的代码并不难理解,重要的是了解这些器件和连接方式,原理图才是重点。

二.霍尔传感器实验

1.源代码

int i;//定义变量i
void setup() 
{ 
  pinMode(2,OUTPUT);//设置数字2引脚为输出模式 
  Serial.begin(9600); // 初始化串口通信
} 

void loop() 
{ 


   i=analogRead(14);//读取A0口的模拟值
   Serial.println(i);//串口显示出来模拟值量
  if(i>512)//如果大于512(2.5V) 
  { 
    digitalWrite(2,HIGH);//点亮led灯 
  } 
  else//否则 
  { 
    digitalWrite(2,LOW);//熄灭led灯 
  } 
 
} 

2.电路图

TD3O.png

3.霍尔传感器

A3144系列单极高温霍尔效应集成传感器是由稳压电源,霍尔电压发生器,差分放大器,施密特触发器和输出放大器组成的磁敏传感电路,其输入为磁感应强度,输出是一个数字电压讯号。它是一种单磁极工作的磁敏电路,适用于矩形或者柱形磁体下工作.可应用于汽车工业和军事工程中. 它的封装形式为TO-92SP 典型应用场合:直流无刷风机/转速检测/无触点开关/汽车点火器/位置控制/隔离检测/安全报警装置。

不要想其他复杂的,就把它理解为一个磁感应传感器,同其他传感器一样理解,只不过输入为磁感应强度即可。所以检测的时候你需要有一个吸铁石,他才会产生信号。

三.步进电机实验

1.源代码

#include <Stepper.h>//步进电机库

// 这里设置步进电机旋转一圈是多少步
#define STEPS 100

//设置步进电机的步数和引脚。接线为IN1--8   IN2--9  IN3--10  IN4--11 
Stepper stepper(STEPS, 8, 10, 9, 11);

void setup()
{
  // 设置电机的速度
  stepper.setSpeed(180);
  
}

void loop()
{
     stepper.step(2048);//正转
   
     stepper.step(-2048);//反转  
}

2.电路图

TSD9.png

3.步进电机

步进电机和直流电机是两种不同的电机类型,它们有以下几点区别:

  1. 工作原理:步进电机是一种精密定位电机,通过按照一定步距进行脉冲控制,实现精确的转动角度。而直流电机则是通过通电使得电机转子产生磁场与永磁体交互作用而转动。
  2. 转速和转矩:步进电机在低速运转时具有较高的转矩,但随着转速增大,其转矩不断下降。而直流电机在整个工作范围内都具有较好的转矩特性,在高速运转时依然可以保持较高的输出功率。
  3. 控制方式:步进电机需要通过外部的控制信号来驱动,控制精度高,可以实现非常精细的定位。直流电机通常采用调速器等方式进行控制。
  4. 适用场景:由于步进电机精度高、可控性强,因此常被应用在需要进行精确定位或者精确控制的场景中,如印刷机械、数控机床等;而直流电机则广泛应用在家电、汽车等领域中,是一种普遍的电机类型。

既然都是电机,那么可以将电力转换为旋转运动或线性运动,从而驱动各种机械设备,和直流电机一样理解,只不过控制方式不同而已。

4.<Stepper.h>

<Stepper.h>是一个用于Arduino编程的库,它提供了控制步进电机的函数和方法。步进电机是一种通常用于需要定向和精准控制的应用的电机类型,例如打印机、数控机床和机器人等。Stepper.h库通过通过设置步进电机的转速和步进角度来控制步进电机的运动。它还可以控制电机的方向和加减速度。使用Stepper.h库,开发人员可以轻松地将步进电机集成到他们的Arduino项目中,从而实现更精确和可靠的控制。可以参考红外解码实验用的<IRremote.h>库,一样理解。

5.Stepper类

在Arduino编程语言中,Stepper是一个类(class),用于控制步进电机。

Stepper 类的构造函数如下:

Stepper(steps, pin1, pin2, pin3, pin4)

参数说明:

  • steps:步进电机的步数,即步进电机一圈所需的步数。
  • pin1pin2pin3pin4:控制步进电机旋转的 4 个引脚的数字引脚号。

例如这里Stepper stepper(STEPS, 8, 10, 9, 11)

这段代码用于在 Arduino 编程语言中控制一个 4 相步进电机。具体来说:

  • 第一行代码使用了 C语言预处理器指令 #define 定义了一个名为 STEPS 的常量,表示步进电机一圈的步数为 100 步。
  • 第二行代码创建了一个名为 “stepper” 的步进电机对象。这个对象基于之前定义的常量 STEPS 和 4 个数字引脚号(8、10、9 和 11)。

其中,这四个数字引脚分别连接到步进电机的 IN1、IN3、IN2 和 IN4 引脚,用于控制步进电机运动。具体来说:

  • 第二个参数 8 是连接到步进电机的 “步” 引脚的数字引脚号(IN1)。
  • 第三个参数 10 是连接到步进电机的 “方向” 引脚的数字引脚号(IN3)。
  • 第四个参数 9 是连接到步进电机的 “使能” 引脚的数字引脚号(IN2)。
  • 第五个参数 11 是连接到步进电机的另一个 “使能” 引脚的数字引脚号(IN4)。

该代码的含义是:创建一个名为 “stepper” 的步进电机对象,将步进电机的一圈步数设置为 100 步,并将 4 个数字引脚连接到相应的引脚上,以便控制步进电机的运动。

6..setSpeed()函数

在Arduino的Stepper库中,.setSpeed()是一个用于设置步进电机速度的函数。其语法为:

stepper.setSpeed(speed);

其中,stepper是一个Stepper类的实例对象,speed是一个整数值,表示步进电机的速度,单位是RPM(每分钟旋转次数)。

该函数将根据指定的速度设置步进电机的运动速度和方向,并返回void(无返回值)。如果需要更改步进电机的速度,只需再次调用.setSpeed()函数即可。

请注意,具体的步进电机速度可能会受到供电电压、负载和其他因素的影响,因此需要进行适当的调整来确保精确的运动控制。

7..step()函数

在Arduino的Stepper库中,step()是一个用于控制步进电机运动的函数。其语法为:

stepper.step(steps)

其中,stepper是一个Stepper类的实例对象,steps是一个整数值,表示步进电机要前进或后退的步数。正数表示顺时针方向旋转,负数表示逆时针方向旋转

该函数将告诉步进电机前进或后退多少步,并返回void(无返回值)。在调用step()函数之前,需要先初始化步进电机对象,并使用setSpeed()函数设置步进电机的速度。此外,还可以使用其他函数来设置步进电机的加速度、减速度、最大速度等参数。

请注意,step()函数只是告诉步进电机要移动多少步,而不会跟踪当前位置或目标位置。因此,在使用step()函数时需要编写适当的代码来跟踪电机的位置和方向。同时,在高速运动下,步进电机可能会产生振荡或失步,因此需要进行适当的调试和控制。

四.LCD1602液晶屏显示程序

1.提前看

LCD1602液晶屏有两种,一种是带IIC的串行连接的,一种是不带IIC并行连接的。这两种液晶屏功能都是一样的,只是串行的后面加了IIC转换驱动器,使得接线变得简单,液晶屏背面有黑色的器件就说明是串行的液晶屏,反之则是并行的液晶屏。

2.源代码1

#include <LiquidCrystal_I2C.h>//LCD1602 IIC液晶屏库
LiquidCrystal_I2C lcd(0x27,16,2); //设置LCD1602设备地址0x27
void setup()
{
  lcd.init();                  // 初始化LCD
  lcd.backlight();             //设置LCD背景灯亮
}

void loop()
{
    lcd.setCursor(0,0); //液晶显示第一行位置
    lcd.print(" I love arduino"); //显示对应的字符
    lcd.setCursor(0,1); //液晶显示第二行位置
    lcd.print("   CSDN  666"); //显示对应的字符
}

3.电路图1

TVTV.png

4.源代码2

#include <LiquidCrystal.h>//LCD1602液晶屏库
LiquidCrystal lcd(7, 6,14 , 15, 16, 17);//对应的接口连接分别是  RS E  D4  D5  D6  D7   

void setup() {
 
  lcd.begin(16, 2);//LCD1602初始化
  
}

void loop() {

    lcd.setCursor(0,0); //液晶显示第一行位置
    lcd.print(" I love arduino"); //显示对应的字符
    lcd.setCursor(0,1); //液晶显示第二行位置
    lcd.print("   welcome to"); //显示对应的字符
   
}

5.电路图2

Tnv3.png

6.1602液晶接口引脚定义和标号

TJm6.jpg

接口说明:

1、两组电源 一组是模块的电源 一组是背光板的电源 一般均使用5V供电。本次试验背光使用5V供电也可以工作。

2、VL是调节对比度的引脚(有的叫VO)。本次实验使用10KΩ的电位器来设定对比度。

3、RS 是很多液晶上都有的引脚 是命令/数据选择引脚 该脚电平为高时表示将进行数据操作;为低时表示进行命令操作。

4、R/W 也是很多液晶上都有的引脚 是读写选择端 该脚电平为高是表示要对液晶进行读操作;为低时表示要进行写操作。

5、E 同样很多液晶模块有此引脚 通常在总线上信号稳定后给一正脉冲通知把数据读走,在此脚为高电平的时候总线不允许变化。

6、D0—D7 8 位双向并行总线,用来传送命令和数据。

7、BLA是背光源正极,BLK是背光源负极。

7.液晶屏库

这两个库都是用于驱动液晶显示器的Arduino库。

<LiquidCrystal.h> 库可以驱动基于并行接口的液晶显示器,如常见的16x2和20x4字符液晶显示器。此库需要至少6个数字引脚来连接到Arduino板,因为它使用了数据总线(D4~D7)和控制线(RS、EN、RW)。

<LiquidCrystal_I2C.h> 则是为I2C接口的液晶屏提供了一个简单的抽象层,这种液晶显示器通常是基于PCF8574 I/O扩展器。使用I2C可以节省大量的Arduino引脚,并且这个库还支持多个I2C地址,可以同时驱动多个液晶显示器。

Arduino中很多功能的实现都需要导入其对应的库,现在我们已经遇到很多个库了,就算不能明白这是个什么意思,也能知道它大概是个什么东西,要表达什么。

8.源代码1理解

这段代码使用LiquidCrystal_I2C库来控制一个LCD1602 IIC液晶屏。在setup()函数中,通过调用lcd.init()和lcd.backlight()函数初始化并打开LCD的背光灯。在loop()函数中,使用lcd.setCursor()函数设置光标位置,并用lcd.print()函数将需要显示的文本输出到液晶屏上。

具体地,第一行输出"I love arduino",第二行输出" CSDN 666",前面有三个空格以保证整个文本居中显示。这里使用了16列2行的LCD1602设备,所以每行最多可以显示16个字符,超过这个长度的字符将会被截断。

9.源代码2理解

这段代码使用LiquidCrystal库来控制一个LCD1602液晶屏。在定义LiquidCrystal对象时,通过传递6个参数来指定以下接口连接:

  • RS引脚连接到 Arduino的数字引脚 7
  • E引脚连接到 Arduino的数字引脚 6
  • D4引脚连接到 Arduino的数字引脚 14
  • D5引脚连接到 Arduino的数字引脚 15
  • D6引脚连接到 Arduino的数字引脚 16
  • D7引脚连接到 Arduino的数字引脚 17

在setup()函数中,通过调用lcd.begin()函数初始化LCD1602,并设置其显示行数和列数(16列2行)。

在loop()函数中,使用lcd.setCursor()函数设置光标位置,并用lcd.print()函数将需要显示的文本输出到液晶屏上。具体地,第一行输出"I love arduino",第二行输出" welcome to",前面有三个空格以保证整个文本居中显示。因为是16列2行的LCD1602设备,所以每行最多可以显示16个字符,超过这个长度的字符将会被截断。

五.温湿度显示实验

1.提前看

由于本次实验是把温湿度显示是基于上次实验的基础,而上次实验有两种LCD1602液晶屏,为了简便,提前声明这里使用LCD1602液晶屏选用不带IIC并行连接的这一种,另外一种就不解释,只在最后附上源代码。

2.源代码

#include <LiquidCrystal.h>//LCD1602液晶屏库
#include <dht11.h>//dht11温湿度传感器库

LiquidCrystal lcd(7, 6,14 , 15, 16, 17);//对应的接口连接分别是  RS E  D4  D5  D6  D7   

dht11 DHT11;//定义变量
// 设置 DHT 引脚 为 Pin 8
#define DHT11PIN 8

void setup() {
 
  lcd.begin(16, 2);//LCD1602初始化
  
}

void loop() {

  int chk = DHT11.read(DHT11PIN);//读取温湿度的值
  lcd.setCursor(0,0); //液晶显示第一行位置
  lcd.print("Humidity:");//显示字符串
  lcd.print((int)DHT11.humidity);//显示湿度的值
  lcd.print("%");//显示字符串
  
  lcd.setCursor(0,1); //液晶显示第二行位置
  lcd.print("Temperature:");//显示字符串
  lcd.print((int)DHT11.temperature);//显示温度的值
  lcd.print("C");//显示字符串

}

3.电路图

TkZd.jpg

4.温湿度传感器

DHT11温湿度传感器包括一个电阻式感湿元件和一个NTC测温元件。响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗。

5.注意说明

这里与其他传感器不同,这段代码使用了DHT11温湿度传感器库和LiquidCrystal库来读取DHT11传感器的温度和湿度,并将结果显示在1602液晶屏上。输出显示的是温度和湿度值,而不是0到1024的数字。

关于这个库的函数大家应该会自己探索了,同前面几个库一样理解,这里不解释了。

六.说明

接上一篇博客,Arduino学习笔记5!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Vue 基础】vue-cli初始化项目及相关说明

目录 1. 创建项目 2. 项目文件介绍 3. 项目的其它配置 3.1 项目运行时&#xff0c;让浏览器自动打开 3.2 关闭eslint校验功能 3.3 src文件夹简写方法 1. 创建项目 vue create 项目名 2. 项目文件介绍 创建好的项目中包含如下文件&#xff1a; &#xff08;1&#xff09…

工具链和其他-超级好用的web调试工具whistle

目录 whistle介绍 整体结构 能力 规则 6个使用场景示例 1.修改Host 2.代理 3.替换文件&#xff08;线上报错时&#xff09; 4.替换UA 5.远程调试 6.JS注入 互动 whistle介绍 整体结构 安装&#xff1a; npm install whistle -g cli&#xff1a;whistle help 启动…

算法之时间复杂度---数据结构

目录 前言&#xff1a; 1.时间复杂度 1.1时间复杂度的理解 1.2规模与基本操作执行次数 1.3大O渐进表示法 1.4计算基本操作的次数 2.常见的时间复杂度及其优劣比较 ❤博主CSDN&#xff1a;啊苏要学习 ▶专栏分类&#xff1a;数据结构◀ 学习数据结构是一件有趣的事情&…

什么是Web1.0时代、Web2.0时代、Web3.0时代?

什么是Web1.0时代、Web2.0时代、Web3.0时代&#xff1f; 互联网的起源。1969年美国的阿帕网的出现标志着互联网的诞生&#xff0c;而1973年第一台个人电脑The Xerox Alto的出现就预示了互联网将蓬勃生长&#xff0c;随之而来的就是我们迈入了信息时代。短短几十年的发展&#x…

浏览器缓存策略:强缓存和协商缓存

浏览器缓存&#xff1a;其实就是在本地使用的计算机中开辟一个内存区&#xff0c;同时也开辟一个硬盘区&#xff0c;作为数据传输的缓冲区&#xff0c;然后利用这个缓冲区来暂时保护用户以前访问的信息通常浏览器的缓存策略分为两种&#xff1a;强缓存和协商缓存&#xff0c;强…

零基础学java——【基础语法】基本输入、输出语句,变量,运算符

目录 变量 数据类型 基本数据类型一览表 声明和初始化 基本的输出、输出语句 输出语句 补充“”的使用 输入语句Scanner 使用步骤 代码演示 运算符 有些内容可能会与c语言作比较 内容借鉴了韩顺平老师的java课堂笔记&#xff08;b站课&#xff09; 变量 数据类型 基本…

CKA证书题库-总结

CKA真题&#xff08;考题总结&#xff09; 文章目录 CKA真题&#xff08;考题总结&#xff09;证书个人考试总结申诉结果 CKA题目参考博主重点介绍 CKA模拟题库 注意事项考试概要考试注意事项&#xff1a; CKA题目答案设置自动补全方法一方法二 第⼀题&#xff1a;权限控制RBAC…

【4. ROS的主要通讯方式:Topic话题与Message消息】

【4. ROS的主要通讯方式&#xff1a;Topic话题与Message消息】 1. 前言1.1 王者解释结点通讯&#xff1a;1.2 通讯小结 2. 灵活的Topic话题图解2.1 话题注意细节2.2 外延补充 3. Message消息图解3.1 消息类型3.2 查看标准消息类型std_msgs 4. 使用C实现Publisher发布者4.1 发布…

Sametime 12.0.1 FP1发布以及Notes中的SwiftFile使用

大家好&#xff0c;才是真的好。 上周&#xff0c;HCL推出了Sametime 12.0.1FP1FP1更新包程序&#xff0c;包含不少新功能以及很多修复程序。虽然Sametime组件现在不需要运行在Domino服务器上&#xff0c;但毕竟Sametime通常会使用Domino目录或Domino中的LDAP目录服务&#xf…

Maven 如何下载依赖包的源码包

使用Maven下载依赖包的时候&#xff0c; 默认是不会下载源码包的&#xff0c;但是有时候&#xff0c; 需要Debug代码&#xff0c;或是看看依赖项的源码的写法&#xff0c; 就需要下载源码包了。 这里以 Apache 的 commons-text 为例&#xff0c; 在Maven中添加如下依赖配置&am…

HCIA-RS实验-ENSP设备的基础配置

本文主要简单地介绍ENSP设备的基础配置&#xff0c;帮助读者快速上手使用ENSP。可以掌握一些基础的配置方案&#xff0c;更改名称&#xff0c;系统时间&#xff0c;系统地区、密码登录等信息 以下是该文章的拓扑图&#xff1b;现将这2台设备启动&#xff1b;后续双击即可进入命…

Openswan安装和简单配置

Openswan安装和简单配置 安装环境&#xff1a; 操作系统&#xff1a;Ubuntu20.0.4TLS 用户权限&#xff1a;root下载Openswan: wget https://github.com/xelerance/Openswan/archive/refs/tags/v3.0.0.zip安装Openswan: 解压Openswan&#xff1a;&#xff08;PS&#xff1a…

Arduino学习笔记4

一.声控灯实验 1.源代码 int led2;//定义板子上数字2口控制小灯 int flag0;//定义一个变量记录小灯是亮起还是熄灭 int shengyin3;//定义声音传感器的控制口void setup() {pinMode(led,OUTPUT);//定义小灯为输出模式pinMode(shengyin,INPUT);//定义声音控制口为输入模式 } vo…

基于天牛须(BAS)与NSGA-Ⅱ混合算法的交直流混合微电网多场景多目标优化调度(Matlab代码实现)

&#x1f4a5; &#x1f4a5; &#x1f49e; &#x1f49e; 欢迎来到本博客 ❤️ ❤️ &#x1f4a5; &#x1f4a5; &#x1f3c6; 博主优势&#xff1a; &#x1f31e; &#x1f31e; &#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 …

SentiBank Dector上手指南

​ 官网链接&#xff1a;https://www.ee.columbia.edu/ln/dvmm/vso/download/sentibank.html SentiBank Detector可以抽取图片中的形容词-名词对&#xff0c;之前一直看到&#xff0c;这次复现模型才第一次用到&#xff0c;上手的时候有点手足无措&#xff0c;因为官网在如何使…

Python入门教程+项目实战-11.4节: 元组与列表的区别

目录 11.4.1 元组与列表的区别 11.4.2 可变数据类型 11.4.3 元组与列表的区别 11.4.4 知识要点 11.4.5 系统学习python 11.4.1 不可变数据类型 不可变数据类型是指不可以对该数据类型进行修改&#xff0c;即只读的数据类型。迄今为止学过的不可变数据类型有字符串&#x…

我做了个GPT3键盘,用了两个月发现它有点傻

自 ChatGPT 出世&#xff0c;各类文本类AI产品层出不穷。甚至接连几日&#xff0c;Producthunt 上新品过半都是AI相关。 这其中部分原因是 OpenAI 公司开放的 GPT3 1API 接口十分易用。只要一个简单的文本请求&#xff0c;就能将现有产品加入AI功能。例如&#xff0c;Notion、…

提取文本的摘要snownlp模块

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 提取文本的摘要 snownlp模块 [太阳]选择题 关于以下python代码说法错误的一项是&#xff1f; from snownlp import SnowNLP myText """ChatGPT的出现标志着人类科技发…

【flask】三种路由和各自的比较配置文件所有的字母必须大写if __name__的作用核心对象循环引用的几种解决方式--难Flask的经典错误上下文管理器

三种路由 方法1&#xff1a;装饰器 python C#, java 都可以用这种方式 from flask import Flask app Flask(__name__)app.route(/hello) def hello():return Hello world!app.run(debugTrue)方法2: 注册路由 php python from flask import Flask app Flask(__name__)//app…

【JavaWeb】jQuery(上)

本章内容 1.jQuery Hello world 2.jQuery 选择器 3.jQuery 过滤器 4.jQuery 元素筛选 1、jQuery 介绍 什么是 jQuery ? jQuery&#xff0c;顾名思义&#xff0c;也就是 JavaScript 和查询&#xff08;Query&#xff09;&#xff0c;它就是辅助 JavaScript 开发的 js 类…