Pular para o conteúdo principal

Grove - Chave DIP de 6 Posições

O Grove - Chave DIP de 6 Posições possui 6 posições de chave individuais, que usam I2C para transmitir dados. Funciona muito bem como chave de controle multicanal.

Versão

Versão do ProdutoAlteraçõesData de Lançamento
Grove - 6-Position DIP SwitchInicialJun 2018

Recursos

  • 6 chaves individuais
  • Boa resistência ao calor
  • Longa vida útil de operação
  • Compatível com Grove

Especificação

ItemValor
Tensão de operação3.3V / 5V
InterfaceI2C
Endereço I2C padrão0x03
TamanhoC: 40mm L: 20mm A: 13mm
Peso5g
Tamanho da embalagemC: 140mm L: 90mm A: 10mm
Peso bruto11g

Aplicações

  • Controle multifunção

Visão Geral de Hardware

Mapa de Pinos

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

Materiais necessários

Seeeduino V4.2Base ShieldGrove - 6-Position DIP Switch
Compre AgoraCompre AgoraCompre Agora
nota

1 Conecte o cabo USB com cuidado, caso contrário você poderá danificar a porta. Use o cabo USB com 4 fios internos, o cabo com 2 fios não pode transferir dados. Se você não tiver certeza sobre o cabo que possui, pode clicar aqui para comprar.

2 Cada módulo Grove vem com um cabo Grove quando você compra. Caso você perca o cabo Grove, pode clicar aqui para comprar.

  • Passo 1. Conecte o Grove - 6-Position DIP Switch à porta I2C do Base Shield.

  • Passo 2. Conecte o Grove - Base Shield ao Seeeduino.

  • Passo 3. Conecte o Seeeduino ao PC por meio de um cabo USB.

nota

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

SeeeduinoGrove - 6-Position DIP Switch
5VVermelho
GNDPreto
SDABranco
SCLAmarelo

Software

cuidado

Se esta é a primeira vez que você trabalha com Arduino, recomendamos fortemente que veja Getting Started with Arduino antes de começar.

  • Passo 1. Baixe a biblioteca Grove Multi Switch do Github.

  • Passo 2. Consulte How to install library para instalar a biblioteca para Arduino.

  • Passo 3. Reinicie a Arduino IDE. Abra o exemplo pelo caminho: File --> Examples --> Grove Multi Switch Library --> Grove_Switch_Events.

Ou você pode simplesmente clicar no ícone no canto superior direito do bloco de código para copiar o código a seguir para um novo sketch na Arduino IDE.

#include "Grove_Multi_Switch.h"

GroveMultiSwitch mswitch[1];
const char* grove_5way_tactile_keys[] = {
"KEY A",
"KEY B",
"KEY C",
"KEY D",
"KEY E",
};
const char* grove_6pos_dip_switch_keys[] = {
"POS 1",
"POS 2",
"POS 3",
"POS 4",
"POS 5",
"POS 6",
};

const char** key_names;

int deviceDetect(void) {
if (!mswitch->begin()) {
Serial.println("***** Device probe failed *****");
return -1;
}

Serial.println("***** Device probe OK *****");
if (PID_VAL(mswitch->getDevID()) == PID_5_WAY_TACTILE_SWITCH) {
Serial.println("Grove 5-Way Tactile Switch Inserted!");
key_names = grove_5way_tactile_keys;
} else if (PID_VAL(mswitch->getDevID()) == PID_6_POS_DIP_SWITCH) {
Serial.println("Grove 6-Position DIP Switch Inserted!");
key_names = grove_6pos_dip_switch_keys;
}

// enable event detection
mswitch->setEventMode(true);

// report device model
Serial.print("A ");
Serial.print(mswitch->getSwitchCount());
Serial.print(" Button/Switch Device ");
Serial.println(mswitch->getDevVer());
return 0;
}

