用Arduino和蓝牙模块做一个开门装置

2023-11-06

用Arduino和蓝牙模块做一个开门装置

闲来无事,给门上装一个不用钥匙开门的装置(如图)
整体构造

蓝牙模块
学校很老的锁也搞不出什么花样了,就拿个舵机拉根杜邦线拽着锁。
很简单的东西,做着玩玩。(好吧,我承认看着有点’低电平‘)
用的好像是HC04蓝牙模块吧,就网上卖的Arduino套间里的那个东西,我懒得接线了,就直接插到这上面了,虽然直接用数字口当电源可能不太好,不过单片机工作时间不长板子也不贵也没啥关系了♪(*)。

有个电源开关在那个窗口处,可以从外面打开单片机的电源,用手机开蓝牙连上HC04,然后就可以输入字符串,单片机和之前设定的密码比对,一致的话就转动舵机开锁。
手机连接蓝牙用的蓝牙串口助手
这个蓝牙串口助手网上有很多,就不推荐了。随便哪一款用着舒服就行。
上代码

#include <SoftwareSerial.h> 
SoftwareSerial BT(4,5); 
String val = "";
void setup() {
  pinMode(2,OUTPUT);//VCC
  pinMode(3,OUTPUT);//GND
  //我蓝牙模块是直接插在2345引脚上的,所以就把2、3两个引脚当电源用了
  digitalWrite(2,HIGH);
  digitalWrite(3,LOW);
  analogWrite(10,100);
  //测试的时候发现上电的时候舵机会转一个角度,不加这个舵机初始化的话,一直开电关电门就打开了0.0
  Serial.begin(9600);
  Serial.println("UNO is ready!");
  
  BT.begin(9600);
  BT.println("BT is ready!");
}
void loop() {
  if (BT.available()) {
    while (BT.available() > 0)
      {
        val += char(BT.read());
        delay(2);
      }
    Serial.println(val);
  }
  if(val == "")//这里填自己想用的密码
  {analogWrite(10,220);
  delay(3000);
  analogWrite(10,100);
  }
  //10号引脚是用爱控制舵机的,pwm占空比220是开门,100是回去
  val = "";
}

