关于英特尔® Galileo 主板高级输入的教程 2
您构建的电路有两个输入(麦克风和触摸电容器)和两个输出(两个 LED)。在为一切接线之前,让我们看看我们使用的输入类型。
麦克风传感器
我们的麦克风传感器是一个模拟输入。这种输入意味着它会将值从物理世界中拿走,并将它们转换为机器可读的值。然后,我们在计划中使用这些值。
电容触摸传感器
我们的触感传感器是数字输入。这种类型的输入意味着它只解释高和低 (true/false, 0/1) 输入值。
了解这两种输入之间的差异非常重要。英特尔® Galileo 主板有六个模拟输入标签 A0-A5。模拟引脚仅是输入。模拟引脚将传入的电压信号(0 至 5 V)映射到 0 到 1023 之间的整数值。在代码中,我们使用模拟函数读写模拟值。
在引脚 A0(范围介于 0-1023 之间)将“val”分配给传入值
intval = 模拟读取 (A0);
写入来自 A0 的值(映射值后,在 0-255 之间)
模拟Write(13,val);
有关如何使用模拟函数及何时使用的详细信息,请参阅参考指南:
模拟读接参考信息
模拟Write 参考信息
为什么会有模拟Write 函数?我们写哪些内容?
在这里,我们使用脉冲宽度调制 (PWM) 引脚。我们将了解 PWM 的工作方式,以及在下一节中如何以及何时使用它。
测试输入值
- 为面包板供电:
- 分别将两根跳线电缆连接到 Galileo 主板上的 5 伏和 GND 引脚。
- 将这些电缆的两端连接到面包板的垂直条带,标记 + - (代表 PWR 和 GND)。
- 这种连接为其他模块连接的整个垂直条带供电。
- 连接麦克风:
- 将麦克风的 PWR 和 GND 引脚的两根跳线电缆连接到面包板上的各自垂直踪迹。
- 将其余跳线从麦克风连接到面包板内侧的一行。
- 然后,将同一行的跳线电缆连接到引脚 A0。
- 连接触控传感器:
- 连接触摸传感器的 PWR 和 GND 输入(与麦克风的电缆一样)。然后,将电缆末端连接到垂直 PWR 和 GND 条带的面包板。
- 将最后一根电缆连接到面包板内部部分的一行。
- 必须是与麦克风不同的行。最后,将剩余的跳线电缆从同一行连接到引脚 2。
上传以下草图。打开串行显示器以查看正在发生的事情:
分流并分配两个代表传感器引脚的变量
注意 | 在变量声明面前的 word const 告诉编译器该变量不能通过程序更新。 |
const int touch = 2;
const int 声音 = A0;
void setup(){
Serial.begin (57600);
设置触控传感器的引脚模式。
pinMode(触摸、输入);
}
注意 | 由于声音传感器是模拟输入,因此我们无需设置引脚模式。 |
void loop(){ // 应用并分配两个可变量,代表来自传感器的输入读数
int touch_input = DigitalRead(触摸);
int sound_input = 模拟读取(声音);
将这些值打印到串行显示器上
Serial.print(“声音:”);
Serial.println(sound_input);
Serial.print(“触摸:”);
Serial.println(touch_input);
Serial.println(“ );
等待 10 毫秒后再下一次读取
延迟 (10);
}