Arduino与Proteus仿真实例温控风扇仿真
Arduino与Proteus仿真实例-温控风扇仿真温控风扇仿真1、仿真应用介绍在实例将使用 Arduino 构建一个温控风扇。 此实例,模拟够根据室温调节我们家或办公室的风扇速度,并在 16x2 LCD 显示屏上显示温度和风扇速度的变化。因此,在实例中将使用 Arduino UNO 板、LCD、DHT11 传感器模块和使用 PWM 控制的直流风扇。
关于LCD1602的驱动,请参考前面文章:
Ardunio开发实例-驱动LCD1602液晶显示屏(I2C)
Ardunio开发实例-驱动LCD1602液晶显示屏(并口接线)
Arduino与Proteus仿真实例-LCD1602液晶屏4线驱动仿真
Arduino与Proteus仿真实例-LCD1602液晶屏I2C(PCF8574)驱动仿真
关于DHT11驱动,请参考前面文章:
Ardunio开发实例-DHT11和DHT12传感器使用
Arduino与Proteus仿真实例-DHT11温度湿度传感器驱动仿真
8051单片机Proteus仿真与开发实例-DHT11+LCD1602仿真
关于PWM,请参考前面文章:
Arduino ...
Arduino与Proteus仿真实例简单红外寻迹小车控制仿真
Arduino与Proteus仿真实例-简单红外寻迹小车控制仿真简单红外寻迹小车仿真1、寻迹小车介绍红外寻迹小车是一种简单的Line Flower Robot(LFR)自主导向机器人,它会随地面上的线来检测白色表面上的暗线或黑色表面上的白线。LRF跟随线,因此,机器人必须检测到线的存在,这样问题就变成了如何在 LFR 中实现线路感应机制。
我们知道,光在白色表面的反射最大,在黑色表面上的反射最小,因为黑色表面吸收的光量最大。 因此,我们将利用光的这种特性来检测线条。 要检测光,可以使用 LDR(光敏电阻)或 IR 传感器。 在本实例中,将使用 IR 传感器,因为它具有更高的精度。 为了检测线,我们在机器人的左侧和右侧放置了两个红外传感器,如下图所示。 然后我们将机器人放在线上,使线位于两个传感器的中间。
红外传感器由两个元件组成,发射器和接收器。 发射器基本上是一个 IR LED,它产生信号,而 IR 接收器是一个光电二极管,它感应发射器产生的信号。 红外传感器在物体上发射红外光,照射到黑色部分的光被吸收,因此输出较低,但照射到白色部分的光反射回发射器,然后由红外接收器检测到,从而 ...
Arduino与Proteus仿真实例超声波检测水位变化及控制仿真
Arduino与Proteus仿真实例-超声波检测水位变化及控制仿真超声波检测水位变化及控制在这个基于 Arduino 的自动水位指示器和控制器项目仿真中,我们将使用超声波传感器测量水位。 超声波测距的基本原理是基于回声。 当声波在环境中传播时,它们在撞击任何障碍物后会以回声的形式返回原点。 所以我们只需要计算它的两个声音的传播时间,即出射时间和撞击任何障碍物后返回原点的时间。 经过一些计算,我们可以得到一个结果,那就是距离。 这个概念用于我们的水位控制器项目中,当水箱中的水位变低时,发出警报声音,水泵自动打开,直到水位回到预设位置。本次仿真实例将使用到HC-SRF04超声波传感器、继电器,LCD1602。
关于LCD1602的驱动,请参考前面文章:
Ardunio开发实例-驱动LCD1602液晶显示屏(I2C)
Ardunio开发实例-驱动LCD1602液晶显示屏(并口接线)
Arduino与Proteus仿真实例-LCD1602液晶屏4线驱动仿真
Arduino与Proteus仿真实例-LCD1602液晶屏I2C(PCF8574)驱动仿真
关于HC-SRF04超声波传感器驱 ...
Arduino与Proteus仿真实例密码输入验证与更新仿真
Arduino与Proteus仿真实例-密码输入、验证与更新仿真密码输入、验证与更新仿真本次实例将通过4X4矩阵键盘、LCD1602、EEPROM实现一个密码输入匹配、储存、更新。
1、仿真电路原理图
在仿真电路原理图中,4X4矩阵键盘通过PCF8574 IO扩展器驱动,请参考前面文章:
Arduino与Proteus仿真实例-PCF8574驱动4x4矩阵键盘仿真
Arduino与Proteus仿真实例-4x4矩阵键盘驱动仿真
Ardunio开发实例-矩阵键盘输入
8051单片机Proteus仿真与开发实例-4x4矩阵键盘输入仿真
STM32F1与STM32CubeIDE编程实例-矩阵键盘驱动
LCD1602通过4线连接方式驱动,请参考:
Ardunio开发实例-驱动LCD1602液晶显示屏(I2C)
Ardunio开发实例-驱动LCD1602液晶显示屏(并口接线)
Arduino与Proteus仿真实例-LCD1602液晶屏4线驱动仿真
Arduino与Proteus仿真实例-LCD1602液晶屏I2C(PCF8574)驱动仿真
EEPROM数据储存与读取,请参考:
A ...
Arduino与Proteus仿真实例电子相册仿真
Arduino与Proteus仿真实例-电子相册仿真电子相册仿真本次实例将仿真如何从SD卡读取BMP格式图像并在ILI9341驱动器的LCD显示屏上显示。
1、仿真电路原理图
在仿真电路原理图中,SD卡通过SPI方式连接,ILI9341 LCD显示屏也是通过SPI方式连接。SD卡的CS引脚连接Arduino Mega2560的SS引脚(Pin10),显示屏的CS引脚连接Arduino Mega2560的Pin8引脚。
关于ILI9341 LCD驱动,请参考前面的文章:
Arduino与Proteus仿真实例-TFT显示屏(ILI9341驱动器)SPI驱动仿真
关于SD卡驱动,请参考前面文章:
8051单片机Proteus仿真与开发实例-SD卡数据存取仿真
8051单片机Proteus仿真与开发实例-SD卡数据存取仿真
2、仿真代码实现此次仿真实例,主要分为如下几个步骤:
初始化SD卡
初始化ILI9341
加载图像
显示图像
1)导入依赖库
123456#include <SPI.h>#include <SD.h>#include <Ada ...
Arduino与Proteus仿真实例密码门禁控制仿真
Arduino与Proteus仿真实例-密码门禁控制仿真密码门禁控制仿真1、应用介绍本文将演示如何实现密码门禁控制逻辑仿真。
此次仿真主要涉及如下内容:
密码输入、更新、验证
门禁控制逻辑
此次仿真将使用继电器和直流电机作为电子门禁元件仿真器件。
在前面的文章中,对密码输入、更新、验证、储存,做了详细的仿真,请参考:
Arduino与Proteus仿真实例-密码输入、验证与更新仿真
在前面的文章中,对继电器控制仿真,请参考:
Arduino与Proteus仿真实例-继电器驱动仿真
2、仿真电路原理图此次仿真电路原理图如下:
仿真电路分如下模块:
LCD驱动电路:按四线SPI驱动连接
键盘驱动电路:由PCF8574驱动4x4矩阵键盘
继电+直流电机驱动电路
3、仿真代码实现在本次实例中,主要使用到如下开源库:
https://github.com/Chris–A/Keypad
https://github.com/joeyoung/arduino\_keypads
1)导入依赖头文件
123456#include <LiquidCrystal.h># ...
Arduino开发实例PS2键盘驱动
Arduino开发实例-PS/2键盘驱动PS/2键盘驱动1、PS/2通信协议介绍物理 PS/2 端口是 6 针 DIN 连接器。 连接器引脚如下所示:
Vcc/Ground 为设备提供电源 (5V),而 Data 和 Clock 是两条集电极开路线,带有上拉电阻到 Vcc。 电阻值并不重要(1 – 10 KOhm),最小值给出最短的上升时间,而较大的值允许更少的功耗。
PS/2 协议是一种双向串行同步协议。 当数据线和时钟线为高电平时,总线空闲,键盘/鼠标可以开始传输数据; 主机可以随时通过将时钟线拉低 100 微秒来禁止传输。 设备总是产生时钟信号,如果主机想要通信,它可以通过将时钟线拉低(禁止设备传输)、将数据线拉低然后释放时钟线来实现:这是发送的请求 状态并告诉设备开始生成时钟脉冲。
总线状态如下: 数据 = 高电平,时钟 = 高电平:空闲状态。 数据 = 高电平,时钟 = 低电平:禁止通信。 数据 = 低电平,时钟 = 高电平:主机请求发送
数 ...
Arduino开发实例MAX30100 脉搏血氧仪传感器驱动
Arduino开发实例-MAX30100 脉搏血氧仪传感器驱动MAX30100 脉搏血氧仪传感器驱动1、MAX30100介绍MAX30100 脉搏血氧仪和心率传感器是一款基于 I2C 的低功耗即插即用生物识别传感器。
MAX30100 是一款集成脉搏血氧饱和度和心率监测传感器解决方案。 它结合了两个 LED、一个光电探测器、优化的光学器件和低噪声模拟信号处理,以检测脉搏血氧饱和度和心率信号。
MAX30100模块结合了两个 LED、一个光电探测器、优化过的光学器件和低噪声模拟信号处理来检测脉搏血氧饱和度 (SpO2) 和心率 (HR) 信号。
在右侧,MAX30100 有两个 LED——一个 RED 和一个 IR LED。 左边是一个非常灵敏的光电探测器。 这个想法是你一次点亮一个 LED,检测反射回探测器的光量,然后根据特征,就可以测量血氧水平和心率。
MAX30100 芯片需要两种不同的电源电压:IC 为 1.8V,RED 和 IR LED 为 3.3V。 所以模块自带3.3V和1.8V稳压器。 这允许将模块连接到任何具有 5V、3.3V 甚至 1.8V 电平 I/ ...
Arduino开发实例MAX30100传感器模块连接问题解决
Arduino开发实例-MAX30100传感器模块连接问题解决MAX30100传感器模块连接问题解决MAX30100 是一款集成脉搏血氧饱和度和心率监测传感器解决方案。 它结合了两个 LED、一个光电探测器、优化的光学器件和低噪声模拟信号处理,以检测脉搏血氧饱和度和心率信号。
MAX30100 采用 1.8V 和 3.3V 电源供电,可通过软件关断,待机电流可忽略不计,使电源始终保持连接状态。
MAX30100 模块价格便宜,非常受爱好者欢迎,但不幸的是该模块(以数千计)存在严重的设计问题。
1、问题描述MAX30100 芯片需要两种不同的电源电压:IC 为 1.8V,RED 和 IR LED 为 3.3V。 因此,该模块带有两个线性稳压器——U1 和 U2。 第一个产生 5V 至 3.3V。 第二个稳压器连接到第一个稳压器的输出并产生 1.8V。
现在仔细看看 SCL、SDA 和 INT 信号线的 4.7kΩ 上拉电阻器(R1、R2 和 R3)。 它们连接到 1.8V 电源(用粗红线突出显示),如下图所示:
两个稳压器 U1、U2 以及将 4.7kΩ 上拉电阻连接到 1.8V ...
Arduino开发实例多机CANBus通信基于MCP2515
Arduino开发实例-多机CAN-Bus通信(基于MCP2515)多机CAN-Bus通信(基于MCP2515)在本文中,将使用 Microchip MCP2515 CAN 总线模块和 Arduino 板进行基于CAN总线通信协议通信。 实例中使用一对 CAN 总线模块 MCP2515,我们将在一定的距离内发送 DHT11 传感器数据。 通常情况下,CAN 的通信速度范围从 50 Kbps 到 1Mbps,距离范围可以从 1Mbps 的 40 米到 50kpbs 的 1000 米。
1、CAN简单介绍控制器局域网(Controller Area Network)也称为CAN-BUS,是一种常见的工业总线,具有传输距离长、通信速度中等、可靠性高等特点。 它常见于现代机床和汽车诊断总线。
CAN总线是博世(Bosch)开发的汽车总线,允许微控制器和设备在没有主机的情况下在车内相互通信。
CAN总线是一种基于消息的协议,专为汽车应用而设计,但现在也用于航空航天、工业自动化和医疗设备等其他领域。
CAN总线于 1994 年成为国际标准 (ISO 11898),专为机动车辆电子控制器之间的快 ...
