首先很感谢安信可发放的板子(这也是我第一次申请板子)。
因为最近在忙着其他的比赛,收到板子第一时间,还没开始做。最近看了论坛上的帖子,看到这个板子可以用arduino开发,于是就想先用arduino简单的点个灯。
环境和例程我是参照了这位大佬的帖子 https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=44761
由于这个大佬的帖子说的很清楚。所以我就浅浅的总结一下。
1.第一步先安装arduino ide
2.安装完成后下载BL618板库(这一步如果直接在arduino里下载的话可能会下载失败,需要科学上网,或者下载离线包然后放到指定路径下)
3.下载好板库之后会出现一个问题,三色灯的三个gpio_pin分别是12,14,15但是有两个被定义成立adc的通道,需要我们打开板库的库文件,修改之后将其定义成普通gpio口,用来操作。这一步大佬的帖子上说的也很清楚。
4,最后按照arduino的编程思路写一个点灯代码即可
//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;
}
}
以下是这个代码的效果
arduino点灯还是比较简单的,后面我打算用vscode来写。
再次感谢安可信,以及园长大大。
|