图像
Taisuke Kodama
Taisuke Kodama
Staff Application Engineer
已发布: 2023年10月31日

在这篇博客中,我将介绍如何使用Chat-GPT和与Arduino兼容的RL78板进行AI编程,以及其实际应用示例。

背景知识

什么是Chat-GPT?

Chat-GPT是由OpenAI开发的AI工具,它可以基于预先训练的文本信息理解用户输入的文本或问题,并产生答案。但是,它并不总是生成准确的内容,所以用户在使用时需要注意这一点。

什么是Arduino?

Arduino是一个用于轻松进行电子项目的开源平台。它由一个配备有微控制器的板(Arduino板)和一个软件开发环境(Arduino IDE)组成。截止到2023年9月,使用Arduino IDE,可以为以下板开发RL78产品的软件。

  • RL78/G24快速原型設計板
  • RL78/G23-64p快速原型設計板
  • RL78/G22快速原型設計板
  • RL78/G16快速原型設計板
  • RL78/G15快速原型設計板

支持的板卡信息:
Home · renesas/Arduino Wiki · GitHub

实际尝试AI编程

为了这次展示,我使用了RL78/G23-64p快速原型設計板来生成一个使用Chat-GPT使LED闪烁的程序。我会从第一步到第五步解释实际的操作过程。

步骤1. 环境设置

准备RL78/G23-64p快速原型設計板(RL78/G23-64p FPB)。使用Micro USB Type-B电缆将板连接到您的PC。

图像
RL78/G23-64p Fast Prototyping Board (RL78/G23-64p FPB)

在您的PC上安装Arduino IDE。安装完成后,从板管理器中安装RL78/G23-64p FPB的包。

安装指南:
Quick Start Guide · renesas/Arduino Wiki · GitHub

步骤2. 向Chat-GPT输入电路信息

对于我们要创建的程序,我们将使用板载LED(用户LED)。

图像

参考下面的链接中的信息,将LED引脚信息和控制信号信息输入到Chat-GPT。

引脚信息参考:
RL78G23 64pin Fast Prototyping Board · renesas/Arduino Wiki · GitHub

 
输入提示的例子:
Arduino板规格:
该板特有两个LEDs(LED1,LED2)。
LEDs通过电阻上拉,并且阴极侧连接到引脚
名称 引脚 备注
LED1 16 -
LED2 15 -
 

步骤3. 向Chat-GPT输入编码规范

我请求Chat-GPT编写一个程序,使LED1和LED2每秒闪烁一次。

 
输入提示的例子:
软件规格:
LED1和LED2应该每秒切换开和关。
LED1的初始状态是开灯,而LED2的初始状态是关灯。
 

步骤4. 执行Chat-GPT输出的程序

在Arduino IDE中创建一个新的草图,复制并粘贴Chat-GPT输出的程序,然后运行验证和上传。

关于Arduino IDE的详细操作和执行程序,请参考:
Quick Start Guide · renesas/Arduino Wiki · GitHub
Home · renesas/Arduino Wiki · GitHub

步骤5. 验证和修订

这次,程序在gpt-3.5和gpt-4中都按预期输出了。如果程序没有按预期运行,请请求Chat-GPT修订。这时,请努力输入简洁明了的信息。此外,gpt-4比gpt-3.5更有可能产生预期的结果。

图像

结论

尽管这次的主题很简单,但我成功地使用Chat-GPT生成了目标代码。我希望在未来挑战更高级的主题。对于那些感兴趣的人,为什么不尝试自己进行AI编程呢?

附录

 
向Chat-GPT输入的完整提示文本:
Arduino程序创建请求

Arduino板规格:
该板特有两个LEDs(LED1,LED2)。
LEDs通过电阻上拉,并且阴极侧连接到引脚

名称 引脚 备注
LED1 16 -
LED2 15 

软件规格:
LED1和LED2应该每秒切换开和关
LED1的初始状态是开灯,而LED2的初始状态是关灯。
 

关于ChatGPT生成的代码的一般警告:
在使用生成的代码之前,建议进行某些筛选过程,因为这些代码可能侵犯第三方的知识产权或包含恶意软件片段,以及导致其他不希望的结果。