用户工具

站点工具


learing:examples:inputpullupserial
no way to compare when less than two revisions

差别

这里会显示出您选择的修订版和当前版本之间的差别。


learing:examples:inputpullupserial [2023/06/07 04:23] (当前版本) – 创建 - 外部编辑 127.0.0.1
行 1: 行 1:
 +====== Input Pullup Serial (读取输入口,启用上拉电阻)======
  
 +这个例子演示了pinmode()的INPUT_PULLUP参数。它通过OCROBOT控制器与电脑的USB串口通讯来检测开关的状态。
 +
 +除此之外,当输入HIGH,板上13号脚连接的LED点亮,否则熄灭。
 +
 +===== 硬件要求 =====
 +
 +|OCROBOT控制器|
 +|开关或按键|
 +|面包板|
 +|跳线|
 +
 +===== 电路图 =====
 +
 +连接两条线到控制器,黑色的接到GND和按键的一个脚,第二根线接到数字脚2和按键的另一个脚。
 +
 +按键被按下的时候,连接它们的两脚就联通了。当按键没按下去的时候,按键的两个脚间是断开的。因为2号脚的内部的上拉是激活状态的并且连接到了5V,按键按下的时候就能读取到HIGH,否则读取到LOW,因为连接到了GND。
 +
 +===== 代码 =====
 +
 +程序的第一件事就是要设置和电脑的通信速率为9600波特率
 +<code cpp>Serial.begin(9600);</code>
 +
 +
 +接下来,设置数字口2位输入,并启用上拉电阻。
 +
 +<code cpp>pinMode(2,INPUT_PULLUP);</code>
 +
 +
 +设置13号脚为输出
 +
 +<code cpp>pinMode(13, OUTPUT);</code>
 +
 +现在设置完成了。
 +
 +为按键建立一个新的变量,可以用整型数据来存储0或者1。
 +
 +<code cpp>int sensorValue = digitalRead(2);</code>
 +
 +
 +十进制显示串口监视器上
 +
 +<code cpp>Serial.println(sensorValue, DEC);</code>
 +
 +<code cpp>/*
 + Input Pullup Serial
 +
 + 这个例子演示了INPUT_PULLUP的使用. 
 + 不像input一样是没有上拉电阻的,它内部的20k欧姆的上拉电阻连在了5V上。
 +*/
 +
 +void setup() {
 +  //开始串口通信
 +  Serial.begin(9600);
 +  //设置2号脚为输入,并且使用上拉电阻。
 +  pinMode(2, INPUT_PULLUP);
 +  pinMode(13, OUTPUT);
 +
 +}
 +
 +void loop() {
 +  //读取按键信息,保存在变量
 +  int sensorVal = digitalRead(2);
 +  //显示到串口
 +  Serial.println(sensorVal);
 +
 +  // 记住,上拉就意味着按键的逻辑反过来了。
 +  if (sensorVal == HIGH) {
 +    digitalWrite(13, LOW);
 +  } else {
 +    digitalWrite(13, HIGH);
 +  }
 +}</code>
learing/examples/inputpullupserial.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1