Pular para o conteúdo principal

Grove - Button

Grove - Button é um botão de pressão momentâneo. Ele contém um botão independente de "liga/desliga momentâneo". “Momentâneo” significa que o botão retorna sozinho após ser solto. O botão produz um sinal HIGH quando pressionado e LOW quando solto. A marca Sig na camada de silk significa sinal, enquanto NC significa não utilizado. Há duas versões deste botão disponíveis, como mostrado nas imagens. A única diferença é a direção do conector Grove.

Versão

Versão do ProdutoMudançasData de Lançamento
Grove-ButtonInicial25 Nov 2010

Recursos

  • Botão momentâneo LIGA/DESLIGA fácil de usar
  • Usa cabos Grove padrão de 4 pinos
dica

Para mais detalhes sobre módulos Grove, consulte Grove System

Especificação

ParâmetroValor/Faixa
Tensão de operação3.3/5V
Vida elétrica200.000 ciclos
Força de operação100 ± 50gf
Temperatura de operação-25℃ a +70℃
Tamanho20mmX20mm

Plataformas Suportadas

ArduinoRaspberry Pi
cuidado

As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade de software ou teórica do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software/código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários precisam escrever sua própria biblioteca de software.

Primeiros Passos

Brincar com Arduino

Hardware

  • Passo 1. Prepare os itens abaixo:
Seeeduino V4.2Base ShieldGrove - Button
Adquira agoraAdquira agoraAdquira agora
  • Passo 2. Conecte o Grove-Button à porta D2 do Grove-Base Shield.
  • Passo 3. Conecte o Grove - Base Shield ao Seeeduino.
  • Passo 4. Conecte o Seeeduino ao PC através de um cabo USB.
nota

Se não tivermos o Grove Base Shield, também podemos conectar o Grove-Button diretamente ao Seeeduino como abaixo.

SeeeduinoGrove-Button
5VVermelho
GNDPreto
Not ConenctedBranco
D2Amarelo

Software

  • Passo 1. Copie o código para o Arduino IDE e faça o upload.
const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin = 13; // the number of the LED pin

// variables will change:
int buttonState = 0; // variable for reading the pushbutton status

void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}

void loop(){
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);

// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
  • Passo 2. Veremos o LED do pino 13 on board acender e apagar.

Brincar com Codecraft

Hardware

Passo 1. Conecte um Grove - Button à porta D2 de um Base Shield.

Passo 2. Conecte o Base Shield ao seu Seeeduino/Arduino.

Passo 3. Conecte o Seeeduino/Arduino ao seu PC via cabo USB.

Software

Passo 1. Abra o Codecraft, adicione o suporte a Arduino e arraste um procedimento principal para a área de trabalho.

nota

Se esta for a sua primeira vez usando o Codecraft, veja também o Guia para Codecraft usando Arduino.

Passo 2. Arraste os blocos como na figura abaixo ou abra o arquivo cdc que pode ser baixado no final desta página.

Envie o programa para o seu Arduino/Seeeduino.

tipsuccess Quando o código terminar de carregar, o LED na placa Arduino/Seeeduino acenderá quando o Button for pressionado.

Brincar com Raspberry Pi (Com Grove Base Hat para Raspberry Pi)

Hardware

  • Passo 1. Itens usados neste projeto:
Raspberry piGrove Base Hat para RasPiGrove - Button
Adquira agoraAdquira agoraAdquira agora
  • Passo 2. Conecte o Grove Base Hat ao Raspberry Pi.
  • Passo 3. Conecte o Grove - Button à porta PWM (porta 12) do Base Hat.
  • Passo 4. Conecte o Raspberry Pi ao PC através de um cabo USB.

Software

cuidado

Se você estiver usando Raspberry Pi com Raspberrypi OS >= Bullseye, você deve usar esta linha de comando apenas com Python3.

  • Passo 1. Siga Setting Software para configurar o ambiente de desenvolvimento.
  • Passo 2. Baixe o arquivo-fonte clonando a biblioteca grove.py.
cd ~
git clone https://github.com/Seeed-Studio/grove.py

  • Passo 3. Execute o comando abaixo para rodar o código.
cd grove.py/grove
python3 grove_button.py 12

Se você conectar o LED vermelho a uma porta diferente do Base Hat, em vez de executar python grove_led.py 12, deverá rodar o seguinte comando.

python3 grove_button.py portnumber

A seguir está o código grove_button.py.


import time
from grove.button import Button
from grove.factory import Factory


class GroveButton(object):
def __init__(self, pin):
# High = pressed
self.__btn = Factory.getButton("GPIO-HIGH", pin)
self.__last_time = time.time()
self.__on_press = None
self.__on_release = None
self.__btn.on_event(self, GroveButton.__handle_event)

