
基于Ai8051U的AI手写计算器
简介
本设计是基于 Ai8051U 单片机设计,实现了实时的手写数字识别和计算功能。
简介:本设计是基于 Ai8051U 单片机设计,实现了实时的手写数字识别和计算功能。开源协议
:GPL 3.0
描述
效果展示
项目简介
本设计是基于Ai8051U单片机设计,实现了实时的手写数字识别和计算功能。
首先,收集了手写数字数据集并构建了类似于 LeNet 的卷积神经网络模型。
然后,通过 TensorFlow 进行训练,并对模型进行了微调以提高准确度,量化以减小体积和提高推理速度。
最后,使用 TinyMaix 将优化后的模型部署到 Ai8051U 上,实现数字识别。
输入方面,使用单片机内置的 ADC 读取电阻触摸屏原始信号,经过滤波,校准,提高准确性,最终实现对触摸笔的定位。
输出方面,使用 SPI 接口驱动 2.4寸 LCD 屏,应用 DMA 技术加快屏幕刷新速度。
硬件说明
4线电阻屏
电阻屏原理参考 北京交通大学这篇文章 http://cc.bjtu.edu.cn:81/meol/analytics/resPdfShow.do?resId=336107
一般来说,读取电阻屏需要一个高精度的外置ad芯片,常见的是XPT2046,然而Ai8051U内置的adc足以满足一般触摸屏的精度,本项目直接使用内置adc读取触摸屏。
Boot
Ai8051U 内置usb外设,可直接使用usb下载程序。注意选择IRC频率40M。
焊接完成后,先插好usb,之后按住boot按钮不松手,短接一下电源控制触点,即可进入usb下载模式。

只要下载了这个项目的程序,勾选isp工具的 每次下载前都先发送自定义命令 ,即可实现自动下载。

我的固件同时内置了两种进入下载模式的方法:
- 短按boot按钮,进入下载模式。
- 拔掉usb,按住boot,插入电脑,这样也会进入下载模式。
- 再不行,就是能用第一步的方法进行下载。
软件代码
https://github.com/liux-pro/Ai-Arithmetic
不方便访问github可从stc官方论坛下载:
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=11901
项目所用神经网络入门
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=11977
注意事项
触摸屏购买链接:https://item.taobao.com/item.htm?id=748318527653&skuId=5328108082715
tupe-c 固定引脚焊接时,应保证背面无突起,否则屏幕难以固定。
实物图


参考资料
https://github.com/sipeed/TinyMaix
https://www.ccom.ucsd.edu/~cdeotte/programs/MNIST.html
https://www.kaggle.com/cdeotte/mnist-neural-network-coded-in-c-0-985
https://www.kaggle.com/cdeotte/25-million-images-0-99757-mnist
https://github.com/YoujiaZhang/MNIST-Calculator-Handwriting-recognition/
https://www.cnblogs.com/yuphone/archive/2010/11/28/1890239.html
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。







![[精品毕设]分布式设备的物联网控制系统设计|星火计划](http://image.lceda.cn/pullimage/cEBnmqeIIiBzBJIfQEj82mgxXZoi3X7MC0W69LV2.jpeg?x-oss-process=image/resize,w_122,h_85,m_lfit/format,webp)

