简单认识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参考点。

普通的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);
}
