由 WangChong 贡献,Ai-Thinker 进行整理
简介
Arduino 是一个开源嵌入式硬件平台,用来供使用者制作可交互式的嵌入式项目。而ArduinoIDE提供了大量的现成库函数供用户搜索使用,通过使用这些库函数开发者可以快速的验证MCU的外设资源以及对应通讯协议的外设。而这边教程的主要目的是让一个即使从来没有使用过Arduino IDE的新手也能快速上手Arduino以及快速的学习Arduino API的使用。而安信可Ai-M61-32s-kit 也提供了对Arduino的适配,接下来我将会分几个步骤来从零搭建基于Ai-M61-32s-kit的Arduino 开发环境。保证让新手有手就能学会,学不会你来砍我!
Arduino安装部署
操作步骤
我们可以通过上述链接直接访问 Arduino IDE 的下载界面。
上述一共有三种安装方式:第一种使用 .exe 文件安装,第二种使用 .MSI 安装,第三种是下载压缩包。本教程使用第一种 exe 方式。
点击后页面会询问是否捐款给 Arduino,这里点击 Just download(如下图所示)。
下一页会询问是否用邮件订阅 Arduino 消息(建议不订阅)。如果订阅则输入邮箱并点击 Subscribe && Download;我这里点击的是 Just download。

打开下载后的 Arduino IDE,同意许可协议。
选择为所有人安装或仅为自己安装(我这里选择为自己安装)。
点击下一步,选择安装目录,点击安装。
等待 Arduino IDE 安装完成。

打开 Arduino IDE,在左上角依次选择 文件 >> 首选项。
在首选项的其他开发板管理地址处输入以下地址并点击确认:
额外附上 BL618 官方 Arduino GitHub 仓库地址。
点击左侧开发板管理器,搜索 BL618 并安装。
受网络访问限制,这个过程可能耗时较长。下图是 BL618 安装成功的界面。

连接配置AI-M61-32S-kit到ArduinoIDE
操作步骤(续)
首先打开电脑的电脑的设备管理器,具体打开步骤为: 鼠标右键我的电脑,选择 设备管理器
在设备管理器界面找到端口,并且打开

将AI-m61-32s-kit连接电脑,并且观察端口变化。此时端口24即为M61-32S的通信端口

在Arduino的主界面选中M61-32S的端口

搜索并且选中BL618G0 Board. 配置完成界面如下图所示

使用M61-32S点亮LED(BLINK) 那么,如何来使用Arduino functions 来点亮M61-开发板上的LED呢? 首先我们需要查看M61的原理图,对应的LED灯的端口
根据原理图得知 Rad LED 灯位于IO12,BLUE位于IO15, Green位于IO14。 并且LED是共阴LED(GND连接在一起)。那么我们只需要给对应LED PIN一个高电平即可点亮对应的LED。
查看Arduion 官方方法[API](https://www.arduino.cc/reference/en/)关于如何操作IO ,而这里我们需要使用的是**digitawrite**的API

配置及其详细的方法描述如下。
所以我们得知如果想点亮一个LED首先需要设置pinMode为输出模式,其次只需要调用digitalwrite方法往对应的PIn写入High或者low.即可控制LED的开关.
那么既然我们想看到一个LED闪烁的效果,还需要一个适当的延时,使其LED闪烁的频率可以被人眼察觉。 我们可以在Arduino API 的TIme模块下找到一个 叫Delay的函数。 这个函数的主要作用是使其当前的程序暂停指定的毫秒。
核心代码如下:
核心代码如下:
void setup() {
//初始化IO15作为输出模式
pinMode(15, OUTPUT);
}
void loop() {
//开启蓝色LED
digitalWrite(15, HIGH);
//休眠1秒
delay(1000);
//关闭蓝色LED
digitalWrite(15, LOW);
//休眠一秒
delay(1000);
}编译,上传以及烧录: 在ArduinoIDE的主界面点击下述按钮即可使编译代码,在编译的过程中需要先使M61-32s开发板进入烧录模式。 具体的操作步骤是:
操作步骤(续)
点击上传按钮
按下开发板的Brun按键再按下Rest按键,保持一秒左右
松开即可握手成功。并且进行烧录

实验现象: 蓝色LED灯间隔一秒进行闪烁.
Troubles shooting:
注意,截至发稿日期。在不修改Arduino库代码的情况下只能点亮RGB中的蓝灯。
原因是因为PIN12 和 PIN14被定义为了ADC
可以参考以下帖子进行解决:
问题解决之arduino无法点亮Ai-M61-32S开发板的RGB灯
点亮绿色和红色LED图示:

遇到问题?
如有其他问题,请到统一的提问与讨论区:Ai-Thinker Discussions

