【祖传点灯】安信可Ai-M61-32S+Arduino

[复制链接]
查看999 | 回复15 | 2024-5-7 17:28:48 | 显示全部楼层 |阅读模式
本帖最后由 Francisliu 于 2024-5-7 17:31 编辑

首先十分感谢安信可的这次活动,我也是第一次有幸参加,如有不完善的地方还请大家多多指正!
先来个开箱图。
不得不说安信可这个包装还是比较不错的。
11.jpg 12.jpg

好了步入正轨:
一、安装 Arduino
首先点击链接ArduinoIDE官网下载地址下载Arduino IDE(或者直接在地址档输入https://www.arduino.cc/en/software),并安装。
14.jpg
二、软件配置
1. 依次点击左上角的“文件“-->“首选项”-->“附加开发板管理器网址”后面的小按钮,在出现的窗口内粘贴:https://github.com/bouffalolab/arduino-bouffalo/releases/latest/download/package_bouffalolab_index.json,并确认。我这里用的是1.8.14版本的,只是与最新版界面不同而已,配置步骤是相同的
1.jpg
2.点击左上"工具"-->"开发板:......"-->"开发板管理",在图示所指位置输入BL618,并安装对应的先项。安装过程有点久,需要耐心等待。
2.jpg 3.jpg
4.安装完成后再次点击"工具"-->"开发板:......"-->"BL616/8.............(BouffaloLab)"-->"BL618G0 Board"   进行开发板设置。
6.jpg
5. 将Ai-M61-32S-Kit开发板通过USB连接至电脑(我这里CH340是已装过驱动的,若无驱动,自行百度下载),并点击"工具"-->"端口"根据实际情况选择所对应的端口,第4点及第5点要特别注意,如果选择错误后期下载将会失败。
7.jpg
三、点灯开始
1.本次利用IO2按键进行亮灯控制,第一次长按LED4亮起,三色灯中红,绿,蓝交替,第二次长按LED3亮起,三色灯中红绿蓝各亮二色,组成紫色,青色,黄色交替。第三次长按所有灯熄灭。以上步骤可循环。代码如下:
//const int buttonPin = 2;     // 连接按键的引脚
//int buttonState = 0;         // 存储按键状态的变量
unsigned char count=0;

void setup() {
  pinMode(12, OUTPUT);
  pinMode(14, OUTPUT);
  pinMode(15, OUTPUT);
  pinMode(27, OUTPUT);
  pinMode(29, OUTPUT);
  pinMode(2,INPUT);
}


void loop(){
  //unsigned char buttonState = digitalRead(2);
  if (digitalRead(2) == HIGH) {
      delay(5);   
      if (digitalRead(2) == HIGH) {
        while(digitalRead(2) == HIGH);
      count++;         
      if(count>=3)count = 0;
      if(count==0){
        digitalWrite(27, LOW);
        digitalWrite(29, LOW);
      }  
      else if(count==1){
        digitalWrite(27, HIGH);
        digitalWrite(29, LOW);
      }
       else if(count ==2){
        digitalWrite(27, LOW);
        digitalWrite(29, HIGH);
      }   
    }
  }
  
switch(count){
//关红,绿,蓝
  case 0:
  digitalWrite(12, LOW);
  digitalWrite(14, LOW);
  digitalWrite(15, LOW);
  break;
//开红灯,关绿,蓝
  case 1:
  digitalWrite(12, HIGH);
  digitalWrite(14, LOW);
  digitalWrite(15, LOW);
  delay(250);
//开绿灯,关红,蓝
  digitalWrite(12, LOW);
  digitalWrite(14, HIGH);
  digitalWrite(15, LOW);
  delay(250);
//开蓝灯,关红,绿
  digitalWrite(12, LOW);
  digitalWrite(14, LOW);
  digitalWrite(15, HIGH);
  delay(250);
  break;
//开红,蓝灯,关绿
  case 2:
  digitalWrite(12, HIGH);
  digitalWrite(14, LOW);
  digitalWrite(15, HIGH);
  delay(250);
//开绿,蓝灯,关红
  digitalWrite(12, LOW);
  digitalWrite(14, HIGH);
  digitalWrite(15, HIGH);
  delay(250);
//开红,绿灯,关蓝
  digitalWrite(12, HIGH);
  digitalWrite(14, HIGH);
  digitalWrite(15, LOW);
  delay(250);
  break;
  default:
  break;
}
}

2.烧写固件时点击工具栏上的上传按钮,然后按下Ai-M61-32S-Kit开发板上烧录键(IO2),当下方出现白色字体时说明已编译完成此时按下复位键(EN)并保持1秒后松开,直到出现 橙色字体【All success】 为止再松开IO2。
5.jpg
9.jpg
10.jpg
3.应用的某些端口在烧录后会发现有端口无作用现象,原因为:
C:\Users\用户名\AppData\Local\Arduino15\packages\bouffalolab\hardware\bouffalolab\1.0.5\cores\bl616/wiring_digital.c文件中如12,14,27脚被
作为 adc 使用,需将其修改至 pin_gpio 中,则可正常启用GPIO功能。
8.jpg
四、成果展示
微信图片_20240507171616.jpg 微信图片_20240507172436.jpg 微信图片_20240507172432.jpg 微信图片_20240507172410.jpg 微信图片_20240507171545.jpg 微信图片_20240507172434.jpg 微信图片_20240507172412.jpg















13.jpg
5.jpg
4.jpg
微信图片_20240507172430.jpg
回复

使用道具 举报

Francisliu | 2024-5-7 17:32:35 | 显示全部楼层
回复

使用道具 举报

1084504793 | 2024-5-7 17:41:02 | 显示全部楼层
回复

使用道具 举报

无信之迷茫 | 2024-5-7 19:49:42 | 显示全部楼层
还可以用arduino??!!看来比vs简单多了
回复 支持 反对

使用道具 举报

iiv | 2024-5-7 21:29:36 | 显示全部楼层
五颜六色的灯,哈哈
回复 支持 反对

使用道具 举报

hrqwe | 2024-5-8 00:33:06 | 显示全部楼层
点赞
日拱一卒,功不唐捐
回复

使用道具 举报

WT_0213 | 2024-5-8 08:52:09 | 显示全部楼层
好看呢
回复

使用道具 举报

noonezero | 2024-5-10 11:24:04 | 显示全部楼层
棒棒的
回复

使用道具 举报

wukong50 | 2024-5-10 12:16:34 | 显示全部楼层
恭喜入坑
回复

使用道具 举报

timo | 2024-5-10 13:57:18 | 显示全部楼层
赞一下
回复

使用道具 举报

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

本版积分规则