Arduino入门教程:从数字输出到数字输入

需积分: 33 0 下载量 178 浏览量 更新于2024-07-26 收藏 3.67MB PDF 举报
"Arduino教程,包括数字输出和数字输入的讲解,适合初学者学习。" Arduino是一个开放源代码的电子原型平台,它简化了硬件编程,使得即使是编程新手也能轻松入门。本教程主要针对初学者,旨在帮助他们理解和掌握Arduino的基本操作。 **Arduino数字输出** 在Arduino中,数字输出是指通过编程控制板上的数字引脚输出高电平(5V)或低电平(0V)。在Arduino教程一中,我们了解到数字I/O管脚2至13(其中13号管脚带有一个内建的1K电阻)可用于数字输出。当设置为OUTPUT模式后,这些管脚可以驱动LED或其他电子元件。例如,一个6位数字跑马灯实验,通过循环改变管脚的电平,使得LED依次亮起,从而验证了数字输出的功能。代码示例展示了如何设置管脚模式、写入数字电平以及延迟函数的使用,这些都是Arduino编程的基础。 ```cpp int BASE = 2; int NUM = 6; int index = 0; void setup() { for (int i = BASE; i < BASE + NUM; i++) { pinMode(i, OUTPUT); } } void loop() { for (int i = BASE; i < BASE + NUM; i++) { digitalWrite(i, LOW); } digitalWrite(BASE + index, HIGH); index = (index + 1) % NUM; delay(100); } ``` 这段代码会在管脚2至7上实现LED依次点亮的效果,延迟函数`delay(100)`确保了LED每0.1秒切换一次。 **Arduino数字输入** 在教程二中,讲解了如何使用Arduino进行数字输入,例如读取开关的状态。Arduino的数字I/O管脚可以检测高电平或低电平,但无法直接识别开关的闭合或断开。为此,我们需要添加上拉或下拉电阻来转换开关状态。在正逻辑电路中,开关的一端连接到电源,另一端连接到Arduino的输入引脚,开关打开时,引脚读到低电平;闭合时,读到高电平。而在负逻辑电路中,情况则相反。 为了实现这一功能,我们可以编写如下代码: ```cpp int switchPin = 2; // 假设开关连接到管脚2 int switchState; void setup() { pinMode(switchPin, INPUT_PULLUP); // 设置管脚2为输入模式,并启用内部上拉电阻 } void loop() { switchState = digitalRead(switchPin); // 读取开关状态 if (switchState == HIGH) { Serial.println("Switch is open"); } else { Serial.println("Switch is closed"); } delay(100); } ``` 这段代码会读取管脚2的状态,当开关断开时,串口打印"Switch is open";闭合时,打印"Switch is closed"。 通过这两个基础教程,初学者可以了解并实践Arduino的数字I/O功能,为进一步学习传感器、电机控制等高级主题打下坚实基础。Arduino的强大在于其丰富的库和社区支持,使得各种创意项目变得可能,无论是简单的电子玩具还是复杂的自动化系统,都可以借助Arduino实现。