奇迹12 发表于 2024-10-20 19:46

【2024 DigiKey 创意大赛】智能空调感应器

本帖最后由 奇迹12 于 2024-10-30 22:58 编辑

<p><strong><span style="font-size:20px;">一、作品简介</span></strong></p>

<div style="text-align: center;"></div>

<p>本项目主要实现了一个智能空调感应器,当摄像头检测到房间内有人时会自动打开空调,同时该设备还支持远程网页控制。</p>

<div style="text-align: center;">
<div style="text-align: center;">&nbsp;</div>
</div>

<p><br />
<strong><span style="font-size:20px;">二、系统框图</span></strong></p>

<p>本项目主要实现当摄像头检测到房间内有人时会自动打开空调,还支持远程网页控制,两大主要功能,设计思路如下:</p>

<p>人体识别:该部分使用openMV完成,运行神经网络模型,识别环境中是否有人,当发现环境中有人时,产生一个信号发送给esp32进行处理。</p>

<p>网页控制:该部分由esp32完成,esp32实现上网功能,作为一个服务器对外开发,实现一个内置网页,当发现有手机连入该服务器,并访问服务器的网页时,将该网页返回给手机端,用户可以通过手机上的网页对设备进行控制。</p>

<p>控制核心:由esp32完成,负责接收openMV和网页传来的控制信号,当满足空调打开条件时打开空调,本文中使用LED点亮作为演示。</p>

<p style="text-align: center;"> &nbsp;&nbsp;</p>

<p>使用的板卡是以下两个:</p>

<p>&nbsp;</p>

<div>
<p></p>

<p>OpenMV摄像头是一款小巧,低功耗,低成本的电路板,它帮助你很轻松的完成机器视觉(machine vision)应用。你可以通过高级语言Python脚本(准确的说是 MicroPython ),而不是C/C++。Python的高级数据结构使你很容易在机器视觉算法中处理复杂的输出。但是,你仍然可以完全控制OpenMV。你可以很容易的使用外部终端触发拍摄或者或者执行算法,也可以把算法的结果用来控制IO引脚。</p>

<ul>
        <li>STM32H743VI ARM Cortex M7 处理器,480 MHz ,1MB RAM,2 MB flash. 所有的 I/O 引脚输出 3.3V 并且 5V 耐受。这个处理器有以下的IO接口。</li>
        <li>全速 USB (12Mbs) 接口,连接到电脑。当插入OpenMV摄像头后,你的电脑会出现一个虚拟COM端口和一个&ldquo;U盘&rdquo;。</li>
        <li>&mu;SD卡槽拥有100Mbs读写,这允许你的OpenMV摄像头录制视频,和把机器视觉的素材从SD卡提取出来。</li>
        <li>一个SPI总线高达54Mbs速度,允许你简单的把图像流数据传给LCD扩展板,WiFi扩展板,或者其他控制器。</li>
        <li>一个 I2C总线,CAN总线, 和两个异步串口总线 (TX/RX) ,用来链接其他控制器或者传感器。</li>
        <li>一个12-bit ADC 和一个12-bit DAC。</li>
        <li>3个 I/O 引脚用于舵机控制.</li>
        <li>所有的IO口都可以用于,中断和PWM(板子上有10个I/O引脚)。</li>
        <li>一个RGB LED(三色), 两个高亮的 850nm IR LED(红外).</li>
        <li>可拆卸的摄像头模块系统,允许OpenMV Cam H7与不同的感光元件模组连接:</li>
        <li>OpenMV4 H7默认配置的MT9M114 感光元件处理640&times;480 8-bit 灰度图或者640&times;480 16-bit RGB565彩色图像可以达到40 FPS;当分辨率低于320&times;240可以达到80FPS。大多数简单的算法可以运行40~80FPS以上。你的 OpenMV 摄像头有一个2.8mm焦距镜头在一个标准M12镜头底座上。如果你想使用更多的特殊的镜头,你可以很容易的安装。</li>
        <li>对于专业的机器视觉应用,你可以购买我们的全局快门摄像头模组mt9V034。</li>
        <li>对于红外热成像机器视觉应用,您可以购买我们的FLIR Lepton 红外热成像模组。</li>
        <li>3.7V 锂离子电池接口,用于业余爱好者机器人应用。</li>
</ul>

<div></div>

<div>
<p>ESP32-C6-DevKitC-1 是一款入门级开发板,使用带有 8 MB SPI flash 的通用型模组 ESP32-C6-WROOM-1(U)。该款开发板具备完整的 Wi-Fi、低功耗蓝牙、Zigbee 及 Thread 功能。</p>

<p>板上模组大部分管脚均已引出至两侧排针,开发人员可根据实际需求,轻松通过跳线连接多种外围设备,同时也可将开发板插在面包板上使用。</p>

<p>&nbsp;</p>

<p>代码部分:</p>

<p>人体识别</p>
</div>
</div>

<pre>
<code class="language-python">while True:
    clock.tick()
    img = sensor.snapshot()
    flag = 0
    for i, detection_list in enumerate(
      net.detect(img, thresholds=[(math.ceil(min_confidence * 255), 255)])
    ):
      if i == 0:
            continue# background class
      if len(detection_list) == 0:
            continue# no detections for this class?

      print("********** %s **********" % labels)
      flag = 1
      for d in detection_list:
             = d.rect()
            center_x = math.floor(x + (w / 2))
            center_y = math.floor(y + (h / 2))
            print(f"x {center_x}\ty {center_y}")
            img.draw_circle((center_x, center_y, 12), color=colors, thickness=2)
    if flag == 1:
      p_out.high()#设置p_out引脚为高
    else:
      p_out.low()#设置p_out引脚为低
    print(clock.fps(), "fps", end="\n")</code></pre>

<p>&nbsp;</p>

<p>esp32处理部分:</p>

<pre>
<code class="language-cpp">void loop() {
dnsServer.processNextRequest();// 处理 DNS 请求
server.handleClient();         // 处理来自客户端的 HTTP 请求
if(LOW == digitalRead(0) &amp;&amp; count &gt; 100){
    identify_flag = 0;
}
else if(HIGH == digitalRead(0)){
    identify_flag = 1;
    count = 0;
}
count++;
if(control_flag == 1 || identify_flag == 1)
    rgbLedWrite(RGB_BUILTIN, 0, 0, RGB_BRIGHTNESS);
else
    rgbLedWrite(RGB_BUILTIN, 0, 0, 0);
}</code></pre>

<p><br />
<span style="font-size:20px;"><strong>三、各部分功能说明</strong></span><br />
openmv识别人体</p>

<p style="text-align: center;"> &nbsp;</p>

<p>控制网页</p>

<p style="text-align: center;"> &nbsp;</p>

<p>人体识别控制</p>

<p> &nbsp;手机网页控制 &nbsp;<br />
<strong><span style="font-size:20px;">四、作品源码</span></strong><br />
<a href="https://download.eeworld.com.cn/detail/%E5%A5%87%E8%BF%B912/634849">download.eeworld.com.cn/detail/奇迹12/634849</a><br />
<strong><span style="font-size:20px;">五、作品功能演示视频</span></strong></p>

<p>f2c0f979629c1affe5bfe3de394da3b5</p>

<p><strong><span style="font-size:20px;">六、项目总结</span></strong></p>

<p>很高兴能参加这个活动,我收获了很多新的知识,也完整完成了一个小项目,很开心。</p>

<p>&nbsp;</p>

<div></div>
页: [1]
查看完整版本: 【2024 DigiKey 创意大赛】智能空调感应器