【史上最全面esp32教程】激光与食人鱼模块篇
文章目录
- 食人鱼模块
- 模块介绍
- 连线说明
- 操作
- 激光模块
- 模块介绍
- 连线说明
- 操作
- 总结
提示:以下是本篇文章正文内容,下面案例可供参考
食人鱼模块
模块介绍
采用食人鱼LED设计制作一个发光的电子模块,其实他的本质和LED无区别。
连线说明
名称 | 接线处 |
---|---|
GND | GND |
VCC | 5V |
IN | 18 |
操作
使用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);
}
运行后,我们就可以看到食人鱼在由暗变亮了。
大家也可以让他从暗变亮,在变暗。
激光模块
模块介绍
激光模组也叫激光模块,由激光管和激光头模组构成,是成熟较早、进展较快的一类激光器。
当为高电平时发射出红色的激光,低电平关闭激光。
连线说明
名称 | 接线处 |
---|---|
GND | GND |
VCC | 5V |
IN | 18 |
有可能有的是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要大的多的多所以他的亮度也大得多。
激光模块可以测算距离,看隧道直不直等等,也是广泛运用在我们生活当中的,但注意,不要激光照射人的眼睛!
相关文章:
【史上最全面esp32教程】激光与食人鱼模块篇
文章目录食人鱼模块模块介绍连线说明操作激光模块模块介绍连线说明操作总结提示:以下是本篇文章正文内容,下面案例可供参考 食人鱼模块 模块介绍 采用食人鱼LED设计制作一个发光的电子模块,其实他的本质和LED无区别。 连线说明 名称接线…...
《代码整洁之道》二之有意义的命名
1.有意义的命名 1.1 名副其实 取个好名字需要花时间,但是价值远超取名的时间,一旦发现更好的名称就换掉旧的。这么做,读你代码的人都会很开心。 变量名、方法名、类名称需要清晰的告诉别人含义,如果名称需要注释来补充…...
天气预测demo
天气预测1 数据集介绍1.1 训练集1.2 测试集2 导入数据进行数据分析2.1 浏览数据2.2 探索数据2.2.1 查看数据类型1 数据集介绍 1.1 训练集 训练集中共有116369个样本,每个样本有23个特征,特征具体介绍如下: 列名解释Date:日期&a…...

HDMI协议介绍(四)--Video
目录 视频格式 RGB444 YUV444 YUV422 YUV420 Color Depth Video控制信号 Pixel Repetition HDMI支持多种视频格式和分辨率。以hdmi1.4和2.0协议来说,视频格式支持RGB444、YUV444、YUV422和YUV420,其中RGB444和YUV444一般都是要求支持的。 视频格式…...

微信授权登录流程以及公众号配置方法(golang后端)
一、准备一个已经认证OK的微信公众号和已经备案的域名,且解析好配置好https证书。 1.如上图 微信公众号 > 基本配置 ,设置开发者密码 2.设置IP白名单,白名单填写提供后端服务的服务器公网IP 二、公众号服务器配置。 1.找到基本配置 2.将服…...

【软件测试面试题】大厂头条:如何定位bug?实际案例拿offer还不简单......
目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 问题: 用…...
kubeconfig生成最高权限的token
参考文档 1.https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/authentication/ 2. https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/rbac/ 操作流程 生成kubernetes集群最高权限admin用户的token admin-role.yaml kind: ClusterRoleBindin…...
Android 9.0 蓝牙去掉传输文件的功能
1.概述 在9.0的系统rom定制化产品开发中,在原生系统中蓝牙这块的功能也是非常重要的,所以在对蓝牙功能开发过程中,对功能的定制要求也多,在蓝牙的开发需求中,功能要求 也是越来越多的,产品需要要求在蓝牙文件传输过程中,进行限制就是不让蓝牙传输文件,所以要求在开始传…...

