用户工具

站点工具


ocrobot:alpha:kitone:tutorial05

Digital Read Serial(读取数字口输入)

这个例子教你怎样用控制器的USB端口,通过串口监视开关状态。

ALPHA MEGA328-U核心

硬件

搭建电路

  1. ALPHA MEGA328-U模块插入并行扩展版1号槽位。
  2. ALPHA 微动开关模块插入并行扩展板2号槽位。
  3. USB线连接计算机与ALPHA MEGA328-U。

代码

/*
  DigitalReadSerial
  读取数字接口D15的输入,并将结果显示在串口监视器
*/
 
int pushButton = 15;// 数字口15 连接一个按钮开关,给它命名.
 
void setup() {
  Serial.begin(9600); // 初始化串口通讯为9600波特率
  pinMode(pushButton, INPUT); // 按键脚作为输入
}
 
void loop() {
  int buttonState = digitalRead(pushButton); // 读取按钮状态:
  Serial.println(buttonState);  // 显示到串口:
  delay(1);        // 为了稳定输入状态,使两次读数之间延时1毫秒
}

这个例子中我们使用了两个新的函数:Serial.begin()Serial.println()
Serial.begin()用于初始化串口,Serial.println()用来输出数据到串口,并且以换行符结尾。 输出数据如果结尾不需要换行符,可以使用Serial.print()

微动开关模块中,接开关的3个引脚分别为D15,D16,D17。如何把三个按钮的状态,都通过串口输出?

练习题代码

/*
  DigitalReadSerial
  读取数字接口D15、D16、D17的输入,并将结果显示在串口监视器 
 */
 
 
int Button1 = 15;   //初始化按键,根据三个按键的引脚15、16、17,分别设置为1、2、3.
int Button2 = 16;
int Button3 = 17;
 
int buttonState1=LOW;    //初设定三个按键状态
int buttonState2=LOW;
int buttonState3=LOW;
 
void setup() {
  Serial.begin(9600);// 初始化串口通讯为9600波特率
 
  pinMode(Button1, INPUT); //初始化按键为输入模式
  pinMode(Button2, INPUT);
  pinMode(Button3, INPUT);
}
 
void loop() {
   if (digitalRead(Button1)!=buttonState1)      //读取按键1的状态,与设定的按键状态比较。若不相等,则进入下一步
    {   buttonState1 = digitalRead(Button1);     //把现在读取到的状态赋给设定的按键状态,
     if(buttonState1==HIGH)                     //如果现在的按键状态为高电平
      { Serial.println(Button1);             // 则将按下的按键引脚显示到串口:
         }
     }
   if (digitalRead(Button2)!=buttonState2)     //若读取到按键2的状态,则与设定的按键状态比较
     { buttonState2 = digitalRead(Button2); 
       if(buttonState2==HIGH)
      { Serial.println(Button2);             
         }
     }
   if (digitalRead(Button3)!=buttonState3)     //若读取到按键3的状态,则与设定的按键状态比较
     { buttonState3 = digitalRead(Button3); 
       if(buttonState3==HIGH)
      { Serial.println(Button3);            
       }
     }
}

返回上一级

ocrobot/alpha/kitone/tutorial05.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1