当前位置: 首页 > news >正文

【史上最全面esp32教程】激光与食人鱼模块篇

文章目录

  • 食人鱼模块
    • 模块介绍
    • 连线说明
    • 操作
  • 激光模块
    • 模块介绍
    • 连线说明
    • 操作
  • 总结


提示:以下是本篇文章正文内容,下面案例可供参考

食人鱼模块

模块介绍

采用食人鱼LED设计制作一个发光的电子模块,其实他的本质和LED无区别。

连线说明

名称接线处
GNDGND
VCC5V
IN18

操作

使用digitalWrite(pin,value);即可点亮食人鱼模块,HIGH点亮,LOW为熄灭。
在此之前需要设置pin为OUTPUT

食人鱼闪烁实验:

#define Piranhas 18//定义食人鱼pin脚void setup() {// put your setup code here, to run once:pinMode(Piranhas,OUTPUT);//设置模式
}void loop() {// put your main code here, to run repeatedly:digitalWrite(Piranhas,HIGH);//设置值delay(500);digitalWrite(Piranhas,LOW);delay(500);
}

下载后即可看到他开始闪烁。

食人鱼呼吸灯实验:
呼吸灯的原理是PWM,但是今天我们不用PWM,则使用另一个函数analogWrite(pin,value)他可以写入指定pin脚的数字模拟值。
如:
一个LED灯亮度为0~255,但是digitalWrite只能写入0,1(相当于0和255亮度),但是他可以写入0,1,2,3,4,5,6…255,那就可以省去PWM的步骤了。

实验代码:

#define Piranhas 18void setup() {// put your setup code here, to run once:pinMode(Piranhas,OUTPUT);
}int bright = 0;void loop() {// put your main code here, to run repeatedly:analogWrite(Piranhas,bright);//把亮度写入食人鱼pin脚bright++;//变大亮度bright%=1000;//当亮度>=1000时,亮度变为0delay(10);
}

运行后,我们就可以看到食人鱼在由暗变亮了。
大家也可以让他从暗变亮,在变暗。

激光模块

模块介绍

激光模组也叫激光模块,由激光管和激光头模组构成,是成熟较早、进展较快的一类激光器。
当为高电平时发射出红色的激光,低电平关闭激光。

连线说明

名称接线处
GNDGND
VCC5V
IN18
有可能有的是S和’-‘在上下的,也不要慌,S上的为pin脚,中间的是VCC,靠近’-'号的是GND

操作

使用digitalWrite(pin,value);即可点亮食人鱼模块,HIGH点亮,LOW为熄灭。
在此之前需要设置pin为OUTPUT
使用串口发送开启和关闭命令:

#include <String>#define laser 18//定义激光pin脚void setup() {// put your setup code here, to run once:Serial.begin(115200);pinMode(laser,OUTPUT);//设置模式
}void loop() {// put your main code here, to run repeatedly:String recvData = Serial.read();if(recvData == "On"){digitalWrite(laser,HIGH);}else if(recvData == "Off"){digitalWrite(laser,LOW);}
}

输入On之后,激光模块发射激光,输入Off则关闭激光。

总结

食人鱼模块广泛用于车灯和亮度需要比较大的地方,因为他承受的电压比一般的LED要大的多的多所以他的亮度也大得多。
激光模块可以测算距离,看隧道直不直等等,也是广泛运用在我们生活当中的,但注意,不要激光照射人的眼睛!

http://www.lryc.cn/news/21441.html

相关文章:

  • 《代码整洁之道》二之有意义的命名
  • 天气预测demo
  • HDMI协议介绍(四)--Video
  • 微信授权登录流程以及公众号配置方法(golang后端)
  • 【软件测试面试题】大厂头条:如何定位bug?实际案例拿offer还不简单......
  • kubeconfig生成最高权限的token
  • Android 9.0 蓝牙去掉传输文件的功能
  • C语言指针易错点—字符数组与字符指针
  • Yolov3,v4,v5区别
  • 基于Appium+WinAppDriver+Python的winUI3应用的自动化框架搭建分享(一)环境配置
  • 使用docker安装RocketMQ
  • 【FPGA仿真】Matlab生成二进制、十六进制的txt数据以及Vivado读取二进制、十六进制数据并将结果以txt格式保存
  • 【第四章 IOC操作bean管理(基于注解方式创建对象,注入属性),完全注解开发】
  • 【手把手一起学习】(六) Altium Designer 20 STM32核心板Demo----PCB设计
  • 【蓝桥杯集训·周赛】AcWing 第92场周赛
  • 编程参考 - GCC中的Basic ASM
  • 软考中级-操作系统
  • MYD-Y6ULL开发笔记
  • 三天吃透Java虚拟机面试八股文
  • Spring Cloud Alibaba全家桶(二)——微服务组件Nacos注册中心
  • 命令执行漏洞 | iwebsec
  • 2023.02.26 学习周报
  • 局域网实现PC、Pad、Android互联
  • AC自动机
  • git入门
  • RK3568编译Android11和目录讲解
  • java泛型学习篇(二)
  • Java基础
  • 骨骼控制(一)——动画动态节点(AnimDynamics)
  • Linux系统下搭建maven环境