Arduino学习笔记(一)——数字GPIO的操作

digitalRead()


函数名称:
    digitalRead()
函数描述:
    读取普通GPIO口的状态
语法:
    digitalRead(pin)
参数:
    pin:需要读取的管脚号
返回值:
    HIGH 或者 LOW
参考代码:

int ledPin = 13;   // LED connected to digital pin 13
int inPin = 7;     // pushbutton connected to digital pin 7
int val = 0;       // variable to store the read value

void setup()
{
  pinMode(ledPin, OUTPUT);      // sets the digital pin 13 as output
  pinMode(inPin, INPUT);        // sets the digital pin 7 as input
}

void loop()
{
  val = digitalRead(inPin);     // read the input pin
  digitalWrite(ledPin, val);    // sets the LED to the button's value
}

digitalWrite()


函数名称:
    digitalWrite()
函数描述:
    指定PIN脚输出HIGH 或者LOW,使用该函数之前,需要将对应的PIN配置为OUTPUT模式。如果PIN处于INPUT模式,使用digitalWrite(HIHG)将使能输入端口上拉功能,digitalWrite(LOW)将禁止输入端口上拉功能。官方推荐使用pinMode(PIN_PULLUP)来使能输入上拉功能。
语法:
    digitalWrite(pin, value)
参数:
    pin : 需要写的GPIO管脚号
    value : HIGH 或者LOW
返回值:
    无
参考代码:

void setup()
{
  pinMode(13, OUTPUT);          // sets the digital pin 13 as output
}

void loop()
{
  digitalWrite(13, HIGH);       // sets the digital pin 13 on
  delay(1000);                  // waits for a second
  digitalWrite(13, LOW);        // sets the digital pin 13 off
  delay(1000);                  // waits for a second
}

/* delay()函数为内置函数,延时单位为ms */

pinMode()


函数名称:
    pinMode()
函数描述:
    配置指定的管脚为输入或者输出模式
语法:
    pinMode(pin, mode)
参数:
    pin : 需要写的GPIO管脚号
    mode : INPUT / OUTPUT / INPUT_PULLUP
返回值:
    无
参考代码:

void setup()
{
  pinMode(13, OUTPUT);          // sets the digital pin 13 as output
}

void loop()
{
  digitalWrite(13, HIGH);       // sets the digital pin 13 on
  delay(1000);                  // waits for a second
  digitalWrite(13, LOW);        // sets the digital pin 13 off
  delay(1000);                  // waits for a second
}
### 嵌入式继电器学习资料与教程 #### 继电器基础概念 继电器是种电磁开关,能够通过较小的电信号控制较大功率电路的通断。其工作原理基于线圈产生的磁场吸引衔铁移动,进而带动触点切换状态[^1]。 #### 驱动方式详解 针对不同应用场景下的需求差异,存在多种类型的继电器驱动方案可供选择: - **单片机IO端口直连** 这是最简单的形式之,适用于低电压小电流场合下直接由微控制器I/O引脚提供激励信号给继电器线圈的情况。 - **三极管放大** 当所需驱动电流超出GPIO所能承受范围时,则需借助外部晶体管作为缓冲级来增强输出能力。 - **达林顿管组合** 对于更大负载而言,采用双NPN型结构组成的复合器件可以进步提升增益效果并降低功耗。 - **嵌套连接法** 将多个基本单元串联起来形成多级联结模式,在某些特殊条件下可获得更好的性能表现。 #### 控制逻辑实现案例分析 以Arduino平台为例,展示了具体操作流程以及注意事项: ```cpp // 定义继电器所连接的数字接口编号 const int relayPin = 5; void setup(){ pinMode(relayPin, OUTPUT); // 设置为输出模式 } void loop(){ digitalWrite(relayPin,HIGH); // 启动继电器动作 delay(2000); digitalWrite(relayPin,LOW); // 关闭继电器 delay(2000); } ``` 上述代码片段实现了定时器功能,即每隔两秒钟改变次继电器的状态,以此验证硬件连线无误且程序运行正常[^3]。 #### ZigBee协议集成实例探讨 为了满足远距离无线遥控的要求,这里引入了款流行的短距射频通讯标准——Zigbee。该部分重点讲解了怎样利用协调者节点发送指令至终端设备完成相应任务的过程描述[^2]。 #### Wi-Fi智能开关项目实践指南 NodeMCU作为种性价比较高的物联网解决方案被广泛应用于智能家居领域内。下面给出了份完整的DIY手册,涵盖了从选材采购到最终成品调试整个环节的关键要素解析[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值