简单认识arduino

arduino的开发语言是 C++,恰好我刚学习完c++,所以学习arduino不仅仅可以扩展我的兴趣,还可以练习c++的熟练程度。

首先进入IDE中,映入眼帘两个函数 setup(),loop()

void setup() {
  // put your setup code here, to run once:
  
}

void loop() {
  // put your main code here, to run repeatedly:

}
  • setup 当Arduino板起动时setup()函数会被调用。用它来初始化变量,引脚模式,开始使用某个库,等等。该函数在Arduino板的每次上电和复位时只运行一次。
  • loop 在创建setup函数,该函数初始化和设置初始值,loop()函数所做事的正如其名,连续循环,允许你的程序改变状态和响应事件。

小试牛刀 点亮arduino上的LED灯

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

delay(ms)

该函数可用于暂停程序运行。暂停时间可以由delay()函数的参数进行控制,单位是毫秒,ms参数为 unsigned long型数据

补充 delayMicroseconds()和delay()一个用法 ,只不过单位是 微秒(1毫秒=1000微秒)。

pinMode(LED_BUILTIN, OUTPUT)

通过pinMode()函数,你可以将Arduino的引脚配置为以下三种模式:

  • 输出(OUTPUT)模式
  • 输入(INPUT)模式
  • 输入上拉(INPUT_PULLUP)模式 (仅支持Arduino 1.0.1以后版本)
输出模式

当引脚设置为输出(OUTPUT)模式时,引脚为低阻抗状态。这意味着Arduino可以向其它电路元器件提供电流。也就是说,Arduino引脚在输出(OUTPUT)模式下可以点亮LED或者驱动电机(如果被驱动的电机需要超过40mA的电流,Arduino将需要三极管或其它辅助元件来驱动他们。)

注意:Arduino引脚不能直接接地或直接与Arduino+5V/+3.3V引脚相连,否则可能损坏Arduino控制器。Arduino需要配合使用上拉电阻或者下拉电阻方能进行上述操作。

输入模式

当引脚设置为输入(INPUT)模式时,引脚为高阻抗状态(100兆欧)。此时该引脚可用于读取传感器信号或开关信号。

LED_BUILTIN

LED_BUILTIN是一个宏定义, #define LED_BUILTIN 13

digitalWrite()

执行此函数必须,先初始化对应的引脚,如果没有初始化,那么本语句没有作用
将数字引脚写HIGH(高电平)或LOW(低电平)

万物基于电灯

GND引脚 接地,就是电压0参考点。

image-20210203215047395

普通的LED要正常工作,那么必须LED的正极电势比负极高2V,也就是说工作电压是2V.arduino的输出的电压是 5V,那么需要一个电阻分掉3V。LED点亮的电流大概是 20mA,根据欧姆定律R=U/I,那么电阻阻值为 3/0.02=150Ω

void setup() {
  // put your setup code here, to run once:
  pinMode(5,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  delay(1000);
  digitalWrite(5,HIGH);
  delay(1000);
  digitalWrite(5,LOW);
}
电灯

努力成长的程序员