这篇文章是关于Arduino借助Mixly IDE软件的一个实验,有兴趣的同学可以看看。有什么错误的还请大家指出,我们一起探讨。由于很多人对于Arduino还不太了解,所以这里先简单介绍一下。
1.Arduino简介
Arduino是一种开源的电子平台,该平台最初主要基于AVR单片机的微控制器和相应的开发软件,目前在国内正受到电子爱好者的广泛关注。
Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反映、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是利用Arduino编程语言(基于Wiring)和(Arduino)开发环境(基于Processing)来实现的。
2.Arduino被设计成一个小型控制器的形式,通过连接到计算机进行控制。Arduino开发过程如下:
(1)开发者设计并连接好电路;
(2)将电路连接到计算机上进行编程;
(3)将编译通过的程序下载到控制板中进行观测;
(4)最后不断修改代码进行调试以达到预期效果。
3.一般Arduino的基本程序结构:
//定义变量于常量子力学(可以省略)
void setup()//每次Arduino上电或重启后,setup()函数只运行一次
{
//初始化变量、设置针脚的输入/输出类型、配置串口、引入类库文件
}
void loop()//通过该函数动态控制Arduino主控板
{
//要执行的语句
}
注意:void只用在函数声明中,表示该函数将不会被返回任何数据到它被调用的函数中。
通过前面对Arduino的初步了解与认识,现在我们来做一个实验,加深一下认知。
实验一 button开关led灯:
1.软硬件环境:
硬件:Arduino、LED
软件:Mixly IDE
2. 需求:当我按键控制led灯开关时,led灯的状态会发生改变。
3. 代码如下:
//类似于C语言
//方法一
volatile boolean flag;
void setup(){
pinMode(10, OUTPUT);
flag = true;
digitalWrite(10,HIGH);
Serial.begin(9600);
pinMode(11, OUTPUT);
}
void loop(){
Serial.println(flag);
while (digitalRead(10) == 1) {
}
if (flag == true) {
digitalWrite(11,HIGH);
flag = !flag;
} else {
digitalWrite(11,LOW);
flag = !flag;
}
delay(500);
}
//方法三
volatile byte LED;
volatile byte SW;
volatile boolean b1;
volatile boolean b2;
volatile byte click;
volatile boolean lastState;
volatile boolean toggle;
void setup(){
pinMode(8, INPUT);
Serial.begin(9600);
pinMode(13, OUTPUT);
LED = 0;
SW = 0;
lastState = 0;
toggle = 0;
click = 0;
b1 = 0;
b2 = 0;
pinMode(8, INPUT_PULLUP);
digitalWrite(13,LOW);
}
void loop(){
Serial.println(digitalRead(8));
while (digitalRead(8) == 0) {
b1 = !digitalRead(8);
delay(20);
if (b1 != lastState) {
b2 = !digitalRead(8);
}
if (b2 == b1) {
lastState = b1;
click = click + 1;
}
if (click == 1) {
toggle = !toggle;
digitalWrite(13,toggle);
}
if (click == 2) {
click = 0;
toggle = !toggle;
digitalWrite(13,toggle);
}
delay(500);
}
}
4.转换成图形化编程的界面图片:

5.github的链接:https://github.com/Hello-ChenLiYan/Test.git
想要再深入的了解,可以接着看我的下一篇博客–实现米思齐的数码管图形化编程,这个也是一个实验。
本文介绍如何借助Arduino和Mixly IDE实现按键控制LED灯。首先简述了Arduino的基本概念和编程流程,然后详细说明了一个简单的实验,通过按键开关控制LED灯的亮灭,并提供了代码示例和图形化编程界面的图片链接。
5239





