回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页
best-icon

【创意智造组】创客与生物学科融合:基于行空板K10与二哈2视觉传感器的孟德尔豌豆杂交实验模拟与数据可视化 简单

头像 云天 2026.03.31 184 1

用AI图像分类技术,让孟德尔遗传定律的实验验证变得更智能、更直观、更具交互性!

【项目缘起】

       在高中生物教学中,孟德尔的豌豆杂交实验是学生理解遗传定律的经典案例。假说-演绎法贯穿整个发现过程,而模拟实验(如使用小桶和彩球)则是帮助学生理解配子随机结合、验证性状分离比的有效手段。然而,传统的手工抓取与手动统计存在以下痛点:

       效率低:需要重复操作数十甚至上百次才能逼近理论比例;

       易出错:学生手动计数容易分心或遗漏;

       缺乏数据整合:难以快速对比多个小组的实验数据,无法直观感受“大样本更接近理论值”。

       为了突破这些局限,我们结合创客技术,利用行空板K10主控板二哈2视觉传感器Mind+ 2.0的图像分类功能,构建了一套AI自动识别、实时统计、多组数据上云的智能模拟实验装置。学生只需将黄红药片组合放在摄像头下,系统自动识别基因型(DD、Dd、dd),累计统计并实时显示比例;多个小组的数据还可上传至Mind+数据可视化面板,实现跨组数据对比。

image.png

【项目目标与设计思路】

       1. 假说-演绎法主线

 

步骤生物学内容创客融合点
观察现象高茎×矮茎 → F1全高茎 → F2高:矮≈3:1/
提出问题为什么会出现3:1?/
提出假说遗传因子成对存在,配子中成单,随机结合/
演绎推理若假说成立,则F1自交后代应为DD:Dd:dd=1:2:1/
实验验证模拟配子随机结合,统计后代表现型比例AI自动识别彩色药片组合并计数
得出结论分离定律屏幕实时显示统计结果+多组数据上云

       2. 技术亮点

       AI图像分类:训练模型识别三种棋子组合(两红=DD,两黄=dd,一红一黄=Dd),实现无接触、高准确率识别。

       实时数据可视化:行空板K10屏幕显示当前识别结果、总次数、各基因型数量及比值。

       多组数据上云:两个小组的设备通过Wi-Fi将数据上传到Mind+数据可视化面板,教师可在大屏上对比全班实验进展。

【硬件与软件准备】

       硬件清单

 

名称数量说明
行空板K102每组一块,作为主控及显示终端
二哈2视觉传感器2每组一个,用于图像识别
红黄药片(或圆片)若干红色代表显性基因D,黄色代表隐性基因d
不透明盒子2分别代表精巢和卵巢,内置棋子
数据线、电源若干给K10供电及程序下载

 

       软件环境

       Mind+ 2.0 图像分类工具(模型训练)

       Mind+ 数据可视化面板(EasyIoT平台)

       Mind+ 2.0Python模式(处理EasyIoT平台数据用于数据可视化面板显示)

       Mind+ 2.0上传模式(行空板K10+二哈2编程)

 

image.png
image.png
image.png
image.png

【项目实施步骤】

步骤1 训练AI图像分类模型

       采集图像数据

       将二哈2通过USB连接到电脑,打开Mind+ 2.0的目标检测工具。

       分别摆放三种药片组合:

       DD:两枚红色药片并排

       Dd:一粒红色一粒黄色并排(注意采集两种方向:红左黄右、黄左红右,提高泛化能力)

       dd:两枚黄色并排

       使用二哈2的按键或Mind+工具分别采集每种组合的至少30张照片(不同角度、轻微旋转),构建数据集。

       在Mind+中使用目标检测工具中“标注设置”,对目标进行标注。

       一键训练,生成模型文件。

image.png
image.png
image.png
image.png

加载模型到二哈2

       将训练好的模型通过Mind+烧录到二哈2的TF卡或内置存储中。

       确保二哈2的识别模式为“图像分类”,并设置好识别的类别名称(DD、Dd、dd)。

       加载方法请参考:https://mindplus.dfrobot.com.cn/mp2/AITools/Basic_description/model_deployment/model-deployment/#53-2

步骤2 硬件连接与程序编写

       硬件连接

       将二哈2通过4Pin线连接到行空板K10的任意一个I2C接口(注意:K10的I2C引脚通常为20(SDA)、21(SCL),具体请查阅引脚图)。

       给K10接上电源或通过USB供电。

58157bea3544ae126b1230f68220741d_webwxgetmsgimg_&MsgID=7437259173351650155&skey=%40crypt_b90cd10e_8e14b5ce56993a033f1cbc52ae172802.jpg

       程序逻辑设计

       程序主要完成以下功能:

       初始化二哈2传感器,设置识别模式为图像分类。

       定义三个变量:DD计数、Dd计数、dd计数。

       循环检测二哈2的识别结果:

       如果识别到稳定的ID(例如连续两次相同),则根据ID增加对应计数。

       更新屏幕显示:当前识别结果、总次数、各基因型数量(DD: Dd: dd)。

       每隔一定时间(或每次识别后)通过MQTT上传数据到Mind+可视化面板。

screenshot-上传模式1-1775399055249.png

       屏幕显示设计

       在K10的1.69英寸屏幕上规划显示区域:

080ae26363ccd6ba94b59335377c2201_webwxgetmsgimg_&MsgID=7329046295690941583&skey=%40crypt_b90cd10e_8e14b5ce56993a033f1cbc52ae172802.jpg

       数据上传至Mind+可视化面板

       在Mind+数据可视化面板(EasyIoT)中创建一个新项目,获取Topic设备ID

       K10通过Wi-Fi连接网络,使用MQTT协议将数据发送到指定Topic。

       并通过python程序连接MQTT,对数据进行相应处理,并向数据可视化面板(EasyIoT)发送相关显示信息。

