Grove - 倾斜开关
Grove-倾斜开关相当于一个按钮,用作数字输入。倾斜开关内部有一对小球,当外壳直立时,小球会与引脚接触。倾斜外壳时,小球不接触,因此不形成连接。它连接到SIG线,此Grove模块不使用NC。
特性
- Grove接口
- 易于使用
- 简单的Grove模块
有关Grove模块的更多详细信息,请参考Grove系统
规格参数
项目 | 最小值 | 典型值 | 最大值 | 单位 |
---|---|---|---|---|
电压 | 3 | 5.0 | 5.25 | V |
连接角度 | 10° ~170° | |||
断开角度 | 190° ~350° | |||
电气寿命 | 100,000 | 次 |
支持的平台
Arduino | Raspberry Pi |
---|---|
上面提到的支持平台是/是该模块软件或理论兼容性的指示。在大多数情况下,我们只为Arduino平台提供软件库或代码示例。不可能为所有可能的MCU平台提供软件库/演示代码。因此,用户必须编写自己的软件库。
开始使用
与 Arduino 一起使用
Grove - 倾斜开关的 SIG 引脚通常输出低电平。当倾斜开关直立时,倾斜开关内部的一对小球将与引脚接触,SIG 引脚将输出高电平。
以下示例演示了使用倾斜开关和 Grove - 按钮控制 LED 的简单应用。
- 如下图所示,倾斜开关连接到 Grove - Base Shield 的数字端口 5,Grove - 按钮连接到数字端口 7。LED 连接到数字端口 1。硬件安装如下:
- 复制并粘贴以下代码到新的 Arduino 草图中。
void setup()
{
pinMode(1, OUTPUT);
pinMode(5, INPUT);
pinMode(7, INPUT);
}
void loop()
{
if (digitalRead(5)==HIGH)
{
digitalWrite(1, HIGH);
delay(100);
digitalWrite(1, LOW);
}
if (digitalRead(7)==HIGH)
{
digitalWrite(1, HIGH);
delay(200);
digitalWrite(1, LOW);
}
}
- 上传代码。
- 然后当您按下按钮或激活倾斜开关时,LED 将点亮。试试看!
与 Codecraft 一起使用
硬件
步骤 1. 将 Grove - 倾斜开关连接到端口 D5,然后将 Grove - 按钮和 Grove - 红色 LED 连接到 Base Shield 的端口 D7 和 D2。
步骤 2. 将 Base Shield 插入您的 Seeeduino/Arduino。
步骤 3. 通过 USB 线缆将 Seeeduino/Arduino 连接到您的 PC。
软件
步骤 1. 打开 Codecraft,添加 Arduino 支持,并将主程序拖到工作区域。
如果这是您第一次使用 Codecraft,请参阅 使用 Arduino 的 Codecraft 指南。
步骤 2. 按照下图拖拽代码块,或打开可在本页面末尾下载的 cdc 文件。
将程序上传到您的 Arduino/Seeeduino。
当代码上传完成后,倾斜倾斜开关或按下按钮,LED 将点亮。
与 Raspberry Pi 一起使用(使用 Grove Base Hat for Raspberry Pi)
硬件
- 步骤 1. 本项目中使用的物品:
Raspberry pi | Grove Base Hat for RasPi | Grove - 倾斜开关 |
---|---|---|
立即购买 | 立即购买 | 立即购买 |
- 步骤 2. 将 Grove Base Hat 插入 Raspberry Pi。
- 步骤 3. 将倾斜开关连接到 Base Hat 的端口 12。
- 步骤 4. 通过 USB 线缆将 Raspberry Pi 连接到 PC。
对于步骤 3,您可以将倾斜开关连接到任何 GPIO 端口,但请确保使用相应的端口号更改命令。
软件
如果您使用的是 Raspberry Pi with Raspberrypi OS >= Bullseye,您必须仅使用 Python3 运行此命令行。
- 步骤 1. 按照 设置软件 配置开发环境。
- 步骤 2. 通过克隆 grove.py 库下载源文件。
cd ~
git clone https://github.com/Seeed-Studio/grove.py
- 步骤 3. 执行以下命令运行代码。
cd grove.py/grove
python3 grove_tilt_switch.py 12
以下是 grove_tilt_switch.py 代码。
import time
from grove.gpio import GPIO
class GroveTiltSwitch(GPIO):
def __init__(self, pin):
super(GroveTiltSwitch, self).__init__(pin, GPIO.IN)
self._on_trigger = None
self._on_release = None
@property
def on_trigger(self):
return self._on_trigger
@on_trigger.setter
def on_trigger(self, callback):
if not callable(callback):
return
if self.on_event is None:
self.on_event = self._handle_event
self._on_trigger = callback
@property
def on_release(self):
return self._on_release
@on_release.setter
def on_release(self, callback):
if not callable(callback):
return
if self.on_event is None:
self.on_event = self._handle_event
self._on_release = callback
def _handle_event(self, pin, value):
if value:
if callable(self._on_trigger):
self._on_trigger()
else:
if callable(self._on_release):
self._on_release()
Grove = GroveTiltSwitch
def main():
import sys
if len(sys.argv) < 2:
print('Usage: {} pin'.format(sys.argv[0]))
sys.exit(1)
swicth = GroveTiltSwitch(int(sys.argv[1]))
def on_trigger():
print('Triggered')
def on_release():
print("Released.")
swicth.on_trigger = on_trigger
swicth.on_release = on_release
while True:
time.sleep(1)
if __name__ == '__main__':
main()
如果一切顺利,当您触摸倾斜开关时,您将能够看到以下结果
pi@raspberrypi:~/grove.py/grove $ python3 grove_tilt_switch.py 12
Triggered
Released.
Triggered
^CTraceback (most recent call last):
File "grove_tilt_switch.py", line 106, in <module>
main()
File "grove_tilt_switch.py", line 102, in main
time.sleep(1)
KeyboardInterrupt
您可以通过简单地按下 ++ctrl+c++ 来退出此程序。
与 Raspberry Pi 一起使用(配合 GrovePi_Plus)
与 Raspberry Pi 一起使用
如果您使用的是 Raspberry Pi 且 Raspberrypi OS >= Bullseye,您必须仅使用 Python3 运行此命令行。
1.您应该有一个 Raspberry Pi 和一个 Grovepi 或 Grovepi+。
2.您应该已经完成开发环境的配置,否则请参考这里。
3.连接
- 使用 grove 线缆将 Tilt_Switch 插入 grovepi 的 D3 接口。
4.导航到演示目录:
cd yourpath/GrovePi/Software/Python/
- 查看代码
nano grovepi_tilt_switch.py # "Ctrl+x" 退出 #
import time
import grovepi
# Connect the Grove Tilt Switch to digital port D3
# SIG,NC,VCC,GND
tilt_switch = 3
grovepi.pinMode(tilt_switch,"INPUT")
while True:
try:
print grovepi.digitalRead(tilt_switch)
time.sleep(.5)
except IOError:
print "Error"
5.运行演示。
sudo python grove_tilt_switch.py
6.结果:将传感器一侧竖直放置,SIG 引脚将输出高电平。
参考资料
Grove-倾斜开关的工作角度如下所示:
注意
Grove 上的标记 J1 是参考端子。Grove - 倾斜开关 v1.0 Eagle 文件
Grove - 倾斜开关 v1.1 Eagle 文件
资源
- Grove - 倾斜开关 v1.0 Eagle 文件
- Grove - 倾斜开关 v1.1 PDF 文件
- Grove - 倾斜开关 v1.1 Eagle 文件
- SW200D 数据手册
- Codecraft CDC 文件
技术支持与产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。