Skip to main content

Grove - 倾斜开关

pir

Grove-倾斜开关相当于一个按钮,用作数字输入。倾斜开关内部有一对小球,当外壳直立时,小球会与引脚接触。倾斜外壳时,小球不接触,因此不形成连接。它连接到SIG线,此Grove模块不使用NC。

pir

特性

  • Grove接口
  • 易于使用
  • 简单的Grove模块
tip

有关Grove模块的更多详细信息,请参考Grove系统

规格参数

项目

最小值

典型值

最大值

单位

电压

3

5.0

5.25

V

连接角度

10° ~170°

断开角度

190° ~350°

电气寿命

100,000

支持的平台

ArduinoRaspberry Pi

pir

pir

caution

上面提到的支持平台是/是该模块软件或理论兼容性的指示。在大多数情况下,我们只为Arduino平台提供软件库或代码示例。不可能为所有可能的MCU平台提供软件库/演示代码。因此,用户必须编写自己的软件库。

开始使用

与 Arduino 一起使用

Grove - 倾斜开关的 SIG 引脚通常输出低电平。当倾斜开关直立时,倾斜开关内部的一对小球将与引脚接触,SIG 引脚将输出高电平。

以下示例演示了使用倾斜开关和 Grove - 按钮控制 LED 的简单应用。

  • 如下图所示,倾斜开关连接到 Grove - Base Shield 的数字端口 5,Grove - 按钮连接到数字端口 7。LED 连接到数字端口 1。硬件安装如下:

pir

  • 复制并粘贴以下代码到新的 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 支持,并将主程序拖到工作区域。

note

如果这是您第一次使用 Codecraft,请参阅 使用 Arduino 的 Codecraft 指南

步骤 2. 按照下图拖拽代码块,或打开可在本页面末尾下载的 cdc 文件。

pir

将程序上传到您的 Arduino/Seeeduino。

success

当代码上传完成后,倾斜倾斜开关或按下按钮,LED 将点亮。

与 Raspberry Pi 一起使用(使用 Grove Base Hat for Raspberry Pi)

硬件

  • 步骤 1. 本项目中使用的物品:
Raspberry piGrove Base Hat for RasPiGrove - 倾斜开关

pir

pir

pir

立即购买立即购买立即购买
  • 步骤 2. 将 Grove Base Hat 插入 Raspberry Pi。
  • 步骤 3. 将倾斜开关连接到 Base Hat 的端口 12。
  • 步骤 4. 通过 USB 线缆将 Raspberry Pi 连接到 PC。

pir

note

对于步骤 3,您可以将倾斜开关连接到任何 GPIO 端口,但请确保使用相应的端口号更改命令。

软件

note

如果您使用的是 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()


success

如果一切顺利,当您触摸倾斜开关时,您将能够看到以下结果


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 一起使用

note

如果您使用的是 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 引脚将输出高电平。

pir

参考资料

Grove-倾斜开关的工作角度如下所示:

pir

注意

Grove 上的标记 J1 是参考端子。

Grove - 倾斜开关 v1.0 Eagle 文件

Grove - 倾斜开关 v1.1 Eagle 文件

资源

技术支持与产品讨论

感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...