@property
def on_press(self):
return self.__on_press

@on_press.setter
def on_press(self, callback):
if not callable(callback):
return
self.__on_press = callback

@property
def on_release(self):
return self.__on_release

@on_release.setter
def on_release(self, callback):
if not callable(callback):
return
self.__on_release = callback

def __handle_event(self, evt):
dt, self.__last_time = evt["time"] - self.__last_time, evt["time"]
# print("event index:{} event:{} pressed:{}".format(evt["index"], evt["code"], evt["pressed"]))
if evt["code"] == Button.EV_LEVEL_CHANGED:
if evt["pressed"]:
if callable(self.__on_press):
self.__on_press(dt)
else:
if callable(self.__on_release):
self.__on_release(dt)


Grove = GroveButton

def main():
from grove.helper import SlotHelper
sh = SlotHelper(SlotHelper.GPIO)
pin = sh.argv2pin()

button = GroveButton(pin)

def on_press(t):
print('Button is pressed')
def on_release(t):
print("Button is released, pressed for {0} seconds".format(round(t,6)))

button.on_press = on_press
button.on_release = on_release

while True:
time.sleep(1)


if __name__ == '__main__':
main()


dica

Se tudo correr bem, você poderá ver o seguinte resultado:


pi@raspberrypi:~/grove.py/grove $ python3 grove_button.py 12
Hat Name = 'Grove Base Hat RPi'
Button is pressed
Button is pressed
Button is pressed
Button is pressed
Button is pressed
Button is pressed
Button is released, pressed for 0.002685 seconds
Button is pressed
Button is released, pressed for 0.219019 seconds
Button is pressed
Button is released, pressed for 0.001372 seconds
Button is pressed
Button is pressed
Button is released, pressed for 0.043143 seconds
Button is pressed
Button is released, pressed for 1.083292 seconds
^CTraceback (most recent call last):
File "grove_button.py", line 103, in <module>
main()
File "grove_button.py", line 99, in main
time.sleep(1)
KeyboardInterrupt


Você pode pressionar ctrl+c para sair deste programa.

Brincar com Raspberry Pi(com GrovePi_Plus)

Hardware

  • Passo 1. Prepare os itens abaixo:
Raspberry piGrovePi_PlusGrove - Button
Adquira agoraAdquira agoraAdquira agora
  • Passo 2. Conecte o GrovePi_Plus ao Raspberry.
  • Passo 3. Conecte o Grove-Button à porta D3 do GrovePi_Plus.
  • Passo 4. Conecte o Raspberry ao PC através de um cabo USB.

Software

cuidado

Se você estiver usando Raspberry Pi com Raspberrypi OS >= Bullseye, você deve usar esta linha de comando apenas com Python3.

  • Passo 1. Siga Setting Software para configurar o ambiente de desenvolvimento.
  • Passo 2. Dê um git clone no repositório do Github.
cd ~
git clone https://github.com/DexterInd/GrovePi.git

  • Passo 3. Execute os comandos abaixo.
cd ~/GrovePi/Software/Python
python3 grove_button.py

Aqui está o código grove_button.py.

import time
import grovepi

# Connect the Grove Button to digital port D3
# SIG,NC,VCC,GND
button = 3

grovepi.pinMode(button,"INPUT")

while True:
try:
print(grovepi.digitalRead(button))
time.sleep(.5)

except IOError:
print ("Error")
  • Passo 4. Veremos o botão ligado e desligado.
pi@raspberrypi:~/GrovePi/Software/Python $ python3 grove_button.py
0
1
1
1
1
0
0

Visualizador de Esquemático Online

Recursos

Inspirados em OVERWATCH, fizemos um brinquedo muito legal de Pistola Laser de Madeira para nos divertirmos nesses dias!

A Pistola Laser de Madeira e o Alvo da Pistola são todos baseados em uma placa Arduino chamada Seeeduino Lotus. O emissor de laser na Pistola Laser é controlado para disparar pulsos de laser para "ativar" o Alvo da Pistola. E há 3 sensores de luz no Alvo da Pistola para detectar o pulso de laser. Parece bem simples, certo? Se você estiver interessado em nosso projeto, faça um para você ou para seu filho! Vale a pena gastar um dia fazendo isso como um presente de Natal.

Projetos

Grove - Introdução em um Botão & Cordão de Luzes de LED: Exemplo para Iniciantes - Aposto que Iniciantes vão sorrir depois do projeto - me envie uma selfie!

Usando Grove Button para Controlar o Grove LED: Como conectar e usar o Grove Button para controlar o kit de soquete Grove LED.

Módulos Grove de Botão e LED:

Suporte Técnico & Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...