基于“人工智能和物联网+”的创新产品设计

陈英、万幸、王倩、李华兵、黄敏、强永军、赵鑫、罗万波、朱里红

目录

  • 1 教学录像
    • 1.1 课程负责人-陈英
    • 1.2 主讲教师-罗万波
    • 1.3 主讲教师-万幸
    • 1.4 主讲教师-王倩
    • 1.5 主讲教师-潘绍飞
  • 2 课程标准与学习指南
    • 2.1 课程标准
    • 2.2 学习指南
  • 3 新技术在创新创业中的应用
    • 3.1 3D打印技术简介
    • 3.2 物联网技术简介
    • 3.3 人工智能技术简介
    • 3.4 智能硬件平台选型
  • 4 TPYBoard快速入门
    • 4.1 TPYBoard连接与下载
    • 4.2 TPYBoard参数和引脚图
    • 4.3 Thonny 开发环境
    • 4.4 TPYBoard 板级功能
    • 4.5 TPYBoard GPIO
    • 4.6 TPYBorad 定时器
  • 5 智能小车设计制作
    • 5.1 智能小车舵机与电机驱动设计
    • 5.2 红外防坠落小车设计制作
    • 5.3 红外寻迹无线小车设计制作
    • 5.4 无线蓝牙智能小车设计制作
    • 5.5 加速度无线小车设计制作
  • 6 智能语音3D小狗的设计与制作
    • 6.1 3D打印技术应用
    • 6.2 智能语音技术
    • 6.3 需求分析与产品开发
    • 6.4 “智能语音3D小狗”产品策划
  • 7 智能心率监测预报仪
    • 7.1 智能心率监测预报仪需求分析与技术需求
    • 7.2 智能心率监测预报仪软硬件开发
    • 7.3 智能心率监测预报仪产品与策划
  • 8 “停车效率专家”- 智能停车系统设计
    • 8.1 智能停车场管理系统组成及产品选型
    • 8.2 智能停车系统硬件通信接口程序设计
    • 8.3 停车智能引导程序设计
    • 8.4 “停车效率专家”产品策划
  • 9 创新产品的创业指导
    • 9.1 创业者和创业者团队
    • 9.2 创业项目计划书编制及演练及展示
    • 9.3 创意产品营销及演练
  • 10 案例
    • 10.1 3D打印技术案例
    • 10.2 物联网技术案例
    • 10.3 人工智能技术案例
    • 10.4 智能汽车竞赛赛车设计与制作案例
    • 10.5 “停车效率专家”- 智能停车系统设计案例
    • 10.6 智能语音3D小狗的设计与制作案例
    • 10.7 智能心率监测预报仪案例
    • 10.8 创业者和创业者团队案例
    • 10.9 创业项目计划书编制及演练及展示案例
    • 10.10 创意产品营销及演练案例
  • 11 实训实习项目
    • 11.1 物联网技术小项目实操-模拟红绿灯
    • 11.2 人工智能技术实训项目
    • 11.3 智能汽车竞赛赛车组装与调试
    • 11.4 智能汽车竞赛赛车程序调试
    • 11.5 智能停车系统硬件通信接口程序设计
    • 11.6 停车智能引导程序设计
    • 11.7 智能语音3D小狗项目实操-3D打印小型纪念品
    • 11.8 智能语音3D小狗项目实操-情感分类问题实战
    • 11.9 智能语音3D小狗项目实操-智能语音3D小狗制作
    • 11.10 智能语音3D小狗项目实操-智能语音小狗产品策划
    • 11.11 智能心率监测预报仪项目实操-硬件选型与3D打印手环
    • 11.12 智能心率监测预报仪项目实操-智能心率监测预报仪软硬件开发
    • 11.13 智能心率监测预报仪项目实操-智能心率监测预报仪产品与策划
    • 11.14 创业案例分析实训项目
    • 11.15 创业团队组建实训项目
    • 11.16 创业计划书编制及仿真模拟实训项目
    • 11.17 创业计划书的方案展示实训项目
    • 11.18 自媒体营销方案设计实训项目
    • 11.19 产品路演及实际推广实训项目
  • 12 习题
    • 12.1 3D打印技术习题
    • 12.2 物联网技术习题
    • 12.3 人工智能技术习题
    • 12.4 智能汽车竞赛赛车设计与制作习题
    • 12.5 “停车效率专家”- 智能停车系统习题
    • 12.6 智能语音3D小狗的设计与制作
    • 12.7 智能心率监测预报仪
    • 12.8 创业者和创业者团队习题
    • 12.9 创业项目计划书编制及演练及展示习题
    • 12.10 创意产品营销及演练习题
  • 13 教案节选
    • 13.1 3D打印技术
    • 13.2 智能停车场管理系统组成及产品选型
    • 13.3 智能心率监测预报仪软硬件开发
    • 13.4 创业者经典案例剖析
红外寻迹无线小车设计制作

红外寻迹无线小车

1. 引言