一个很简单的小东西,主要是用到了舵机和蓝牙模块。
第一次写这个,可能排版不太好看♪(*)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用Arduino和蓝牙模块做一个开门装置 的相关文章

  • 使用 pySerial 等待 Arduino 自动重置

    我正在尝试在 Linux 上使用非常简单的代码 为了展示问题 从 Arduino 板上读取行 Python代码 arduino py import serial arduino serial Serial dev ttyACM0 with
  • 如何在观察者中处理具有不同状态值类型的 Observables

    首先是上下文和问题 框架代码在帖子底部 我们正在创建并实现一个 C 框架 以便在 Arduino 等环境中使用 为此 我想使用观察者模式 其中任何对传感器状态变化感兴趣的组件 Observables 可以注册自己 并且它将通过 Observ
  • Arduino:字符串到整数得到奇怪的值

    我想转换一个String to an int 我所能找到的就是你必须将 String 转换为 char 数组 然后将该数组转换为int 但我的代码产生奇怪的值 我无法弄清楚问题是什么 void ledDimm String command
  • 蓝牙 HC-05 发送错误 1F 仅适用于 INQ 命令

    我的新蓝牙 HC 05 模块有问题 在 AT 模式下 它可以与我需要的所有命令完美配合 除了 INQ 我已经尝试事先发送一大堆其他命令 AT INIT OK AT ORGL OK AT ROLE 1 OK AT CLASS 0 OK 他们都
  • 如何使用arduino从sim900模块的RTC读取日期和时间数据?

    include SIM900 h include
  • Arduino I2S 正弦波

    我正在开发一个项目 我想通过组合不同的正弦波来生成 简单 声音 我使用的是 arduino mkrZero 因为它内置了 I2S 接口 并且似乎有足够的处理能力来满足我的需求 I have wired my system exactly l
  • 如何在 Arduino 上比较 __FlashStringHelper* 和 char*?

    我有一个将文本行输出到串行的板 我需要将这些文本行与我所知道的文本进行比较 本质上 我想做strcmp thestring F knownstring 但是似乎没有一个采用 FlashStringHelper 类型的 strcmp 版本 有
  • Android 和 Arduino 都通过蓝牙接收奇怪的值

    我正在 Android 端使用 BluetoothChat 代码使用聊天框向 Arduino UNO 发送开 关信号 我发送 110 119 或下面定义的其他情况 但是当我显示接收到的值时 它显示奇怪的Arduino 串行监视器中的值 即
  • Arduino:使用串口和软件串口与蓝牙模块

    我的目的是使用 Arduino 通过 HC 05 蓝牙模块在 PC 和 Android 设备之间建立通信 我使用 PC 和 Arduino 串行监视器 之间的 USB 通信以及 SoftwareSerial 来连接到 HC 05 我的问题是
  • Python自动选择串口(适用于Arduino)

    目前 Python 程序必须知道设备 Arduino 位于哪个端口 然后 Python 才能与设备进行通信 Problem 每当设备拔出并重新插入时 其 COM 端口都会发生变化 因此必须再次向 Python 提供正确的串行端口 以便它找到
  • 同时使用 GPRS 和 GSM

    我正在尝试使用 GSM GPRS 调制解调器的 GPRS 功能将数据发送到远程服务器 但我无法这样做 我在 Arduino 论坛上发布了一个问题 但没有得到任何回复 这是问题的链接 https robotics stackexchange
  • C++ Linux (Ubuntu) 正确写入串行(对于 Arduino)

    我想知道是否有一种标准方法可以与高效的串行设备进行通信 我应该使用标准库吗 如果有 是哪一个 现在我正在摆弄让 LED 根据输入的数字以给定的量亮起 Arduino 代码如下 只是练习一些东西 看我过于简单且低效的测试 include
  • 终止导致设备或资源繁忙的进程:“/dev/ttyUSB0”?

    我使用以下 Python 代码连接到我的 Arduino 板 device glob glob dev ttyUSB 0 time sleep 1 arduino serial Serial device 115200 timeout 5
  • 如何使用GSM模块SIM800和Arduino Uno发送短信?

    我正在尝试通过 SIM800 GSM 模块从 Arduino 发送短信 消息到达给定号码 但格式不正确 它显示 消息格式不支持 我在这里添加了我的代码 非常感谢您的快速回复 include
  • 通过iPhone音频插孔读取数据

    我正在寻找一种方法来读取通过 iPhone 的音频插孔从 Arduino 发送的原始数据 我搜索了很多并发现this https github com sanjibahmad Is Headphone Plugged In tree mas
  • Arduino Nano 33 IoT 的软件序列号

    我计划从旧的 5V Arduino Nano 迁移到新的 Arduino Nano 33 IoT 我已经使用软件串行 SoftwareSerial h 为旧的 5V Arduino Nano 编写了一个功能代码 以便与 Sim800L 模块
  • 如何使用基于HM-10蓝牙模块的BLE Shield?

    我是 arduino 项目的新手 我想请你帮忙 我从 http imall iteadstudio com development platform arduino shields im130704001 html http imall i
  • Arduino 错误:未命名类型?

    我已经编写了一个库 但遇到错误未命名类型的问题 我已经尝试了一切 搜索了几个小时 但没有运气 库放置在arduino sketch文件夹的 libraries 文件夹中 请帮忙 我使用的是 OSX 但 Windows 上也出现同样的问题 这
  • Arduino sprintf float 未格式化

    我有这个arduino草图 char temperature 10 float temp 10 55 sprintf temperature f F temp Serial println temperature 温度打印为 F 关于如何格
  • 无法访问超过 255 个的 Modbus 寄存器 SimpleModbus

    我是法国学生 我已经使用 SimpleModbus 1 周了 它工作得很好 直到我尝试实现一个具有大量寄存器 1000needed 使用从站 1 无法访问超过 255 个的寄存器 无论我做什么 一旦寄存器读数超过 255 我就会收到超时错误

