电子

电子 · 圈子

1421 位酷友已加入

电子圈子中包含常用的源代码、电路图、学习教程、产品样本、技术报告等干货资料,加入圈子可以上传、下载资料,也可以使用提问来寻求资料或分享你认为有价值的站外链接~

关注推荐最新

热门标签

资源

在Arduino中使用DFMini Player MP3模块

需要的元件 Arduino UNO 旋转电位计10Kohm LCD1602显示屏 开关按钮 DFPlayer迷你MP3模块 面包板 插针 杜邦线 Arduino IDE 原理及流程 介绍 一些项目需要声音再现以添加某种功能。在这些项目中,我们强调:例如视觉障碍者,MP3音乐播放器的可访问性以及机器人执行语音声音的能力。 在所有这些系统中,我们需要一个MP3声音再现设备才能连接到Arduino。 因此,在本文中,我们将学习以下几点: DFMini Player MP3的基本操作电路; 存储卡上声音文件的组织和配置; Arduino的音乐控制。 什么是DF Mini Player MP3模块 DFMini Player模块是一种小型音乐播放器,成本低,功耗低,其目的是再现存储卡中存储的声音。 基于此,可以通过独立模式来控制该模块,即在该模式下,将只有DFMini模块,一个电池供电,扬声器,控制它的按钮以及带有歌曲的SD卡。 控制它的另一种方法是使用Arduino或其他控制设备。例如,Arduino将通过与DFMini Player模块的串行通信发送命令。DFMini Player模块如下图所示。 DFMini Player模块。 要对其进行控制,使用基本的独立电路非常重要。该电路如图所示。 DFMini Player模块的独立电路 上面电路中显示**的两个按钮****用于改变音乐曲目和控制声音的音量。 连接到引脚IO1的按钮用于转到上一个音轨并减小音量。 快速触摸一下,系统将返回上一首歌曲,但是,如果你按下按钮1秒钟以上,系统将减小歌曲的音量。 连接到引脚IO2的按钮用于转到下一个音轨并增大音量。 快速触摸,系统将前进到下一首歌曲,但是,如果你按下按钮1秒钟以上,则系统会增加歌曲的音量。 在这种独立方法中,歌曲必须保存在存储卡中,如图所示。 SD卡中的歌曲文件。 这样,每按一次按钮,系统将按升序或降序播放每首歌曲。 但是,当使用Arduino或其他控制设备时,我们必须修改在SD卡上组织音乐文件的方式。 现在,我将解释如何通过串行通信使用Arduino控制DFMini Player 。 用Arduino控制DFMini Player 在此步骤中,音量控制,范围控制,均衡命令和其他功能将由Arduino发送。 Arduino必须通过串口与DFMini Player通信并发送控制命令。控制电路的电子方案如图所示。 Arduino的电子原理图 首先,我们必须组装下图所示的电路。 组装完该电路后,必须将歌曲添加到存储卡中。例如,在此步骤中,歌曲应重命名为01、02、03。 你无法将歌曲保留其名称,因为当Arduino发送命令执行特定音轨时会出现问题。因此,你必须按如下所示进行配置。 用数字命名的歌曲 命名文件后,在Arduino上编写以下代码。 上面提供的代码非常简单,可以帮助你选择歌曲的编号,停止,暂停,控制音量并通过曲目。 音乐控制包括将数据从Arduino IDE串行发送到我们的Arduino开发板。 最初,系统在设置中进行配置,并检查SD卡是否已插入模块中。如果未插入,系统会显示一条消息以提醒用户。 此外,系统还会显示带有系统配置选项的消息。 如果插入了存储卡,则代码流将进入循环功能。 用户可以发送以下控制字符: 数字1到3:选择要播放的歌曲; 字母s:停止播放歌曲; 字母p :暂停歌曲; 发送+号:增加歌曲音量; 发送-信号:降低歌曲音量; 发送信号< :选择上一首歌曲; 发送信号>:选择下一首歌曲; 通过这些信号,字母和数字,Arduino将通过串行接收它们并控制播放的音乐。 每个条件在下面以及内部及其相应的命令中进行介绍。 因此,如果你应用了所介绍的所有步骤,则可以学习: DFMini Player MP3的基本操作电路; 存储卡上声音文件的组织和配置; Arduino的音乐控制。 通过此代码,你可以开发需要将声音用作系统功能的其他项目。 最后 所有需要的文件在下载区均可找到。 via:https://www.hackster.io/325326/how-to-use-the-dfmini-player-mp3-module-with-arduino-f1f042

资源

