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

简介: 【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. ……

最终效果

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

#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,并且包含按键消抖功能。

#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月前
|
人工智能 IDE 测试技术
一文教会你如何用好通义灵码,让这款 AI 编码工具帮你做更多工作,更高效
如何用好通义灵码?欢迎收藏最佳使用指南。本文提供通义灵码使用指南,涵盖快捷键、配置调整、跨文件索引及上下文管理等内容,帮助用户更高效地使用通义灵码。
|
14天前
|
人工智能 算法 前端开发
首个 AI 编程认证课程上线!阿里云 AI Clouder 认证:基于通义灵码实现高效 AI 编码
为了帮助企业和开发者更好使用通义灵码,阿里云上线了“AI Clouder 认证课程--基于通义灵码实现高效 AI 编码”。本课程汇聚了后端、前端、算法领域 5 名实战派专家,带你体验 4 大研发场景实践,上手 3 大实操演练,深度掌握智能编码助手通义灵码,实现全栈 AI 编码技能跃升。
|
11天前
|
人工智能 算法 前端开发
首个 AI 编程认证课程上线!阿里云 AI Clouder 认证:基于通义灵码实现高效 AI 编码
为了帮助企业和开发者更好使用通义灵码,阿里云上线了“AI Clouder 认证课程--基于通义灵码实现高效 AI 编码”。本课程汇聚了后端、前端、算法领域 5 名实战派专家,带你体验 4 大研发场景实践,上手 3 大实操演练,深度掌握智能编码助手通义灵码,实现全栈 AI 编码技能跃升。
|
1月前
|
消息中间件 人工智能 运维
|
14天前
|
机器学习/深度学习 人工智能
【AI大模型】深入Transformer架构:编码器部分的实现与解析(下)
【AI大模型】深入Transformer架构:编码器部分的实现与解析(下)
|
2月前
|
人工智能 自然语言处理 开发者
通义灵码助力开学第一课!百万开发者首选的 AI 编码工具通义灵码是如何炼成的?
我们非常高兴的宣布,通义灵码插件下载量突破400万啦!
1457 1
通义灵码助力开学第一课!百万开发者首选的 AI 编码工具通义灵码是如何炼成的?
|
1月前
|
人工智能 自然语言处理 前端开发
奖项再+1!通义灵码智能编码助手通过可信 AI 智能编码工具评估,获当前最高等级
奖项再+1!通义灵码智能编码助手通过可信 AI 智能编码工具评估,获当前最高等级。
|
2月前
|
IDE 测试技术 开发工具
用好通义灵码,让这款 AI 编码助手帮你做更多工作
通义灵码提供了一系列快捷键和配置选项以增强开发体验。
|
2月前
|
人工智能 开发者 芯片
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
使用AI大语言模型编写 单片机程序. 使用的是 OpenAI公司发布的 ChatGPT .在ChatGPT上有别人训练好的 单片机工程师 with Keil uVision 5 - C Code Explainer模型, 可以上传电路图改模型可以通过这个用户所给的电路图进行编程.
144 0
【51单片机】单片机开发者的福音: 让AI看电路图帮你编写程序(使用ChatGPT 中训练好的单片机工程师模型)
|
3月前
|
人工智能 JavaScript 搜索推荐
2024 中国开发者调查报告出炉:通义灵码是开发者最常用的 AI 编码辅助工具
2024 中国开发者调查报告出炉:通义灵码是开发者最常用的 AI 编码辅助工具
418 10