随机推荐

  • MySQL 按照条件统计多张表记录数总数

    一 诉求 数据库中有 4 张订单表 分别为 tbl test order01 tbl test order02 tbl test order03 tbl test order04 分别用于存储四个季度的订单表数据 各表的表结构均相同 以 t
  • Office 2021 简体中文离线安装包下载地址

    Office 2021 简体中文离线安装包下载地址 一 专业增强版 强烈推荐 http officecdn microsoft com pr 492350f6 3a01 4f97 b9c0 c7c6ddf67d60 media zh cn
  • web前端技术笔记()js对象方法讲解

    不带参函数的调用
  • python sqlalchemy 动态创建表,,或动态修改__tablename__的两种方法

    最近在学习sqlalchemy 有个动态修改 tablename 的需求 搜索了好几天 没有太完美的答案 要么看不懂 要么比较古老了 通过研究 整理以下几种sqlalchemy动态修改 tablename 的方法 一 函数封装table m
  • springboot+vue+elementui+阿里云oss上传文件

    才做完课程设计没多久 本来打算早点写这一篇文章 但是由于太懒了 就拖延了好几天 今天没什么事情 就打算写下一篇关于文件上传我文章 希望可以帮助到大家 需要准备 配置好maven 购买阿里云oss 第一步 导入指定的依赖
  • 浅谈测试用例设计

    一 测试用例为什么存在 1 1 定义 测试用例 Test Case 是指对特定的软件产品进行测试任务的描述 体现测试方案 方法 技术和策略 测试用例内容包括测试目标 测试环境 输入数据 测试步骤 预期结果 测试脚本等 最终形成文档类的输出
  • 华为交换机SSH和telnet登录配置

    华为交换机SSH和telnet登录配置 一 网络拓扑 二 SW2配置telnet 1 SW2配置 2 R1登录验证 三 SW2的ssh登录配置 1 生成本地密钥对 2 SW2配置命令 3 R1登录 四 配置console口密码 1 配置命令
  • 红黑树

    写在前面 当在10亿数据进行不到30次比较就能查找到目标时 不禁感叹编程之魅力 人类之伟大呀 学红黑树有感 终于 在学习了几天的红黑树相关的知识后 我想把我所学所想和所感分享给大家 红黑树是一种比较难的数据结构 要完全搞懂非常耗时耗力 红黑
  • 约束布局的使用(二)

    主要介绍app layout constraintWidth max app layout constrainedWidth app layout constraintDimensionRatio和Guideline的使用 一 app la
  • 无锁队列-使用hazard指针解决ABA问题

    无锁队列 使用hazard指针解决ABA问题 分类 网络安全 工具使用 文章 实现一个无锁队列 原子操作使用了tbb atomic ABA问题使用hazard指针解决 无锁队列实现 查看文本 打印 msque hpp Created on
  • Leetcode76 最小覆盖子串题解

    题目网址 https leetcode cn com problems minimum window substring 题目分析 这道题目 明显之处在于 我们需要在字符串 s 中框出一个窗口 来判断这个窗口中的子串是否覆盖了 t 如下图所
  • 2021-02-08

    学习目标 窗口函数等 天池龙珠计划SQL训练营 学习内容 5 1窗口函数 5 1 1窗口函数概念及基本的使用方法 5 2窗口函数种类 5 2 1专用窗口函数 5 2 2聚合函数在窗口函数上的使用 5 3窗口函数的的应用 计算移动平均 5 3
  • 工作失误点反思

    工作前考虑 1 查明工作服务对象 依赖对象 这个工作依赖于什么 为了什么 前置条件是否允许 2 是否有人做过 是否要重用 重用要考虑两者关系 工作时考虑 1 效率最高位 易读度第二位 编写复杂度最后位 2 头文件 格式 注释
  • 黄哥通过代码来说明:python语法糖

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 下面用一个例子来说明 coding utf 8 foo decorator foo 语句的作用是将foo函数作为参数传递到decorator 返回值赋值给foo 那么foo
  • Linux基础命令

    Linux基础命令 ls 列出 英文全称 list 格式 ls options 选项 arges 参数 root localhost ls l 总用量 4 rw 1 root root 1297 3月 18 02 38 anaconda k
  • log level

    一 LK层 首先 在LK中 有一个对log打印级别的控制文档 其路径一般为 vendor mediatek proprietary bootable bootloader lk include debug h 以mtk平台为例 在inclu
  • 机器学习-

    可用数据集 kaggle UCI scikit learn kaggle 网址 https www kaggle com datasets UCI 网址 https archive ics uci edu ml scikit learn 网
  • UE4 安卓AR 识别图片

    UE4 安卓AR 识别图片 开启一个插件 准备一个只有玩家出生点的场景 这个场景用来做识别图片的 新建一个游戏模式 设置好默认的pawn类 一个摄像机就行了 代表手机开启AR会话后的那个相机 然后gamemode 事件开始运行 就直接开启A
  • C/C++堆溢出(stack overflow)的解决

    问题 堆溢出 stack overflow 解决 1 在VS里面设置 属性 链接器 系统 堆栈保留大小 2 通过代码 第一个值是堆栈的保留空间 第二个值是堆栈开始时提交的物理内存大小 堆栈改变为100M pragma comment lin
  • 用Arduino和蓝牙模块做一个开门装置

    用Arduino和蓝牙模块做一个开门装置 闲来无事 给门上装一个不用钥匙开门的装置 如图 学校很老的锁也搞不出什么花样了 就拿个舵机拉根杜邦线拽着锁 很简单的东西 做着玩玩 好吧 我承认看着有点 低电平 用的好像是HC04蓝牙模块吧 就网上