如何使用Arduino轻松更改蓝牙模块名称

在这个项目中,你将学习如何命名蓝牙模块,并检测蓝牙工作状态。 需要的元件 Arduino UNO HC-06蓝牙模块 杜邦线 面包板 Arduino IDE 原理及流程 如何更改蓝牙模块的名称? 你是否注意到当我们购买带有蓝牙的设备并且信号以品牌或设备的名称命名时有多有趣? 我之所以这样说,是因为我一直很想了解它的工作原理,并以我自己项目的名称来命名模块。 这很简单,但是在两点上有所不同:配对时识别模块,并使用设备名称自定义原型。 我想你有这个问题,或者至少是好奇地学习如何在原型模块中实现此功能。 要了解此配置,你将在此例程中学到以下几点: 如何在Arduino上连接蓝牙模块; 它们是什么以及如何在蓝牙模块的配置中使用AT命令; 如何测试蓝牙模块和Arduino之间的通信是否正常; 如何配置速度; 如何更改蓝牙设备的名称; 如何配置密码以访问我们的蓝牙模块。 带有Arduino的蓝牙模块 首先,我想告诉你了解蓝牙模块及其与Arduino的连接过程的重要性。购买时,你会发现模块HC-05和HC-06。这是Arduino社区广泛使用的两个模块。这些模块之间的主要区别在于HC-05模块可以用作主机或从机。 从模式允许其具有由另一设备发起的通信,而主模式允许蓝牙模块发起与任何其他蓝牙设备的通信。而HC-06蓝牙模块只能作为从属模式。 现在,我想向你介绍可用于与Arduino通信蓝牙模块的基本结构。实际上有两种方法,但是我将解释为什么这种方法将对你的项目有用。 我选择在下图中向你介绍此模型,因为我们将使用TX和RX引脚进行串行通信,所以他们将被占用,我们将无法通过蓝牙通信共享相同的引脚。 为避免此问题,我们将使用SoftwareSerial库来模拟Arduino端口10和11上的其他串行引脚,如下图所示。 电子电路配置 从上面的组装图中,我们将看到如何连接我们自己的设备。 使用AT命令的配置过程 术语“ AT”来自“注意”一词,这个命令是用于操作蓝牙模块的指令。在此命令结构中,所有指令都必须以前缀AT开头,例如AT + COMMAND。 因此,要通过这些命令配置蓝牙模块,要知道要使用哪些命令,访问蓝牙模块的数据表很重要。在那里,你将找到可用于配置模块的所有说明。 现在,我将开始配置HC-06模块。要配置蓝牙模块,我们需要一个代码来发送AT命令。 发送用于蓝牙模块的AT命令的代码 以下代码用于通过Arduino串行发送AT指令并将其发送到Bluetooth模块。 上面的代码用于接收由Arduino IDE发送的AT命令。从IDE收到的命令中,它们将被发送到Bluetooth模块以配置其功能。 毕竟,如何知道模块是否正常工作并响应Arduino发送的命令? 当数据传输或接收出现问题时,这是许多人提出的问题之一。许多人认为模块已损坏,不了解如何分析这些问题。 这就是为什么我总是反复说,了解模块的控制和配置功能的原因。它们将帮助你解释应用程序中可能存在的不良行为。 之所以说这一点,是因为我想告诉你有关AT功能的信息,如下图所示。 用于测试Arduino和蓝牙模块之间的通信的AT命令。 此功能负责测试Arduino与模块之间的通信。因此,每次执行AT命令时,模块都必须将OK消息发送到Arduino IDE的串行监视器。 该OK消息有助于我们得出结论,即我们的模块正在工作并且正在与Arduino正确通信。 执行完此命令后,我们需要准备模块以与Arduino相同的串行通信速度工作。 我们如何配置蓝牙模块的通信速度? 我经常说这是许多人错过的要点之一。他们在Arduino上选择串行通信速度,但是,蓝牙模块的传输速度设置为另一个值。 显然,这将带来通信问题,而且很多时候人们不知道如何检测这些问题,因为他们不了解如何使用AT命令配置模块。 这样做的结果是,用户指出模块的功能存在问题,但是事实是,模块的配置方式不足以适合应用程序。 为避免此问题,请从AT命令执行测试,并使用AT + BAUDX配置命令来设置蓝牙模块的波特率。 X值表示已配置的速度参数,如下所示。 波特率值 1 1200 2 2400 3 4800 4 9600(默认) 5 19200 6 38400 7 57600 8 115200 9 230400 首先,检查用于串行通信的速度,并将模块的速度调整为相同的传输速率。因此,如果使用命令行AT + BAUD8,则将为蓝牙模块配置115200bps的波特率。 配置蓝牙模块的波特率 这样,你就可以完全控制通讯速度,并避免模块和Arduino之间的通讯错误。 除了速度外,我们还必须配置两个非常重要的参数:模块名称和密码。这些参数对于在设备和蓝牙模块之间建立通信至关重要。 毕竟,如何配置这两个参数? 首先,为模块命名有两点:在列表中标识你的设备,其次,在模块本身中插入设备/品牌的名称。 要执行此过程,请使用以下AT + NAME语句。从那里开始,使用以下指令:AT + NAMEsilicioslab,如图4所示。 配置蓝牙模块的名称。 执行此命令后,该模块将命名为silicioslab。 连接在名为silicioslab的蓝牙模块中的手机。 除了更改名称外,为用户设置密码也很重要。密码是根据以下指令AT + PINXXXX定义的。 从该指令中,你必须选择一个4位数的密码并执行以下命令,例如:AT + PIN4444。 执行此命令时,用于访问模块的新密码将为4444。 配置蓝牙模块的Pin密码。 因此,根据上述步骤,可以配置整个蓝牙模块,并确保与Arduino的通信将安全进行。 在项目中执行通讯的安全性 由于通过AT配置说明可以执行以下操作,因此可以保证此信息: 测试Arduino和蓝牙之间的通信; 测试蓝牙模块功能中的故障,因为在发生故障的情况下它不会响应; 配置模块传输速度,因为在某些情况下,该速度与为Arduino编程的速度不同。因此,传输将失败,用户可能会怀疑模块存在问题。但是,这是配置失败,并且了解AT配置指令。 该名称有助于在设备列表中识别和配对模块。 最后,密码决定了设备之间数据传输访问的安全性。 通过这种方式,可以了解掌握器件的指令和数据表的重要性。 除了可以控制设置外,我们还可以保证应用程序中模块结构的正常运行。学习使用蓝牙模块来掌握功能并在项目中创建安全的应用程序 最后 所有需要的文件在下载区均可找到。 via:https://www.hackster.io/326335/how-to-change-the-bluetooth-module-name-easily-with-arduino-f44eaf

