【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需要的网络环境比较纯净才行,否则容易封号,且账号注册相较于前两者是最难注册的。

相关推荐
沃达德软件2 小时前
智慧警务图像融合大数据
大数据·图像处理·人工智能·目标检测·计算机视觉·目标跟踪
QxQ么么3 小时前
移远通信(桂林)26校招-助理AI算法工程师-面试纪录
人工智能·python·算法·面试
愤怒的可乐3 小时前
从零构建大模型智能体:统一消息格式,快速接入大语言模型
人工智能·语言模型·自然语言处理
每天一个java小知识5 小时前
AI Agent
人工智能
猫头虎5 小时前
如何解决 pip install 编译报错 fatal error: hdf5.h: No such file or directory(h5py)问题
人工智能·python·pycharm·开源·beautifulsoup·ai编程·pip
龙赤子5 小时前
人工智能AI的大框架
人工智能
比奥利奥还傲.5 小时前
本地+AI+大模型自由用!Cherry+Studio打破局域网限制
人工智能
雪碧聊技术5 小时前
深度学习、机器学习、人工智能三者的关系
人工智能·深度学习·机器学习
β添砖java5 小时前
机器学习初级
人工智能·机器学习
陈奕昆5 小时前
n8n实战营Day3:电商订单全流程自动化·需求分析与流程拆解
大数据·开发语言·人工智能·自动化·需求分析·n8n