配置Arduino
在代码编写中首先在工具选项中完成相关硬件的选择,本次学习使用的硬件平台为 WeMos D1。
- 板:“WeMos D1”
- Upload Using:“Serial”
- CPU Frequency:“80 MHz”
- Flash Size:“4M(3M SPIFFS)”
- Upload Speed:“115200”
Arduino中,上电后首先执行setup( )函数,然后重复执行loop( )函数:
核心控制代码写入loop
setup函数只调用一次,一般用于硬件相关的初始化,比如IO口,串口,wifi等
void setup() {
}
void loop() {
}
单个引脚控制有源蜂鸣器
相关API的介绍:
pinMode(pin, mode) :可以将Arduino的引脚配置为以下三种模式:
输出(OUTPUT)模式
输入(INPUT)模式
输入上拉(INPUT_PULLUP)模式 (仅支持Arduino 1.0.1以后版本)
digitalWrite(pin, value):语句将该引脚设置为HIGH/LOW:
pin:引脚号码 //D1,D2,,,
value: HIGH 或 LOW
digitalRead(pin):读取数字引脚的 HIGH(高电平)或 LOW(低电平)
返回值:HIGH 或 LOW //int val = digitalRead(D1);
delay(us):用作延时,单位为毫秒ms
delay(1000); //延时一秒
整体范例
基础控制:蜂鸣器叫唤和不叫唤
void setup() {
pinMode(D5, OUTPUT); //设置引脚为输出引脚
}
void loop() {
digitalWrite(D5, HIGH); // 输出高电平,蜂鸣器不叫
delay(1000); //这一秒内都不叫
digitalWrite(D5, LOW); //输出低电平,蜂鸣器叫
delay(1000); //叫一秒(延时期间,蜂鸣器控制引脚属于低电平)
}
超声波测距模块使用
模块介绍:
超声波传感器模块上面通常有两个超声波元器件,一个用于发射,一个用于接收。电路板上有4个引脚:VCC(正极)、Trig(触发)、Echo(回应)、GND(接地),主要参数:
- 工作电压与电流:5V、15mA。
- 感测距离:2~400cm
- 感测角度:不大于15°
- 被测物的面积不要小于50cm2并且尽量平整。
//代码示例
#define Echo D2 //宏定义两个控制线的引脚号
#define Trig D8
void initCeJu()//初始化模块
{
pinMode(Echo, INPUT);
pinMode(Trig, OUTPUT);
}
long getTime()
{
digitalWrite(Trig,HIGH);//Trig引脚高电平保持10微秒
delayMicroseconds(10);
digitalWrite(Trig,LOW);
return pulseIn(Echo, HIGH);//得到Echo引脚高电平的时间,单位微秒us
}
void setup() {
// put your setup code here, to run once:
initCeJu();
Serial.begin(115200);//串口初始化
}
void loop() {
// put your main code here, to run repeatedly:
long dis;
dis = getTime()/58;//通过时间换算为距离
Serial.print(dis);//通过串口打印距离
Serial.println("cm");
delay(500);
}