资源

Arduino自行车里程表

需要的元件 Arduino UNO 10kΩ旋转电位器 LCD1602显示屏 杜邦线 面包板 簧片开关 Arduino IDE 原理及流程 介绍 在许多车辆中,有一些设备可以计算行驶距离,并且对于向驾驶员提供信息至关重要。 因此,通过该信息,可以监视两点之间的行驶距离,例如车辆里程表。通过本文,我们将教你如何使用簧片开关传感器组装距离计算设备。 该项目 创建了以下项目来计算自行车的行进距离。此外,你还将学习如何为项目创建程序。 该项目具有三个功能: 计算自行车的行驶距离; 设备启动半径配置; 适应任何自行车。 要访问这些功能,用户将使用系统的三个按钮。每个按钮都有你的功能。在系统中,我们具有以下按钮: 增量按钮:用于输入选项以配置车轮的半径并增加半径值; 减小按钮:用于减少配置车轮半径的选项; 输入按钮:将用于在系统中插入半径值。 此外,我们还有簧片开关传感器,负责检测车轮何时转完一整圈。 为了检测到这一点,需要在车轮上安装一块磁铁,簧片开关如下图所示。 簧片开关传感器。 因此,每当磁体接近传感器时,它将驱动簧片开关传感器。该过程通过以下方程式进行: 行驶距离= 2 * π 半径转数 通过这个方程,我们将知道自行车执行的行驶距离是多少。在等式中,半径是由用户插入的,而转数是通过车轮的转数计算的。 为了检测车轮的转弯,需要在自行车车轮上安装磁铁,并在车轮附近安装簧片开关传感器。 为了简化此过程,我们创建了一块印刷电路板来连接簧片开关传感器和三个按钮。印刷电路板如下图所示。 该项目的印刷电路板。 如PCB中所示,可以看到Arduino Nano 。它负责控制所有系统。另外,我们有5个JST连接器。 使用C1至C4连接器连接三个按钮和簧片开关传感器。现在,C5连接器用于连接LCD 16x2 I2C 。 因此,通过该系统,你可以将项目安装在自行车中并获得行驶距离值。 为此,你可以使用下载区提供的代码。根据这段代码,可以计算出你与Arduino的距离。 最后 所有需要的文件在下载区均可找到。 via: https://www.hackster.io/312684/pcbway-arduino-bicycle-odometer-67b8d8

