Intel DIY 挑战传感器





0/5 (0投票)
我们的目标是熟悉简单的传感器、导线和电路板连接。
与传感器交互
数字和模拟传感器
有许多传感器可供选择。重要的是要知道哪些与 Galileo 兼容:它们是否需要额外的组件才能工作?
从传感器获取信息
Galileo 可以与数字引脚和模拟输入与传感器进行通信。
我们将使用……
一块 Intel Galileo 主板和网络连接
我们假设您熟悉与嵌入式操作系统通信和执行 GPIO 命令。
Arduino 高级传感器套件(DFRobot)
一套 30 个用于 Arduino 的传感器和配件。http://www.dfrobot.com/index.php?route=product/product&product_id=725
公对母和公对公跳线以及原型开发板
方便将传感器和配件插入您的 Galileo。
数字和模拟传感器
数字传感器
数字传感器与物理环境交互,并向我们返回二进制信息。
例如,数字按钮是否被按下。它有两个状态,0 或 1。
可以连接三根导线
- 一根黑色导线,用于接地。
- 一根红色导线,用于输入电压。
- 一根绿色导线,传输信息。
模拟传感器
模拟传感器与物理环境交互,并向我们发送一个物理值,该值几乎总是电压。
例如,模拟线性温度传感器是一个涉及电阻的电路。其值随温度线性变化。根据欧姆定律,电压也随之变化,这就是我们获取和测量的数值。
与数字传感器一样,常见的模拟传感器有三个引脚
- 照常,黑色接地,红色连接输入电压。
- 以及一根蓝色导线,对应传感器返回的电压。
如何选择传感器?
我们的第一套传感器
DFRobot 的 Arduino 高级传感器套件。
优点
- 传感器种类繁多。
- 易于使用,即插即用。
- 足够用于入门或原型开发。
缺点
- 不完全满足您的项目需求。
- 不灵活且不可扩展
我还需要什么?
公对母和公对公跳线连接各种组件到 Galileo 非常有用。原型开发板让一切井井有条!
这是原型开发的最低要求。请参阅我们关于高级传感器和项目集成的内容,以进行更深入的学习。
第一个电路
我们的目标是熟悉简单的传感器、导线和电路板连接。
重要注意事项
- 在本课程中,我们将使用 5V 引脚作为所有传感器和配件的输入电压。
- 5V 引脚旁边是接地引脚,我们将把它连接到我们所有的传感器。
- 不要直接将这两个引脚连接在一起!这会损坏您的主板。
连接这些组件,请参考下图
您需要
- Intel Galileo 主板
- LED 模块
- 环境光传感器
- 连线
- 原型开发板
缓慢地将手移过光传感器。LED 灯的亮度应该会发生变化。
解释
光传感器根据环境光强度将输入电压发送到 LED 控制引脚。
较低的光强度会降低发送到 LED 的电压。
从 LED 模块的角度来看,电流根据控制引脚上的电压值发送到 LED。
尝试使用其他传感器代替环境光传感器,效果相同!
从传感器获取信息
让我们来实现这个电路
您需要
- Intel Galileo 主板
- 操纵杆模块
- 连线
- 原型开发板
X 轴信号连接到模拟输入 1。Y 轴信号连接到模拟输入 2。
读取信息
- 在您的计算机上创建一个 bash 文件
touch joystick_info.sh
- 复制/粘贴下一张幻灯片中的代码并保存您的文件
- 将您的文件发送到 Galileo 主板
scp joystick_info.sh root@192.168.1.XXX:~
- 通过 SSH 连接到您的 Intel Galileo 嵌入式系统
ssh root@192.168.1.XXX
- 更改您文件的访问权限以便运行它
chmod 755 joystick_info.sh ./joystick_info.sh
- 移动操纵杆,您将在屏幕上看到电压输入值!
- 如果您将操纵杆推到 X 轴的最大值,程序将终止。
- 相同的程序也可以用于测试加速度计和陀螺仪。
- 相同的程序可以用 C 语言编写,而不是 bash 脚本。
- 操纵杆上的 Z 轴是一个按钮。
#! /bin/bash # please refer to slides about GPIO for pin mapping echo -n "36" > /sys/class/gpio/export echo -n "23" > /sys/class/gpio/export echo -n "out" > /sys/class/gpio/gpio36/direction echo - gpio/gpio23/direction echo -n "strong" > /sys/class/gpio/gpio36/drive echo - gpio/gpio23/drive echo -n "0" > /sys/class/gpio/gpio36/value echo -n "0" > /sys/class/gpio/gpio23/value xvolt=`cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw` yvolt=`cat /sys/bus/iio/devices/iio\:device0/in_voltage2_raw` #while xvolt value is lower than 4V while [ $xvolt -le 4000 ] do #Print values echo "xvolt" $xvolt echo "yvolt" $yvolt echo " " #Update values xvolt=`cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw` yvolt=`cat /sys/bus/iio/devices/iio\:device0/in_voltage2_raw` #Wait 500ms usleep 500000 done echo -n "36" > /sys/class/gpio/unexport echo -n "23" > /sys/class/gpio/unexport
其他传感器
它们的工作原理如下
数字倾斜传感器:将传感器放在桌子上,等待一分钟,然后敲击桌子。数字磁传感器:将磁铁靠近传感器。火焰传感器:点燃打火机,距离传感器 20 厘米。
模拟线性温度传感器:使用模拟输入读取值。压电圆盘振动传感器:使用模拟输入读取值。土壤湿度传感器:将两条带子的末端浸入一杯水中。
模拟气体传感器:使用螺丝调整灵敏度。要进行测试,请将传感器靠近 70% 医用酒精瓶的顶部。将传感器灵敏度设置为最大值。
继电器模块:当绿色导线上有电压时,NO 和 COM 之间的电压是多少?否则,NC 和 COM 之间的电压是多少?
模拟分压器:将输入电压从 0-25V 的范围缩放到 Arduino 兼容的电压值范围(0-5V)。