电动车无钥匙计划++长期更新进度-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5614|回复: 13

电动车无钥匙计划++长期更新进度

[复制链接]
发表于 2020-7-7 16:24 | 显示全部楼层 |阅读模式
目前up的情况,是家里已经实现无钥匙进入全部是(指纹+手机开锁)。
但是骑电动车还是要带钥匙有一些麻烦,所以想把电动车也修改成功篮牙,指纹,NFC(我的手机支持)的一种或者几种结合。


注意:
*/我在nfc方面还不行看看有没有技术牛指导下。*/

头脑风暴一下:

目前的方案是指纹方案。(控电门)
  材料:
     1:mcu:arduino nano

     2:交互设备: 1.oled128*64 2.金属轻触开关(接在mcu中断口) 3.蜂鸣器 (给予开关锁 响应)4.指纹识别模块。

     3:感应器:1.藿尔感应器(感应轮胎有没有动)2.原理传感器(感应座位上有没有人)3.继电器(控制电门)。

     4:dcdc模块:主有是将电动车的60v或者72v直流转换为12v(给mcu与其他部件使用)。
            ps:电动车其实本来有的,一方面是尽量少去修改原来的电路图。一方面也 这个模块的供电是电门控制的,我们最后需要控制的也是这个。所以我选择自己加一个DCDC模块。

  程序设计方案
  1.1日常使用: 控制逻辑
   上车开锁:
     指纹模块感应到已经录入的纹(2s内就一次),继电器得电闭合(控制电门合)。(oled显示结果,开锁成功 或者 指纹错误、如果传感器有故障、被屏蔽给予提示)
   下车关锁:
     轻触开关按下并且5s来电动车没有移动(藿尔感应器没有动作),继电器失电断开(控制电门断) 。
    中途离开忘记关闭--保护性关锁:
        压力传感器感应座位上有人但轮胎没有动(藿尔感应器没有动作)超过5分钟,继电器失电断开(控制电门断)。
        压力传感器感应座位上没有人超过30s,继电器失电断开(控制电门断)。

   1.2后台:主要用于新指纹的管理(录入、删除),传感器的屏蔽(防止在正常使用下传感器失效而导致没有办法正常使用)
     菜单管理:
     指纹模块感应到已经录入的纹(2s内有两次),进入菜单管理
     轻触开关短按选择,长按进入。
      菜单配置:
      /*等待更新*/

目前先更新到这里,有什么意见的欢迎题点 2020年7月7日 15:36:56
 楼主| 发表于 2020-7-15 20:23 | 显示全部楼层
本帖最后由 z01228 于 2020-7-15 20:27 编辑

进度更新2020年7月15日20:13:59
最近在想供电问题 还有模块的选择,目前的想法是使用电动车的防盗器电源,为他是一直有电的。

ps指纹模块比较贵  目前就先买了ic读卡模块进行试验
这个就是我选择的读卡器模块,就因为便宜。嘻嘻但是店铺没有技术支持。只能自己研究代码了 ,好在一天的时间没有白花。


目前是试验的 读卡的使用和读卡器的穿透试验。
muc使用arduino nano  读卡器输出连接在nano的D5上
  1. //串口接收数据,并且拼接成功字符串进行比较。

  2. #include<SoftwareSerial.h>     //软串口库
  3. SoftwareSerial mySerial(5,6);     //新建的串口mySerial(RX,TX);--(读,写)
  4. String comdata = "";     //新建中间变量
  5. String out01off="29119523511883";     //这个是用于比较的卡号
  6. int Code;      //用于存放读到串口数据

  7. void setup()
  8. {
  9.   Serial.begin(9600);     //硬串口
  10.   mySerial.begin(9600);     //软串口
  11.   pinMode(LED_BUILTIN, OUTPUT);
  12.   digitalWrite(LED_BUILTIN, LOW);
  13. }
  14. void loop()
  15. {
  16.   if(mySerial.available()>0){     //如果软串口有数据
  17.     delay(100);     //等数据传输完毕
  18.     Serial.print("十六进制卡号:");
  19.     //数据拼接
  20.     while(mySerial.available()>0){     //这个是一个死循环,等串口的数据全部读取完才会退出
  21.     Code=mySerial.read();     //按位读取并且在读取完毕时删除
  22.     comdata += Code;     //把卡号串接并且保存字符串十进制(中间)
  23.    Serial.print(Code, HEX);      //打印十六进制的卡号
  24.      }
  25.      
  26.    //while(Serial.read()>= 0){}  //清空串口数据--这个可以不要,加进去也没有关系就是
  27.    Serial.println("");     //换行
  28.    Serial.print("十进制卡号:");
  29.    Serial.print(comdata);     //打印完整的十进制卡号(中间变量)
  30.    Serial.println("");     //换行
  31.   
  32. if(comdata==out01off)
  33.    {
  34.     Serial.println("对--开灯");
  35.     Serial.println("");     //换行
  36.     digitalWrite(LED_BUILTIN, HIGH);
  37.     comdata="";     //清空字符串
  38.     } else {
  39.     Serial.println("不对--熄灯");
  40.     Serial.println("");     //换行
  41.     digitalWrite(LED_BUILTIN, LOW);
  42.     comdata="";     //清空字符串
  43.   }
  44.   }
  45. }