void setup()
{
Serial.begin(115200);
Serial.println("Grove Multi Switch");

// Initial device probe
if (deviceDetect() < 0) {
Serial.println("Insert Grove 5-Way Tactile");
Serial.println("or Grove 6-Position DIP Switch");
for (;;);
}

return;
}

void loop()
{
GroveMultiSwitch::ButtonEvent_t* evt;

delay(1);

evt = mswitch->getEvent();
if (!evt) {
// dynamic device probe
deviceDetect();
delay(1000);
return;
}

if (!(evt->event & GroveMultiSwitch::BTN_EV_HAS_EVENT)) {
#if 0
Serial.print("No event, errno = ");
Serial.println(mswitch->errno);
#endif
return;
}

for (int i = 0; i < mswitch->getSwitchCount(); i++) {
Serial.print(key_names[i]);
Serial.print(": RAW - ");
Serial.print((evt->button[i] & GroveMultiSwitch::BTN_EV_RAW_STATUS)?
"HIGH ": "LOW ");
if (PID_VAL(mswitch->getDevID()) == PID_5_WAY_TACTILE_SWITCH) {
Serial.print((evt->button[i] & GroveMultiSwitch::BTN_EV_RAW_STATUS)?
"RELEASED ": "PRESSED ");
} else if (PID_VAL(mswitch->getDevID()) == PID_6_POS_DIP_SWITCH) {
Serial.print((evt->button[i] & GroveMultiSwitch::BTN_EV_RAW_STATUS)?
"OFF ": "ON ");
}
Serial.println("");
}

for (int i = 0; i < mswitch->getSwitchCount(); i++) {
if (evt->button[i] & ~GroveMultiSwitch::BTN_EV_RAW_STATUS) {
Serial.println("");
Serial.print(key_names[i]);
Serial.print(": EVENT - ");
}
if (evt->button[i] & GroveMultiSwitch::BTN_EV_SINGLE_CLICK) {
Serial.print("SINGLE-CLICK ");
}
if (evt->button[i] & GroveMultiSwitch::BTN_EV_DOUBLE_CLICK) {
Serial.print("DOUBLE-CLICK ");
}
if (evt->button[i] & GroveMultiSwitch::BTN_EV_LONG_PRESS) {
Serial.print("LONG-PRESS ");
}
if (evt->button[i] & GroveMultiSwitch::BTN_EV_LEVEL_CHANGED) {
Serial.print("LEVEL-CHANGED ");
}
}
Serial.println("");
}

  • Passo 4. Envie o demo. Se você não souber como enviar o código, verifique How to upload code.

  • Passo 5. Abra o Serial Monitor da Arduino IDE clicando em Tool-> Serial Monitor. Ou pressione as teclas ctrl+shift+m ao mesmo tempo. Defina a taxa de transmissão para 115200.

dica

Se tudo correr bem, você obterá o resultado. Por exemplo, o interruptor padrão é desligado-Alto; quando você gira o Switch6 para ON, a saída será POS 6: RAW - LOW ON.

Grove Multi Switch
***** Device probe OK *****
Grove 6-Position DIP Switch Inserted!
A 6 Button/Switch Device BN-6--0.1
POS 1: RAW - HIGH OFF
POS 2: RAW - HIGH OFF
POS 3: RAW - HIGH OFF
POS 4: RAW - HIGH OFF
POS 5: RAW - HIGH OFF
POS 6: RAW - LOW ON

POS 6: EVENT - LEVEL-CHANGED
POS 1: RAW - LOW ON
POS 2: RAW - HIGH OFF
POS 3: RAW - HIGH OFF
POS 4: RAW - HIGH OFF
POS 5: RAW - HIGH OFF
POS 6: RAW - LOW ON

Visualizador de Esquemático Online

Recursos

Projeto

Este é o vídeo de introdução deste produto, com demos simples, que você pode experimentar.

Suporte Técnico & Discussão sobre o Produto

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

Loading Comments...