• 【小型物体测速仪】只有原理,无代码


    项目来源:Arduino ESP8266 电磁炮测速仪&OLED显示器

    本项目有几个问题不懂。

    不知道作者为何引用 Adafruit_ssd1306syp 这个库。

    • 没有在 Arduino 管理库中找到此库。
    • 在 GitHub 上貌似是找到此库,但是没有说明:ssd1306syp
    • 在本地引入此库后导致出现了 byte is ambiguous 错误
    • Adafruit_ssd1306syp 库更改为 Adafruit_ssd1306 库后错误没有了

    故,本项目按照作者代码没有复刻成功,在此不做代码过多分析。


    原理

     智能小车玩过没有?有个测速模块!就是那个东西。找了一个测速模块的图片(如下图)

    槽中无物体档光时,接收管导通,G14\G13 检测为低电平。而有物体遮挡光时,接收管不导通。此时,最希望单片机能够读到高电平。故 G14\G13 应该设置为上拉输入。在此逻辑下,才有无挡光物体检测为低电平,有挡光物体时检测为高电平。那这样,透明物体就不好检测了。

    怎么判断速度呢? 由于物体要依次通过两个光电开关,那么就会有时间延时。通过两光电开关之间的距离即可求得速度。

    设两光电开关距离(中心到中心的距离)为 L ,延时时间为 T ,那么速度 V = L÷T 。

    由于 ESP32 for Arduino 有一个能读微妙单位时间的函数:micros() 可记录下通过两光电开关的相对时间进行求速度。

    要比较准确的计算,最好是用到中断函数,并且应该设置为上升沿触发!

    因为有物体遮挡时 G14/G13 端口会检测到高电平,由低电平到高电平的瞬间记录比较准确。

    算物体的动能也很简单,只要输入物体的质量就可以了。反正用的 ESP8266 ,直接网页输入。

    动能: E = m×V×V×0.5

    然后就是规定的比动能 1.8 焦耳每平方厘米!这就除面积就好了啊 ~


    代码

    下面写一个伪代码进行操作,仅仅写出计算时间、速度的部分

    1. ICACHE_RAM_ATTR void G13_InterFunction() //中断函数
    2. {
    3. G13time = micros();
    4. G13flag = 1;
    5. }
    6. ICACHE_RAM_ATTR void G14_InterFunction()
    7. {
    8. G14time = micros();
    9. G14flag = 1;
    10. }
    11. void setup()
    12. {
    13. attachInterrupt(G13, G13_InterFunction, RISING); // 上升沿触发
    14. attachInterrupt(G14, G14_InterFunction, RISING); // 上升沿触发
    15. }
    16. void loop()
    17. {
    18. if(G13flag == 1 && G14flag == 1)
    19. {
    20. if(G13time>G14time)
    21. time = G13time - G14time;
    22. else
    23. time = G14time - G13time;
    24. G13flag = 0;
    25. G14flag = 0;
    26. }
    27. }

    总结

    根据原作者的 ESP8266 版本的项目代码没复刻出来还是听沮丧的!但是更改代码可以做出来。

    暂时还不知道哪里出来问题,后期再看吧!

    项目资料

    后续再放代码吧,先弄好为啥有问题。

    啊啊啊啊!遇到挫折好难过!!!

  • 相关阅读:
    go 并发
    递归循环 / 高端 / 大气 / 上档次
    图论05-【无权无向】-图的广度优先BFS遍历-路径问题/检测环/二分图/最短路径问题
    day-3-4-2
    解决Hibernate N+1问题的3种方法
    一个能够自我游戏的贪吃蛇(pygame与搜索算法)
    C++面向对象:重写、重载、隐藏
    httprunner中使用JMESPath进行数据提取技巧
    SQLserver数据库事务和快照复制兼容性矩阵
    小满nestjs(第一章 介绍nestjs)
  • 原文地址:https://blog.csdn.net/qq_41650023/article/details/125929960