精华内容
下载资源
问答
  • 电子设计作品——简易心电图仪,适合用作电子设计参考,较有用的
  • 电子设计的好资料,详细地提供了对讲机的设计过程,电路,原理等,对电子设计有很大的参考价值
  • 最近参加了学校的电子设计大赛,自己在匆匆忙忙做了一套人脸识别之后,虽然成绩并不是很好,但是依然认为从中学习良多,故而希望与大家进行分享,再次复盘比赛作品中的一些技术细节和走过的弯路希望大家能够从中得到...

    最近参加了学校的电子设计大赛,自己在匆匆忙忙做了一套人脸识别之后,虽然成绩并不是很好,但是依然认为从中学习良多,故而希望与大家进行分享,再次复盘比赛作品中的一些技术细节和走过的弯路希望大家能够从中得到一些启发。
    我准备将此次比赛作品分成多个部分对大家进行展示,因为在我比赛中做东西时发现,关于所涉及到的模块指导其实并不是很多,所以希望借助这次复盘的机会跟大家分享更多的系统性的技术点。
    本设计是采用openmv与stm32c8t6的进行数据连接的简易人脸识别门禁装置,包括人脸识别模块、处理器模块、语音播报模块(CN-TTS 语音合成模块)、显示模块(OLED)四个主要模块。
    人脸识别模块识别到一定距离范围内出现人脸,拍照后将其与人脸库中的照片进行对比,将结果发送给处理器模块。处理器模块将对应结果分别传输给语音播报模块和显示模块,语音播报模块播报出姓名或陌生人以及是否准入,显示模块显示人脸对应姓名或陌生人。
    本次先进行总体的一个功能概况,下一篇开始将进行具体的模块分享。

    展开全文
  • 今天我们的重点放在openmv上,当然,我需要首先声明一点在这里插入代码片,从本次作品的实践效果来看,大家采用K210将会更加有利于比赛测试的效果,openmv镜头的容错度太低,且对比算法过于陈旧,并不推荐大家使用。...

    今天我们的重点放在openmv上,当然,我需要首先声明一点在这里插入代码片,从本次作品的实践效果来看,大家采用K210将会更加有利于比赛测试的效果,openmv镜头的容错度太低,且对比算法过于陈旧,并不推荐大家使用。
    openmv首先我们介绍本次设计所用到的第一个程序模块,即为人脸库的注册模块,人脸库的注册代码其实主要思路就是在于拍摄当前照片,在照片中进行人脸识别,然后截取到人脸识别的区域图片进行特征点的采集和图片的保存(此处一定要SD卡)为后续识别对比建立基础库。为了更好的实现题目效果,我们认为加入了动态人脸注册模式,即为在脱机状态下识别到陌生人后按下按键触发外部中断从而进行动态人脸识别(由于中断处理中程序不能过大因而动态注册必须要等当前识别结束后进行希望有大佬能够提供实时注册的思路),动态人脸注册总体思路为一次外部按键中断进行一次的注册开启,当openmv的P0引脚得到低电平的外部中断触发时,标志位进行修改从而进入动态人脸注册模式,在该模式中我们采用全局变量从而控制其存储路径(此处的缺点是中间不慎进行断电重启全局变量会再次清零从而导致前次的录制效果有被覆盖的风险)。以此类推在不断电情况下可以多次动态录制,全局变量每次自动录制后加一保证了动态存储的可能性。下面提供相关代码。
    初始化部分

    import sensor, image, time,pyb
    from pyb import UART
    from pyb import Pin, Timer, LED
    # 初始化摄像头
    sensor.reset()
    
    # 设置相机图像的对比度为3
    sensor.set_contrast(3)
    
    # 设置相机的增益上限为16
    sensor.set_gainceiling(16)
    
    # 设置采集到照片的大小
    sensor.set_framesize(sensor.VGA)
    
    # 在VGA(640*480)下开个小窗口,相当于数码缩放
    sensor.set_windowing((320, 240))
    
    # 设置采集到照片的格式:灰色图像
    sensor.set_pixformat(sensor.GRAYSCALE)
    
    # 加载Haar Cascade 模型
    # 默认使用25个步骤,减少步骤会加快速度但会影响识别成功率
    face_cascade = image.HaarCascade("frontalface", stage = 25)
    
    uart = UART(3,115200)
    
    pin0 = Pin('P0', Pin.IN, Pin.PULL_UP)
    
    new_personal = 0
    
    RED_LED_PIN = 1
    GREEN_LED_PIN = 2
    BLUE_LED_PIN = 3
    

    初始化部分主要是依据后面所实际具体模块所需的函数要求提供,详细的功能请到星通科技官方文档进行查询。
    首先是一个简易的人脸动态注册函数,主要的思路就是在已经有的30张人脸库上如何在脱机状态下继续进行后续人脸的注册,截图当前摄像头所显示的图片,并在此基础上识别人脸,进一步确定准确范围,然后对人脸部分进行特征点提取即可。由于这部分做的时间已经处于将要验收阶段,故而比较简陋,如果细心研究过例程的人可以发现,完全可以做到动态创建文件夹并进行保存,当然这里就不在赘述,以下代码片段主要为在SD卡中已经提前预留空文件且文件夹名称都已创建好的前提下,进行相对应的现场注册。

    def register_face():
        global new_personal
        kpts1 = None
        new_personal = new_personal+1#通过全局变量加一来达到每次按键中断后所录取的图片自动保存在对应的文件夹中,不会丢失或覆盖。
        num = 30 + new_personal #设置被拍摄者序号,第一人的图片保存到s1文件夹,第二个人的图片保存到s2文件夹,以此类推。每次更换拍摄者时,修改num值。
        n = 29  #设置每个人拍摄图片数量。
    
        # 找到人脸
        while  n :
    
            # 拍摄图片并返回img
            img = sensor.snapshot()
            img.draw_string(0, 0, "Looking for a face...")
    
            # 寻找人脸对象
            # threshold和scale_factor两个参数控制着识别的速度和准确性
            objects = img.find_features(face_cascade, threshold=0.5, scale_factor=1.25)
    
            if objects:
                #  ROI(x, y, w, h)往各个方向扩展31像素
                face = (objects[0][0]-30,
                        objects[0][1]-30,
                        objects[0][2]+30*2,
                        objects[0][3]+30*2)
                # 使用扩展后的ROI区域(人脸)学习关键点
                kpts1 = img.find_keypoints(threshold = 10,
                                           scale_factor = 1.1,
                                           max_keypoints = 150,
                                           roi = face)
                img.draw_keypoints(kpts1, size=24)
                img = sensor.snapshot()
                image.save_descriptor(kpts1, "desc%s/%s.orb"%(num, n))
                img.save("desc%s/%s.orb"%(num, n))
                n-=1
                pyb.LED(GREEN_LED_PIN).on()
                time.sleep(500)
                pyb.LED(GREEN_LED_PIN).off()
                time.sleep(500)
    

    接下来就是对于现场进行人脸检测的相关部分,总体思路就是先截取当前设置大小下的图片,然后进行和库中的人脸对比特征点,在特征点数据对比大于6的基础上进行最大排序以求找到最佳可能性,data小于6则认为陌生人想要进入,在这里为了更好的实现人脸识别,我采用了两次结果对比后最大值再平均的方案,这样可以保证结果的进一步准确性,写法比较简陋但是实际效果还可以。在做这部分时,我认为并没有必要进行图片截取后再到此图片上进行人脸检测而后进行特征点对比,因为实际上我们在做人脸库注册时候的特征点就为人脸部分,周围环境并不对我们构成影响。(有更好的想法欢迎评论区分享)下面是代码分享。

    def find_face():
        Max = [0,0]#同一个人辨识结果的收集
        data = 0 #每次数据收集的值
        personal_number = 0 #识别到人的编号
        uart = UART(3,115200)
        uart.init(115200,bits=8,parity = None,stop = 1)
        num = 30+new_personal
        Rember_number = 0 #采集到的最大值
        while(num!=0):
            m = 1 #同一个人识别次数
            while m > -1:
                n = 29 #每个人采集的照片个数
    
                img = sensor.snapshot()
            # 从图像中提取关键点
                kpts2 = img.find_keypoints(threshold = 10,
                                       scale_factor = 1.1,
                                       max_keypoints = 150,
                                       normalized = True)
                if kpts2 :
                    Max[m] = 0
                    while n :
                        kpts1 = image.load_descriptor("desc%s/%s.orb"%(num, n))
    
                # 跟kpts1匹配
                        c = image.match_descriptor(kpts1, kpts2, threshold = 85)
                # c[6]为match值,值越大表示匹配程度越高
                        tap = c[6]
                        comple = tap - Max[m]
                        if comple > 0:
                            Max[m] = tap
                        n-=1
                    m-=1
                else :
                    NO_FACE = 50
                    FG = bytearray([0x2C,0x12,NO_FACE,0x5B])
                    uart.write('50')
                    uart.write(FG)
            data = (Max[0] + Max[1])/2
            print(data)
            if(data > 6 and data > Rember_number):
                Rember_number = data
                personal_number = num
                num-=1
            else :
                num-=1
        FH = bytearray([0x2C,0x12,personal_number,0x5B])
        uart.write('50')
        uart.write(FH)
        print(personal_number)
    

    本段代码为整个作品的核心,有一些关键点需要做进一步的说明,首先我们说明uart.write(‘50’),这条语句在程序后续的主程序中也会反复出现,其用法都是一样的,在与stm32进行通信时发现使用帧头帧尾中断式通信如果不及时清除中断,那么32的数据接收会出现一位丢失现象,即为只能接收到偶数次发送的数据,为了快速解决,我直接采用了多发送一位无用数据进行数据清除。(这是偷懒的方案)
    接下来重点放在串口数据发送部分,python中的bytearray的好处就是直接可以将数据进行16进制的传送,这样我们在stm32端就可以比较容易的接收到数据进行相对应的处理FH = bytearray([0x2C,0x12,personal_number,0x5B])中0x2C为帧头,0x12为次帧头,personal_number为最有可能被识别者的序号,0x5B帧尾。其中personal_number处可以发送任意多自己想传送的数据完全又自己来定,只需要修改stm32中对应的解码方式即可。
    最后一部分就是中断处理程序,我为了焊接方便故而选择了PIN0进行中断处理,大家可以根据自己需要去修改代码使用,为了检测按键是否按下我采用了初始化flag_key1=0,每当中断发送flag就成为1,方便后续程序进行现场人脸注册模式。pyb.ExtInt相当于对于中断的开启一定要记得写入代码,同时对于波特率的设置一定要和自己通讯的设备调成一致不然肯定数据错误。以下附上代码。

    flag_key1=0
    
    def callback_PIN0(line):
        global flag_key1
        print('1')
        flag_key1=1
        pyb.delay(10)
    
    extint = pyb.ExtInt(pin0, pyb.ExtInt.IRQ_FALLING, pyb.Pin.PULL_UP, callback_PIN0)
    

    主函数就是基于上述分模块的组合而成,只不过加入了相对应的闪灯功能方便在脱机状态下观察程序是否正常,不再进行赘述直接上代码。

    while(True):
        pyb.LED(RED_LED_PIN).on()
        time.sleep(2000)
        pyb.LED(RED_LED_PIN).off()
        pyb.LED(BLUE_LED_PIN).on()
        if flag_key1==1:
            F = bytearray([0x2C,0x12,0x2D,0x5B])#特定的16进制数发送给单片机方便OLED的显示
            uart.write('50')
            uart.write(F)
            pyb.LED(RED_LED_PIN).on()
            time.sleep(300)
            pyb.LED(RED_LED_PIN).off()
            register_face()
            flag_key1=0
            F = bytearray([0x2C,0x12,0x2E,0x5B])#特定的16进制数发送给单片机方便OLED的显示
            uart.write('50')
            uart.write(F)
        else:
            F = bytearray([0x2C,0x12,0x2F,0x5B])#特定的16进制数发送给单片机方便OLED的显示
            uart.write('50')
            uart.write(F)
            find_face()
            F = bytearray([0x2C,0x12,0x2E,0x5B])#特定的16进制数发送给单片机方便OLED的显示
            uart.write('50')
            uart.write(F)
        time.sleep(200)
    
    展开全文
  • 里面有 33个单片机类的 电子设计作品 如智能小车 仓库温湿度的监测 智能家用电热水器控制器 智能型充电器的电源和显示的设计 自动加料机控制系统 电子设计大赛点阵电子显示屏(A题)等等
  • 电子设计大赛作品

    2015-11-18 18:33:59
    全国电子设计大赛常用模块制作,全国电子设计大赛获奖作品选编
  •   与一般的电子产品设计制作不同的是,电子设计竞赛作品设计制作一方面需要遵守电子产品设计制作的一般规律,另一方面要在限定时间、限定人数、限制设计制作条件、限制交流等情况下完成作品的设计制作,电子竞赛...

    文末免费下载资料

      与一般的电子产品设计制作不同的是,电子设计竞赛作品设计制作一方面需要遵守电子产品设计制作的一般规律,另一方面要在限定时间、限定人数、限制设计制作条件、限制交流等情况下完成作品的设计制作,电子竞赛作品设计制作有自己的规律。电子竞赛作品设计制作大约需经过题目选择、系统方案论证、子系统、部件设计与制作、系统综合、调试与测量等步骤,最后完成作品和设计总结报告。

    6.2.1 题目选择

      全国大学生电子设计竞赛作品设计制作时间是4天3晚,3人一组。竞赛题目一般为5~6题,题目在竞赛开始时(第1天的8.00)开启。以2003年第6届为例共有6题:电压控制LC振荡器(A题)、宽带放大器(B题)、低频数字式相位测量仪(C题)、简易逻辑分析仪(D题)、简易智能电动车(E题)、液体点滴速度监控装置(F题)。
    正确地选择竞赛题目是保证竞赛成功的关键。参赛队员应仔细阅读所有的竞赛题目,根据自己组3个队员的训练情况,选择相应的题目进行参赛制作。
    选择题目按照如下原则进行:
      (1) 明确设计任务,即“做什么?”。选择题目应注意题目中不应该有知识盲点,即要能够看懂题目要求。如果不能看懂题目要求,原则上该题目是不可选择的。因为时间是非常紧张的,没有更多的时间让你去重新学习,另外根据竞赛纪律,也不可以去请教老师。
      (2) 明确系统功能和指标,即“做到什么程度?”。注意题目中的设计要求一般分基本要求和发挥部分两部分,各占50分。应注意的是基本部分的各项分值题目中是没有给出的,但在发挥部分往往会给出的各小项的分值。选择时要仔细分析各项要求,综合两方面的要求,以取得较好的成绩。
      (3) 要确定是否具有完成该设计的元器件、最小系统、开发工具、测量仪器仪表等条件。
    在没有对竞赛题目进行充分地分析之前,一定不能够进行设计。题目一旦选定,原则上是应保证不要中途更改。因为竞赛时间只有4天3晚,时间上不允许返工重来。

    6.2.2 系统方案论证

      题目选定后,需要考虑的问题是如何实现题目的各项要求,完成作品的制作,即需要进行方案论证。
    方案论证可以分为总体实现方案论证、子系统实现方案论证、部件实现方案论证几个层次进行。

    1.确定设计的可行性
      方案论证最重要的一点是要确定设计的可行性,需要考虑的问题有:
      (1) 原理的可行性?解决同一个问题,可以有许多种方法,但有的方法是不能够达到设计要求的,千万要注意。
      (2) 元器件的可行性?如采用什么器件?微控制器?可编程逻辑器件?能否采购得到?
      (3) 测试的可行性?有无所需要的测量仪器仪表?
      (4) 设计、制作的可行性?如难度如何?本组队员是否可以完成?
      (5) 时间的可行性?4天3晚能否完成?
      设计的可行性需要查阅有关资料,充分地进行讨论、分析比较后才能确定。在方案设计过程中要要提出几种不同的方案,从能够完成的功能、能够达到的技术性能指标、元器件材料采购的可能性和经济性、采用元器件、设计技术的先进性、以及完成时间等方面进行比较,要敢于创新,敢于采用新器件新技术,对上述问题经过充分、细致的考虑和分析比较后,拟订较切实可行的方案。

    1. 明确方案的内容
      拟订的方案要明确以下内容:
      (l)系统的外部特性
         a. 系统具有的主要功能?
        b. 引脚数量?功能?
        c. 输入信号和输出信号形式(电压?电流?脉冲?等)、大小(量级?)、相互之间的关系?
        d. 输入信号和输出信号相互之间的关系?函数表达式?线性?非线性?
        e. 测量仪器仪表与方法?
      (2)系统的内部特性
        a. 系统的基本工作原理?
         b. 系统的实现方法?数字方式?模拟方式?数字模拟混合方式?
        c. 系统的方框图?
         d. 系统的控制流程?
         e. 系统的硬件结构?
        f. 系统的软件结构?
        g. 系统中各子系统、部件之间的关系?接口?尺寸?安装方法?
      (3)系统的测量方法和仪器仪表
        作品设计制作是否成功是通过能够实现的功能和达到的技术性能指标来表现的。在拟订方案时,应认真讨论系统功能和技术性能指标的测量方法和测量用仪器仪表。需要考虑的问题有:
        a. 仪器仪表的种类?
        b. 仪器仪表的精度?
        c. 测量参数形式?
        d. 测量方法?
        e. 测试点?
        f. 测量数据的记录与处理?表格形式?数据处理工具?matlab?

    6.2.3 安装制作与调试

      安装制作与调试是保证设计是否成功的重要环节。竞赛成绩总共有150分,其中的100分取决于作品的实测结果,50分取决于设计总结报告。
    (1)安装制作需要考虑的问题有:
      a. 安装工具?
      b. 元器件选择与采购?
      c. 最小系统的采用?微控制器?可编程逻辑器件?
      d. 印制板设计与制作?低频?高频?数字?模拟?数模混合?地?EMC?
      e. 子系统、部件安装制作的顺序?
    (2)调试需要考虑的问题有:
      a. 调试参数?
      b. 调试方法?
      c. 调试需要的仪器与仪表?
      d. 软件/硬件的协同?修改软件?修改硬件?
      e. 测量数据的记录与处理?
      建议的安装制作与调试步骤如图6.2.1所示。
    在这里插入图片描述

    6.2.4 设计总结报告的写作

      设计总结报告是电子设计竞赛作品的一个重要组成部分,占总分的1/3,即50分。有关设计总结报告的写作请参考“第7章 电子设计竞赛设计与总结报告写作”。

    6.2.5 电子设计竞赛作品设计制作的全过程

      电子设计竞赛作品设计制作的全过程如图6.2.2所示。
    在这里插入图片描述
    资料详情(点击)


    全套资料免费下载:
    关注v-x-公-众-号:【嵌入式基地
    后-台-回-复:【电赛】 即可获资料
    回复【编程】即可获取
    包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料
    在这里插入图片描述

    电子设计大赛资料分享:
    https://pan.baidu.com/s/14qxwGv7Sq6a_jcMT3mNwtw#list/path=%2F

    提取码:jdxj

    展开全文
  • 电子设计大赛作品展示 电子设计大赛作品展示 电子设计大赛作品展示 电子设计大赛作品展示
  • 电子设计竞赛优秀作品示例
  • 电子设计从这开始——51单片机25个小作品

    万次阅读 多人点赞 2016-09-23 13:09:09
    这是大二我做某实验室管理员,为了方便自己管理整理,都是一些51单片机的小作品,适合给刚学完51单片机的新手练手 一目录 1基于51单片机的火灾温度烟雾报警器 2基于51单片机的声光电子琴 3基于51单片机的音乐喷泉 4...

            这是我大二做某实验室管理员,为了方便自己管理整理,都是一些51单片机的小作品,适合给刚学完51单片机的新手练手!

                  时间好快,目前我已经研二了,没有想到底下会有这么多评论,谢谢各位学弟学妹捧场!我在这统一回复,这些是我总结的可以用来练手的关于51单片机的小项目,不过我自己没有做过,真的没有资料。          

    一目录

    1基于51单片机的火灾温度烟雾报警器

    2基于51单片机的声光电子琴

    3基于51单片机的音乐喷泉

    4基于51单片机的智能温控风扇

    5基于51单片机的超声波测距

    6基于51单片机的无线温湿度控制系统设计

    7基于51单片机脉搏心率计

    8.基于51单片机led音乐频谱

    9.基于51单片机的智能充电器

    10.基于51单片机的贪吃蛇游戏

    11.基于51单片机的电子秤

    12.基于51单片机的视力保护器

    13.基于51单片机防人水位检测报警系统

    14.基于51单片机的声光控制器设计

    15.基于51单片机的红外计数器

    16.基于51单片机的自行车码表设计

    17.基于51单片机的计算器的设计

    18.基于51单片机的酒精浓度测试仪设计

    19.基于51单片机的智能台灯设计

    20.基于51单片机的卫星定位

    21.基于51单片机防尘PM2.5灰尘设计

    22.基于51单片机的无线音乐门铃

    23基于51单片机的短信收发控制器

    24.基于51单片机的智能插座定时开关设计

    25.基于51单片机的4*4*4单片机的光立方设计

     

    二.作品参考图

     

    1基于51单片机的火灾温度烟雾报警器

     

     

     

     

     

    2基于51单片机的声光电子琴

     

     

     

     

    3基于51单片机的音乐喷泉

     

     

     

     

    4基于51单片机的智能温控风扇

     

     

     

     

    5基于51单片机的超声波测距

     

     

    6基于51单片机的无线温湿度控制系统设计

    7基于51单片机脉搏心率计

    8.基于51单片机led音乐频谱

    9.基于51单片机的智能充电器

    10.基于51单片机的贪吃蛇游戏

    11.基于51单片机的电子秤

    12.基于51单片机的视力保护器

    13.基于51单片机防人水位检测报警系统

    14.基于51单片机的声光控制器设计

    15.基于51单片机的红外计数器

    16.基于51单片机的自行车码表设计

    17.基于51单片机的计算器的设计

    18.基于51单片机的酒精浓度测试仪设计

    19.基于51单片机的智能台灯设计

    20.基于51单片机的卫星定位

    21.基于51单片机防尘PM2.5灰尘设计

    22.基于51单片机的无线音乐门铃

    23基于51单片机的短信收发控制器

     

    24.基于51单片机的智能插座定时开关设计

     

    25.基于51单片机的4*4*4单片机的光立方设计

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 全国电子设计大赛作品 DOC文档的 图片
  • 参加电子设计竞赛的同学很需要哦,里面有很多往年有优秀作品
  • 省级电子设计大赛作品说明书 1 研制背景及意义 2 设计方案 3 工作原理及性能分析 4 创新点及应用
  • 电子设计大赛 作品选编
  • 电子设计竞赛历年作品集 1997--2007所有获奖作品
  • 电子设计竞赛优秀论文,dianyuanlei ,kongzhilei,jianchelei,chuanganqi,
  • 电子设计大赛,你们懂得,里面包含了全国大学生电子设计竞赛获奖作品选编,全国大学生电子设计竞赛获奖作品精选,给各位同学提供思路
  • 2007 全国电子设计大赛 电子设计大赛 获奖 文档 2008 2009
  • 集中了往年全国大学生电子设计大赛优秀获奖作品,经典实例
  • 99年电子设计大赛作品........................................
  • 09年全国电子设计大赛B题作品-声导小车(电子科大作品)里面的声音接收部分相当的不错。 本人没有别的用意,资源共享。希望想参加下一届电子大赛的同学能参考一下,尤其想用这个题目试试手的同学……
  • 包含湖北省电子设计大赛TI杯优秀作品-华中科技大学多功能计数器的设计实现,The CycloneII FPGA based
  • 全国大学生电子设计竞赛获奖作品精选:1994-1990

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,240
精华内容 496
关键字:

电子设计作品