C语言指针易错点—字符数组与字符指针
C语言指针易错点—字符数组与字符指针字符数组与字符指针的区别字符数组与字符指针的区别举例字符指针必须先赋值,后引用字符数组与字符指针的区别 因为字符数组与字符指针都可以表示字符串,但他们不是等价的。下面就来讲讲他们的区别。 char sa[ ] &…...

Yolov3,v4,v5区别
网络区别就不说了,ipad笔记记录了,这里只说其他的区别1 输入区别1.1 yolov3没什么特别的数据增强方式1.2 yolov4Mosaic数据增强Yolov4中使用的Mosaic是参考2019年底提出的CutMix数据增强的方式,但CutMix只使用了两张图片进行拼接,…...
基于Appium+WinAppDriver+Python的winUI3应用的自动化框架搭建分享(一)环境配置
安装WinAppDriver下载并安装WinAppDriver:来源 https://github.com/Microsoft/WinAppDriver/releases开启电脑的开发者模式设置-隐私和安全性-开发者选项-开发人员模式安装Appium安装Appium Server Gui https://github.com/appium/appium-desktop/releases安装Appium Inspector…...
使用docker安装RocketMQ
文章目录1.创建namesrv服务拉取镜像创建namesrv数据存储路径构建namesrv容器2.创建broker节点创建broker数据存储路径创建配置文件构建broker容器3.创建rockermq-console服务拉取镜像构建rockermq-console容器需要关闭防火墙或者开放namesrv和broker端口关闭防火墙开放指定端口…...
【FPGA仿真】Matlab生成二进制、十六进制的txt数据以及Vivado读取二进制、十六进制数据并将结果以txt格式保存
Matlab 生成二进制、十六进制数据 在使用Vivado软件进行Verilog程序仿真时可能需要对模块输入仿真的数据,因此我们需要一个产生数据的方法(二进制或者十六进制的数据),Matlab软件是一个很好的工具,当然你也可以使用VS…...
【第四章 IOC操作bean管理(基于注解方式创建对象,注入属性),完全注解开发】
第四章 IOC操作bean管理(基于注解方式创建对象,注入属性),完全注解开发 1.IOC操作bean管理(基于注解方式) (1)什么是注解: ①注解是代码特殊标记,格式&#…...

【手把手一起学习】(六) Altium Designer 20 STM32核心板Demo----PCB设计
1 PCB设计 PCB设计是制作STM32核心板的关键步骤,其关系到最终生产厂家制作的电路板能否正常使用,PCB设计包括布局,裁板,布线,覆铜,DRC检查等,其中要求、细节、技巧比较多,以后会更详…...

【蓝桥杯集训·周赛】AcWing 第92场周赛
文章目录第一题 AcWing 4864. 多边形一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解第二题 AcWing 4865. 有效类型一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解第三题 AcWing 4866. 最大数量一、题目1、原…...
编程参考 - GCC中的Basic ASM
asm关键字允许你在C代码中嵌入汇编程序指令。GCC提供两种形式的内联asm语句。一种是基本asm语句,是没有操作数的语句(见基本asm),而另一种扩展asm语句(见扩展asm)包括一个或多个操作数。在函数内部混合使用…...

软考中级-操作系统
1 操作系统地位计算机系统由硬件和软件组成,未配置软件的称为裸机,但这会导致效率低下。操作系统是为弥补用户与硬件之间的鸿沟的一种系统软件,汇编、编译、解释、数据库管理系统等系统软件和其他应用软件都在此基础。2 进程管理又称处理机管…...
MYD-Y6ULL开发笔记
MYD-Y6ULL开发 文章目录MYD-Y6ULL开发一、系统移植1. 核板说明2. 文件系统操作二、应用开发1. 应用自启动2. 应用编译3.系统应用4.网络5.系统参数一、系统移植 1. 核板说明 型号 MYIR-Y6UL Y2 V2-256N 256D-50I烧了固件命令 uuu.exe myd-y6ulx-y2-256n256d-core-base.auto2. 文…...

三天吃透Java虚拟机面试八股文
本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...