屏幕截图 2026-04-05 201245.png

 

代码
#  -*- coding: UTF-8 -*-
#  MindPlus V2
#  python-block
import siot
import math
# 变量
HuoQuXinXi = []
DD = 0
dd = 0
Dd = 0
DD1 = 0
dd1 = 0
Dd1 = 0
# 两数 GCD
def gcd(a, b):
    while b:
        a, b = b, a % b
    return a
# 三数 GCD  
def gcd_three(a, b, c):
    return math.gcd(math.gcd(a, b), c)

# 或使用内置函数(推荐)

# 事件回调函数
def on_message_callback(client, userdata, msg):
    global HuoQuXinXi, DD, dd, Dd
    HuoQuXinXi = msg.payload.decode().split(",")
    DD = (int(float((HuoQuXinXi[0]))))
    dd = (int(float((HuoQuXinXi[1]))))
    Dd = (int(float((HuoQuXinXi[2]))))
    if (not ((dd==0) or ((DD==0) or (Dd==0)))):
        result = math.gcd(math.gcd(DD, dd), Dd)
        DD1=int(DD/result)
        dd1=int(dd/result)
        Dd1=int(Dd/result)
        siot.publish(topic="siot/DD1", data=DD1)
        siot.publish(topic="siot/dd1", data=dd1)
        siot.publish(topic="siot/Dd1", data=Dd1)
    else:
        siot.publish(topic="siot/DD1", data=DD)
        siot.publish(topic="siot/dd1", data=dd)
        siot.publish(topic="siot/Dd1", data=Dd)
# 主程序开始
siot.init(client_id="853484861464124",server="192.168.31.11",port=1883,user="siot",password="dfrobot")
siot.connect()
siot.loop()
siot.set_callback(on_message_callback)
siot.getsubscribe(topic="siot/info")

while True:
	pass

       在可视化面板中添加仪表盘、折线图或柱状图,实时展示各组数据。

屏幕截图 2026-04-05 171131.png

步骤3 双小组联调与数据面板配置

       准备两套相同的硬件,分别烧录程序,设置不同的group ID(1和2)。

       在Mind+数据可视化面板中,创建两个数据源(对应两个小组的Topic),或使用同一个Topic但通过group字段区分。

       添加图表组件,例如:

       实时柱状图:显示两个小组的当前总次数。

       折线图:追踪每个小组的DD、Dd、dd数量变化。

       仪表盘:显示当前各小组的比例偏离理论值的程度。

       教师可在课堂上打开可视化面板,引导学生观察不同小组的数据趋势,讨论样本量对比例的影响。

6989aac731e9eec24e6c45ba243936e0_webwxgetmsgimg_&MsgID=2332724219709028637&skey=%40crypt_b90cd10e_8e14b5ce56993a033f1cbc52ae172802.jpg

步骤4 实验操作流程

       准备:两个盒子分别代表“雄配子”和“雌配子”,每个盒子内放入等量的红色药片和黄色药片(模拟D和d配子比例为1:1)。

       随机取子:学生闭眼从两个盒子中各随机取一枚药片,组合后放在摄像头下的识别区。

       自动识别与统计:二哈2识别组合,K10屏幕立即显示结果并累加。

       记录与讨论:操作50次左右,观察屏幕上的比值是否接近1:2:1;教师引导分析为何实际值与理论值有偏差。

       数据对比:教师展示Mind+可视化面板上两个小组的数据,讨论“总次数越多,比例越接近理论值”的规律。

9ebbb3169a422d7079982995dbf01033_webwxgetmsgimg_&MsgID=4424931685004844812&skey=%40crypt_b90cd10e_8e14b5ce56993a033f1cbc52ae172802.jpg
2840038b891ef3fe83a456b0f3974951_webwxgetmsgimg_&MsgID=6059714994067624046&skey=%40crypt_b90cd10e_8e14b5ce56993a033f1cbc52ae172802.jpg
e8cdfa84ddfb79a2e375311761c28d0e_webwxgetmsgimg_&MsgID=7741460653422975883&skey=%40crypt_b90cd10e_8e14b5ce56993a033f1cbc52ae172802.jpg

【演示视频】

【教学效果】

       学生参与度高:AI自动识别的新颖性激发了学生的兴趣,他们乐于反复操作并观察数据变化。

       数据直观:屏幕上的实时比例和可视化面板的对比,帮助学生深刻理解“大样本”和“随机性”的概念。

       跨学科能力培养:学生在项目中接触了机器学习、物联网、编程等知识,提升了综合素养。

【总结与展望】

       本项目成功将传统生物实验与现代创客技术结合,通过AI图像分类和物联网数据可视化,让孟德尔分离定律的验证过程变得更加高效、直观和有趣。未来还可以拓展:

       多组联动:将更多小组的设备接入同一可视化面板,实现全班数据汇总。

       实验模式切换:增加测交、杂交等不同模式的模拟,通过程序自动调整配子比例。

       语音交互:增加语音提示,增强实验沉浸感。

       远程实验:学生可在家操作设备,数据自动上传,教师远程指导。

希望这个项目能为跨学科教学提供新思路,也期待更多师生能动手尝试,用创客工具点亮生物课堂!

评论

user-avatar
  • easy猿

    easy猿2026.04.12

    这二哈镜头真帅啊,有购买链接吗

    0