【教程贴-新手向】搭建基于AI-M61-32s-kit 的Arduino环境

[复制链接]
查看4602 | 回复27 | 2023-11-24 16:46:43 | 显示全部楼层 |阅读模式
本帖最后由 WangChong 于 2023-11-24 17:14 编辑

简介

Arduino 是一个开源嵌入式硬件平台,用来供使用者制作可交互式的嵌入式项目。而ArduinoIDE提供了大量的现成库函数供用户搜索使用,通过使用这些库函数开发者可以快速的验证MCU的外设资源以及对应通讯协议的外设。而这边教程的主要目的是让一个即使从来没有使用过Arduino IDE的新手也能快速上手Arduino以及快速的学习Arduino API的使用。而安信可AI-M61-32s-kit 也提供了对Arduino的适配,接下来我将会分几个步骤来从零搭建基于AI-M61-32s-kitArduino 开发环境。保证让新手有手就能学会,学不会你来砍我!



Arduino安装部署


  • 下载Arduino

    我们可以通过上述的链接直接访问Arduino IDE的下载界面
    下载页面.png
    上述一共有三种安装方式,第一种是使用.exe文件的方式进行安装。第二种是使用.MSI的方式进行安装。而第三种则是下载了一个压缩包。
    在此教程中我们使用第一种exe的方式进行下载。

    点击后,页面将会询问是是否要捐献美金给Arduino,这里点击 Just downLoad(如下图所示)
    360截图17571120494880.png

    下一页将会询问你是否想要使用邮件来订阅Arduino的一些消息(建议不要订阅)如果你订阅的话则输入你的邮件,并且点击 Subscript && Download(订阅并且下载)。我这里点击的是Just download
    360截图17180823214014.png

  • 安装Arduino

    打开下载后的Arduino IDE,同意许可协议。
    360截图18720118539993.png

    选择为所有人安装或者为自己安装(我这里选择的为自己安装)
    360截图18720115585399.png

    点击下一步,然后选择安装目录点击安装
    360截图1797021896117130.png

    等待ArduinoIDE 安装完成
    360截图1757112283115118.png
  • 配置ArduinoIDE使其可以识别AI-m61-32s-kit为Arduino设备

    打开
    ArduinoIDE,在界面左上角依次选择 文件 >> 首选项
    Snipaste_2023-11-24_15-39-23.png

    首选项其他开发板管理地址处输入下述地址并且点击确认
    1. https://github.com/bouffalolab/arduino-bouffalo/releases/latest/download/package_bouffalolab_index.json
    复制代码

    额外附加上BL618的官方Arduino Github 仓库地址
    360截图1786060781124107.png

    点击左侧的开发板管理器,并且搜索BL618进行安装
    360截图17860608425478.png

    由于网络访问限制,这个过程可能会花费一些时间。下面的是安装成功BL618的界面显示
    360截图1672040493111107.png

    连接配置AI-M61-32S-kit到ArduinoIDE

    1- 首先打开电脑的电脑的设备管理器,具体打开步骤为:
         鼠标右键我的电脑,选择 设备管理器

    2- 在设备管理器界面找到端口,并且打开
    360截图17860607408366.png

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

    4- 在Arduino的主界面选中M61-32S的端口
    360截图17630330235572.png

    5-搜索并且选中BL618G0 Board. 配置完成界面如下图所示
    360截图17180819807194.png

    使用M61-32S点亮LED(BLINK)

    那么,如何来使用Arduino functions 来点亮M61-开发板上的LED呢? 首先我们需要查看M61的原理图,对应的LED灯的端口

    360截图17720227614457.png
    根据原理图得知 Rad LED 灯位于IO12,BLUE位于IO15, Green位于IO14。 并且LED是共阴LED(GND连接在一起)。那么我们只需要给对应LED PIN一个高电平即可点亮对应的LED。



       查看Arduion 官方方法API关于如何操作IO ,而这里我们需要使用的是digitawrite的API
    360截图168004166472106.png
   
  
  配置及其详细的方法描述如下。
      
360截图17651201201738.png
  所以我们得知如果想点亮一个LED首先需要设置pinMode输出模式,其次只需要调用digitalwrite方法往对应的PIn写入High 或者low.即可控制LED的开关.

  那么既然我们想看到一个LED闪烁的效果,还需要一个适当的延时,使其LED闪烁的频率可以被人眼察觉。
  我们可以在Arduino API 的TIme模块下找到一个 叫Delay的函数。 这个函数的主要作用是使其当前的程序暂停指定的毫秒。
  

  核心代码如下:
   
  1. void setup() {

  2.   //初始化IO15作为输出模式
  3.    pinMode(15, OUTPUT);
  4. }

  5. void loop() {
  6.   //开启蓝色LED
  7.   digitalWrite(15, HIGH);
  8.   //休眠1秒
  9.   delay(1000);
  10.   //关闭蓝色LED
  11.   digitalWrite(15, LOW);
  12.   //休眠一秒
  13.   delay(1000);
  14. }
复制代码

   编译,上传以及烧录:
   在ArduinoIDe的主界面点击下述按钮即可使编译代码,在编译的过程中需要先使M61-32s开发板进入烧录模式。
   具体的操作步骤是:
   1- 点击上传按钮
   2- 按下开发板的Brun按键再按下Rest按键,保持一秒左右
   3- 松开即可握手成功。并且进行烧录 
    360截图17571120436889.png
实验现象:
  蓝色LED灯间隔一秒进行闪烁.

微信图片_20231124164430.jpg
Troubles shooting:
注意,截至发稿日期。在不修改Arduino库代码的情况下只能点亮RGB中的蓝灯。
原因是因为PIN12 和 PIN14被定义为了ADC
可以参考以下帖子进行解决:
点亮绿色和红色LED图示:
微信图片_20231124171406.jpg 微信图片_20231124171302.jpg


360截图17860601344678.png
回复

使用道具 举报

爱笑 | 2023-11-24 17:07:08 | 显示全部楼层
加精了王哥
用心做好保姆工作
回复 支持 反对

使用道具 举报

码录编 | 2023-11-24 17:57:01 | 显示全部楼层
感谢王哥
回复

使用道具 举报

干簧管 | 2023-11-24 19:30:27 | 显示全部楼层
顶王哥
回复

使用道具 举报

干簧管 | 2023-11-25 07:41:47 | 显示全部楼层
回复

使用道具 举报

WT_0213 | 2023-11-25 12:28:36 | 显示全部楼层
感谢分享
回复

使用道具 举报

WT_0213 | 2023-11-27 08:29:01 | 显示全部楼层
非常棒
回复

使用道具 举报

bzhou830 | 2023-11-27 09:05:16 | 显示全部楼层
打卡
选择去发光,而不是被照亮
回复

使用道具 举报

业余菜狗 | 2023-11-27 20:24:02 | 显示全部楼层
咋没联动我呢
回复 支持 反对

使用道具 举报

sunyuanze | 2023-11-28 18:18:28 | 显示全部楼层
学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则