资源

基于Arduino的水分测量警报系统

需要的元件 Arduino UNO 模拟土壤湿度传感器 旋转电位计10K LCD1602显示屏 杜邦线 电阻221Ω Arduino IDE 原理及流程 在本例程中你将学习如何创建一个系统来监视植物的土壤湿度水平,并告知用户何时灌溉植物。 介绍 在一些住宅中,通常会找到装有不同类型植物的花盆。随着日常活动的增多,人们往往会忘记给植物浇水,最终因缺水而死。为了避免这种问题,我们决定创建一个系统来通知主任何时没有水。这样,你将永远不会忘记灌溉你的植物,并且它会长期存活。接下来,我们将介绍该项目的整体流程。 项目发展 我们用来检测植物中水量的方法之一是通过湿度参数。因此,我们植物罐子里的水越少,土壤湿度就越低。 因此,我们必须使用湿度传感器来分析花盆中的水分状态。 借助湿度传感器,我们在Arduino在面包板上安装了电路,以对仙人掌罐的低湿度进行监测和指示。并且通过显示LCD来通知我们的用户有关水分的信息,如下图所示。 Arduino的水分检测器电路 从上面的电路中,我们将把湿度测量探头插入我们要监视的花盆中。在我们的项目中,我们将探针插入一个小的仙人掌中,如下图所示。 仙人掌罐中装有湿度传感器的投影电路。 现在,我们将逐步了解如何进行工程设计,此后,还将学习如何创建控制代码。 最初,当我们不将传感器连接到广口瓶内时,设备在仙人掌广口瓶外的水分含量仅为2%。如图3所示。 从仙人掌罐的土壤中取出水分传感器。 这个低百分比值表示湿度低。现在,将传感器插入仙人掌罐的土壤中后,将显示36%的值,如下图所示。也就是说,我们的湿度很低,并且系统显示消息Low Moisture,因为该值较小未超过60%。 系统显示了仙人掌罐中水分的百分比值和水平。 下一步是灌溉仙人掌水罐的土壤,我们可以验证湿度值增加到69%。 系统显示了仙人掌罐中的百分比值和高水分含量。 了解了项目的工作原理之后,我们将介绍创建此监控系统的所有构造逻辑。让我们开始吧! 代码 现在开始构建代码。 首先声明名为Display LCD变量的库,创建了一个对象LCD,其引脚与Arduino UNO相连。 此后,初始化设置功能和显示LCD 16x2,并将传感器的引脚配置为输入。 最后,我们对传感器进行了第一次读取,并用作变量PreviousValue的参考,如下所示。 使用创建的变量和void setup函数中的命令,我们将解释循环函数中的所有逻辑编程。 在循环功能中,读取模拟值,并将该值映射到0到100的范围内。该值表示土壤湿度的百分比。当湿度高时,该值接近0;如果湿度低,则该值接近100。 为了便于表示该值并防止用户阅读混乱,我们反转此逻辑,并表示0%为低湿度和100%为高湿度。这是通过映射后执行的计算来完成的。 读取湿度值后,需要在液晶显示屏上显示水分值。下一步是根据以下条件,验证湿度值是否不同于其值加1或值减1。 此条件用于防止系统在Display LCD中多次显示相同的值。但是,当条件为真时,系统将在LCD中显示该值,并验证该值是否大于或等于60%或小于60%。 如果该值大于或等于60%,则系统显示消息高水分,否则,显示消息低水分,如下所示。 最后,系统将水分变量的值存储在PreviousValue变量中以实现其值。每次在显示屏中显示一个新值时,变量PreviousValue都会被更新以在其他代码处理周期中使用。 这个系统用于监控我们住宅中植物的水分并告知用户土壤水分水平。 最后 所有需要的文件在下载区均可找到。 via:https://www.hackster.io/161937/moisture-measurement-system-with-alert-783c5c

电子

电子·圈子   首发

张宇哲 更新了
资源

高铁订票系统

该高铁订票系统集多种功能为一体,可以让用户成功注册登陆后,自主进行查询车票情况,预订车票,取消订单等操作,期间数据库会同步用户订单的信息.

问答

你对电池创业公司QuantumScape(由比尔·盖茨和大众汽车公司创办)的最新产品有何看法?

QuantumScape说它的非锂电池比特斯拉最新的Superchargers充电器的充电效率快一倍,并且可以在较冷的温度下工作、寿命更长。

电子

电子·圈子   首发

张宇哲 发布了
  • 1
  • 103
  • 104
  • 105
  • 120
前往