前言:Maixduino是一块同时内置k210芯片和esp32芯片的开发板,正因为其本身有esp32芯片,所以在完成人工智能相关算法的同时,还能像UNO一样外接传感器使用,当然,他的引脚设置本身就是仿照UNO的,所以可以非常方便地跟UNO一样使用传感器或则扩展版。
开始使用之前,强烈建议大家配一条屏幕延长线,因为lcd屏幕的排线实在是非常容易断,另外建议配一块带传感器的扩展板,这样可以免去接线的烦恼,专心学习人工智能。(事实上利用Maixduino编写人工智能相关程序的时候,传感器的使用并不多,所以没必要被接线浪费时间)
我们今天的案例是按钮拍照,设计两个主要功能:一是按钮的使用,二是拍照,这里我们先通过一个案例了解按钮的使用(其他基础东西不解释了,相关大神的帖子非常多,不重复写了)
这是一个典型的按钮控制灯程序,而且大家会发现跟在UNO中的程序特别像,甚至可以说一样了,这个一是因为在esp32中控制传感器与UNo是类似的,二是因为在mind+中使用数字类传感器(包括输入和输出)都不需要初始化(仅限图形化编程,另外模拟信号类传感器需要初始化),我们来看看效果(gif图片太小无法上传,图见附件1)
接下来,我们把灯换掉,换成拍照。所谓拍照,原理很简单,屏幕显示摄像头拍到的画面,再把屏幕上的图像保存下来放到SD卡,就等于把摄像头的画面“拍”下来了,且这个过程本身不需要按钮操作,但是有按钮拍照的时间才可控,毕竟拍照是我想拍才拍的,而不是一通电就拼命拍。
这里要说一下的是,保存图像(粉色积木)需要先在扩展添加“机器视觉”,才能使用(当然很多大神的帖子也有提到)。
这个程序有什么问题呢?对的,这个程序只能拍一张照片,当我重复按下按钮的时候,前面的照片就被覆盖了,到最后我永远只能得到一张照片。当然你可以每拍一张就把SD卡抽出来一次,然后拿读卡器把照片改名保存,但是得多麻烦呀。能不能改进一下呢?
我们引入了一个变量“k",来控制照片的数量,同时通过这个”k“把所拍到的照片进行序列化命名,改变k的值,我们就可以得到指定数量的照片了。这个拍照和命名的思路,在人工智能算法或者模型训练过程中非常有用。程序中设定的k值是5,我们就可以得到”1k.jpg“—”5k.jpg“共5张照片了。效果见附件2。
最后,命名中加入字母而不是纯数字,你知道有什么好处吗?留给你思考了。
陈慕2022.03.29
你好,请问我按照步骤弄了,LCD屏只实时显示图像,也没有文字提示,不能拍照,还望大佬解答为谢
豆爸2021.10.19
延长线要咋买?
xujh2021.10.26
淘宝,一搜一大堆,不过别买错,要对应