复制代码




发表于 2020-7-27 11:26 | 显示全部楼层
我觉得用蓝牙就可以了,没有必要这么麻烦,蓝牙连到手机就自动解锁,断开连接就上锁。
 楼主| 发表于 2020-7-27 19:39 | 显示全部楼层
kemppler 发表于 2020-7-27 11:26
我觉得用蓝牙就可以了,没有必要这么麻烦,蓝牙连到手机就自动解锁,断开连接就上锁。 ...

那你的手机蓝牙要一直开着,如果手机没有电了 或者在外面机蓝牙链接要问题就不好解决了。或者手机已经链接了耳机
发表于 2020-7-28 11:10 | 显示全部楼层
z01228 发表于 2020-7-27 19:39
那你的手机蓝牙要一直开着,如果手机没有电了 或者在外面机蓝牙链接要问题就不好解决了。或者手机已经链 ...

只是提供个建议。
蓝牙一直开着也没什么,我的手机就是常年开着蓝牙。另外,蓝牙连接到耳机也可以连接别的设备。
或者,钥匙坠上挂一个纽扣电池供电的蓝牙设备也行,一节电池可以待机半年了。
发表于 2020-7-28 15:13 | 显示全部楼层
学会BLE或者BT开发,当支架抬起,且蓝牙RSSI在一定范围内时自动开锁
 楼主| 发表于 2020-7-28 20:17 | 显示全部楼层
kemppler 发表于 2020-7-28 11:10
只是提供个建议。
蓝牙一直开着也没什么,我的手机就是常年开着蓝牙。另外,蓝牙连接到耳机也可以连接别 ...

这个建议可以
 楼主| 发表于 2020-7-28 20:18 | 显示全部楼层
XlinliY.Zhang 发表于 2020-7-28 15:13
学会BLE或者BT开发,当支架抬起,且蓝牙RSSI在一定范围内时自动开锁

这个可以有  要学习好一段时间了
 楼主| 发表于 2020-9-7 09:27 | 显示全部楼层
进度情况:目前语音模块、ic读卡器模块 已经调试完毕 在设计感应器与电路图。还有控制逻辑整理
电动车是64v的目前的想法是采用64v-12v-5v的dcdc降压情况 分别给座锁(12V)与各个模块(5v)供电
涉及到的模块单元:1、arduino nano (控制MCU)2、语音模块(语音播放)3、ic读卡器(读取卡号)4、霍尔传感器(测速)5、应变片(座位有无人感应)6、电门锁控制(固态继电器)7、座桶锁控制(电磁铁+固态继电器)。
  控制逻辑
  目前考虑IC卡解锁:
情况一  卡不对:1次oled屏幕显示错误、3次程序闭锁10s之后每错一次时间+20s 在时间结束后才可以正常解锁。
情况二  卡对:1.进入10s使用确认(10s内电动车没有测到速度或者座位上没有人--自动锁车)
                       2.停车模式:5分钟内没有测得速度--自动锁车
                       3.无人模式:30s内没有感应到座位有人--自动锁车
                       4.手动模式;  通过编码器按键--锁车

继续更新
 楼主| 发表于 2020-9-8 13:47 | 显示全部楼层
本帖最后由 z01228 于 2020-9-8 14:14 编辑



一个大概的程序流程图


Visio-电动车无钥匙计划.pdf

51.14 KB, 下载次数: 11

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:25 , Processed in 0.129024 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表