前面给大家介绍过TPYBoardv102开发板控制加速度无线传感器小车猛戳回忆在此,下面给大家介绍的是TPYBoard开发板制作红外寻迹小车。智能小车现在差不多是电子竞赛或者DIY中的主流了,寻迹,壁障,遥控什么的,相信大家也都见得很多了,这次就大家探讨一下寻迹小车的制作方法,不同于以往的是这次的程序不用C语言写,而是要使用python语言写。

2. 实验目的

研究智能小车结合红外探头寻迹前进。

3. 实验材料

  • TPYBoard v102开发板1块(能跑python语言的开发板,小车的大脑

  • 四路红外感应探头(小车的眼睛)

  • 数据线一根

  • 充电宝一个(给整个系统供电)

  • 智能小车底盘(包括驱动模块)

  • 杜邦线若干

实验目的和实验材料准备齐了,先来介绍一下各个主要部件。

TPYBoard v102开发板

MicroPython是在单片机上可以跑的Python,也就是说,你可以通过Python脚本语言开发单片机程序。由剑桥大学的理论物理学家乔治·达明设计。和Arduino类似,但Micro Python更强大。 MicroPython开发板让你可以通过Python代码轻松控制微控制器的各种外设,比如LED等,读取管脚电压,播放歌曲,和其他设备联网等等。TPYBoardTurnipSmart公司制作的一款MicroPython开发板,这款开发板运行很流畅,关键是价格很便宜。

四路红外感应探头

1、当模块检测到前方障碍物信号时,电路板上红色指示灯点亮,同时OUT端口持续输出低电平信号,该模块检测距离21500px,检测角度35°,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减少。 2、传感器属于红外线反射探测,因此目标的反射率和形状是探测距离的关键。其中黑色探测距离最小,白色最大;小面积物体距离小,大面积距离大。 3传感器模块输出端口OUT可直接与单片机IO口连接即可,也可以直接驱动一个5V继电器模块或者蜂鸣器模块;连接方式:VCC-VCC;GND-GND;OUT-IO 4、比较器采用LM339,工作稳定; 5、可采用3.3V-5V直流电源对模块进行供电。当电源接通时,绿色电源指示灯点亮。

智能小车底盘

双电机驱动,万向轮改变方向。这是实验中最常用到的小车底盘,使用差速的方法进行转弯。配合使用L298N电机驱动模块,使用方法很简单,不多做介绍。

4. 寻迹原理

红外探头的安装

小车寻迹的原理其实就光的吸收,反射和散射。大家都知道,白色反射所有颜色的光,而黑色吸收所有颜色的光,这就为小车寻迹提供了有力的科学依据。在小车的车头上安装上红外探头(我是安装了四个),一字顺序排开。哪个探头接收不到反射或者散射回来的光时,说明这个探头此时正在黑色的寻迹带上。

返回信号的判断

如果要是正前方的探头接收不到光,那么说明小车此时走在黑色的寻迹带上。可以使小车直线行走。如果左面的探头接收不到光,那么说明小车左面出现了黑色寻迹带,此时小车应该执行左转弯。右转弯同左转弯原理。

如果要是小车前面,左面,右面三个方向全都接收不到光,或者是两个方向上的探头都接收不到光,到底是左转弯,右转弯还是继续直行,这个就要看你自己在程序里怎么做判断了。

硬件接线

接线其实很简单四路红外探头接线很简单,虽然有十八根线,但是有十二根是三根三根的分成四组的,对应着很好接线,剩下的六根,VCCGND不多说了,还有四根是直接接到单片结IO口上就可以的。L298N的接线更简单了,这里不多介绍。

上个简单的帮助理解的原理图(其实我们做实验都是插线,不做PCB图和原理图的)。

再上个实物图给大家看看。

5. 运行与调试

制作完成后,剩下的就是该调试了,调试中应该注意细节和小车稳定性的优化。

6. 代码编写

再把我写的程序给大家看一下,有需要的可以看一下。

import pyb

from pyb import UART

from pyb import Pin

M0 = Pin('X1', Pin.IN)

M1 = Pin('X2', Pin.IN)

M2 = Pin('X3', Pin.IN)

M3 = Pin('X4', Pin.IN)

N1 = Pin('Y1', Pin.OUT_PP)

N2 = Pin('Y2', Pin.OUT_PP)

N3 = Pin('Y3', Pin.OUT_PP)

N4 = Pin('Y4', Pin.OUT_PP) 

print('while')

while True:

       print('while')

       pyb.LED(4).off()

       pyb.LED(3).off()

       pyb.LED(2).off()

       if(M0.value()==1):#检测到物体返回0

               pyb.LED(4).on()

               pyb.delay(50)

               N1.low()

               N2.high()

               N3.low()

               N4.high()

               pyb.delay(30)

               #pyb.delay(5000)

       if(M3.value()==1):#检测到物体返回0

                pyb.LED(3).on()

               pyb.delay(50)

               N1.high()

               N2.low()

               N3.high()

               N4.low()

               pyb.delay(30)

       if(M2.value()&M1.value()==1):

               pyb.LED(2).on()

               N1.low()

               N2.high()

               N3.high()

               N4.low()

               pyb.delay(70)