【51单片机】让AI识别电路图,帮你进行编码(以51单片机为例)

让AI识别电路图,帮你进行编码(以51单片机为例)

​ 这里使用的AI大模型使用的是 Copilot。(两个前提:1. 科学上网、2. 有微软账号)

今天测试了一下Copilot识别图片的能力,能力还是可圈可点的。

首先准备一张电路图

注意以下两点:

  1. 图片不能太大

​ 太大上传不了,尽量不大于1MB

  1. 图片不能太模糊

    ​ 不要使用截图保存的方式把电路图放在本地,请使用PDF导出图片的方式。注意导出的时候选择合适清晰度 的导出,满足第一点的同时还要满足你放大后你用肉眼能识别每个引脚的标号

至少像这张图一样的清晰度,下面这张图上传CSDN可能会被吃像素,真正的清晰度请点击链接查看

上传电路图

点击这个按钮就可以.

上传电路图后,追加一些信息。以及你的目的。

提问方式

  1. 简要介绍一下你的这张图片是什么。
  2. 你要让AI做什么(你的目的)
  3. 向AI介绍你的环境,以及约束条件。例如你使用的是Keil(环境),使用C语言编写程序(约束条件)
  4. 功能点1......
  5. 功能点2......
  6. ......

最终效果

​ 因为它有联系上下文对话的能力,所以一开始我是先让看图,然后问一下比较简单的问题。然后我让他完成了流水灯的功能,这是他给出的程序.

c 复制代码
#include <reg52.h>  // 包含8051单片机的寄存器定义

void delay(unsigned int time);  // 延时函数声明

void main() {
    unsigned char i;
    while (1) {
        for (i = 0; i < 8; i++) {
            P2 = ~(0x01 << i);  // 依次点亮P2口的LED
            delay(50000);  // 调用延时函数
        }
    }
}

void delay(unsigned int time) {
    unsigned int i, j;
    for (i = 0; i < time; i++)
        for (j = 0; j < 100; j++);
}

我具体没有去运行,参照电路图,再看看程序应该没有什么问题,身边有开发板的同学帮我测试一下~

这是我让他实现的第二个功能: 在按下独立按键K1时,数码管的第一位显示1;按下K2时,显示2,并且包含按键消抖功能。

c 复制代码
#include <reg52.h>  // 包含8051单片机的寄存器定义

sbit K1 = P3^0;  // 定义K1按键连接在P3.0
sbit K2 = P3^1;  // 定义K2按键连接在P3.1
sbit SEG_A = P2^0;  // 数码管段选引脚
sbit SEG_B = P2^1;
sbit SEG_C = P2^2;
sbit SEG_D = P2^3;
sbit SEG_E = P2^4;
sbit SEG_F = P2^5;
sbit SEG_G = P2^6;
sbit SEG_DP = P2^7;  // 数码管小数点引脚

void delay(unsigned int time);  // 延时函数声明
void displayDigit(unsigned char digit);  // 数码管显示函数声明
unsigned char debounceKey(sbit key);  // 按键消抖函数声明

void main() {
    while (1) {
        if (debounceKey(K1) == 0) {  // 如果按下K1
            displayDigit(1);  // 显示数字1
        } else if (debounceKey(K2) == 0) {  // 如果按下K2
            displayDigit(2);  // 显示数字2
        }
    }
}

void delay(unsigned int time) {
    unsigned int i, j;
    for (i = 0; i < time; i++)
        for (j = 0; j < 120; j++);
}

void displayDigit(unsigned char digit) {
    switch (digit) {
        case 1:
            P2 = 0xF9;  // 数码管显示1的段码
            break;
        case 2:
            P2 = 0xA4;  // 数码管显示2的段码
            break;
        default:
            P2 = 0xFF;  // 关闭数码管
            break;
    }
}

unsigned char debounceKey(sbit key) {
    if (key == 0) {  // 检测按键是否按下
        delay(20);  // 延时20ms进行消抖
        if (key == 0) {  // 再次检测按键是否按下
            while (key == 0);  // 等待按键释放
            return 0;  // 按键按下
        }
    }
    return 1;  // 按键未按下
}

基本上思路就是这样, 通过ai我们可以节省大量的时间.

​ 其实不只是Copilot,ChatGPT-4o和Claude也可上传图片,甚至是pdf,表格之类的文档,输入的功能更加强大,只不过各有各的优缺点。

比如,ChatGPT-4o的使用有限制,Claude需要的网络环境比较纯净才行,否则容易封号,且账号注册相较于前两者是最难注册的。

相关推荐
gogoMark4 小时前
口播视频怎么剪!利用AI提高口播视频剪辑效率并增强”网感”
人工智能·音视频
2201_754918414 小时前
OpenCV 特征检测全面解析与实战应用
人工智能·opencv·计算机视觉
love530love5 小时前
Windows避坑部署CosyVoice多语言大语言模型
人工智能·windows·python·语言模型·自然语言处理·pycharm
985小水博一枚呀6 小时前
【AI大模型学习路线】第二阶段之RAG基础与架构——第七章(【项目实战】基于RAG的PDF文档助手)技术方案与架构设计?
人工智能·学习·语言模型·架构·大模型
白熊1886 小时前
【图像生成大模型】Wan2.1:下一代开源大规模视频生成模型
人工智能·计算机视觉·开源·文生图·音视频
weixin_514548896 小时前
一种开源的高斯泼溅实现库——gsplat: An Open-Source Library for Gaussian Splatting
人工智能·计算机视觉·3d
广药门徒6 小时前
STM32简易计算机设计
stm32·单片机·嵌入式硬件
四口鲸鱼爱吃盐6 小时前
BMVC2023 | 多样化高层特征以提升对抗迁移性
人工智能·深度学习·cnn·vit·对抗攻击·迁移攻击
Echo``7 小时前
3:OpenCV—视频播放
图像处理·人工智能·opencv·算法·机器学习·视觉检测·音视频
Douglassssssss7 小时前
【深度学习】使用块的网络(VGG)
网络·人工智能·深度学习