BBMagic BUTTON wielofunkcyjny bateryjny bezprzewodowy


BBMagic BUTTON wykrywa:

  • pojedymcze kliknięcie
  • podwójne kliknięcie
  • przytrzymanie

Może zatem relizować conajmniej trzy różne funkcje.

BBMagic BUTTON

Programowanie z BBMagic BUTTON

Dzięki bibliotece bbmagic_lib odbieranie i przetwarzanie danych przez Raspberry Pi zero W oraz Raspberry Pi 3 jest bardzo proste. Bibliotekę możesz pobrać z działu Download. Aby odbierać informacje wystarczy:

Tworzymy bufor na dane i zmienne pomocnicze
unsigned char bbm_buf[100] ;
int len, ret ;

Otwieramy komunikację
ret = bbm_bt_open(0) ;
if(ret) exit(1) ;

Sprawdzamy czy nadeszły dane
len = bbm_bt_read(bbm_buf) ;
Jeśli tak to mamy je w buforze
if(len > 0)
if(bbm_buf[BBMAGIC_DEVICE_TYPE] == BBMAGIC_M_BUTTON)
{
if(bbm_buf[BBM_BUTTON_BUTTON_FUNCTION] == BBM_BUTTON_FN_SINGLE_CLICK)
wlacz_swiatlo() ;
if(bbm_buf[BBM_BUTTON_BUTTON_FUNCTION] == BBM_BUTTON_FN_DOUBLE_CLICK)
wylacz_swiatlo() ;
if(bbm_buf[BBM_BUTTON_BUTTON_FUNCTION] == BBM_BUTTON_FN_HOLDING)
wylacz_wszystko() ;
}

Zawartość bufora zdefiniowano w pliku bbmagic_lib.h

bbm_buf[BBMAGIC_DEVICE_TYPE] typ modułu, który nadesłał dane ; w tym przypadku będzie to BBMAGIC_M_BUTTON
bbm_buf[BBM_BUTTON_BUTTON_FUNCTION] funkcja wywołana przez użytkownika: 1 – pojedyncze kliknięcie, 2 – podwójne kliknięcie. 3 – przytrzymanie.
bbm_buf[BBM_METEO_V_SUP] aktualne napięcie zasilania modułu ; należy podzielic przez 71 (BBMAGIC_VCC_DIVIDER) aby otrzymać napięcie w woltach.
bbm_buf[BBM_BUTTON_INPUT_PINS] stan wejść cyfrowych modułu
bbm_buf[BBM_BUTTON_CHIP_TEMP] temperatura chipu, która może być interpretowana jako tempera otoczenia o niskiej dokładności +/-3*C
bbm_buf[BBM_BUTTON_LIGHT] poziom natężenia światła
bbm_buf[BBM_BUTTON_FIRM_0] numer wersji firmwareu modułu, młodszy bajt
bbm_buf[BBM_BUTTON_FIRM_1] numer wersji firmwareu modułu, starszy bajt
bbm_buf[BBMAGIC_DEVICE_ADDR_0] adres modułu najmłodszy bajt 0
bbm_buf[BBMAGIC_DEVICE_ADDR_1] adres modułu bajt 1
bbm_buf[BBMAGIC_DEVICE_ADDR_2] adres modułu bajt 2
bbm_buf[BBMAGIC_DEVICE_ADDR_3] adres modułu bajt 3
bbm_buf[BBMAGIC_DEVICE_ADDR_4] adres modułu bajt 4
bbm_buf[BBMAGIC_DEVICE_ADDR_5] adres modułu najstarszy bajt 5
bbm_buf[BBMAGIC_DEVICE_RSSI] moc odbieranego sygnału radiowego w dBm

Wyprowadzenia

BBMagic BUTTON pinout

Numer pinu Opis
1,8,20,22,23,24 Masa
2 Konfiguracja sygnalizacji naciśnięcia guzika didą LED. Podłączony do masy – sygnalizacji błyskami czerwonej diody LED wbudowanej w moduł. Niepodłączenie – sygnał pojawia się na pinach 15 i 16.
3,4,5,6 Aktywne masą wejścia cyfrowe próbkowane każdorazowo tuż po naciśnięciu guzika.
7,21 Napięcie zasilania 1,8V – 3,6V
21,22 Pady do wlutowania uchwytu dla baterii pastylkowej CR2032: 21 (+) i 22 (-)
7,8,9 Pady dla wlutowania stabilizatora w przypadku chęci zasilania z wyższego napięcia. Ten sposób zasilania jest identyczny jak dla BBMagic METEO opisany tutaj: Jak zasilić BBMagic METEO moduł z Bluetooth Low Energy
10 Wejście napięcia zasilania dla stabilizatora. Ten sposób zasilania jest identyczny jak dla BBMagic METEO opisany tutaj: Jak zasilić BBMagic METEO moduł z Bluetooth Low Energy
11,12 Pady dla wlutowania fotorezystora 10k. Pomiar poziomu oświetlenia dokonywany jest tuż po naciśnięciu guzika.
13, 14, 17 Nie używane
15, 16 Pady do podłączenia alternatywnej diody LED wraz z szeregowym rezystorem. Pad 15 – anoda LED z rezystorem, Pad 16 – katoda LED. Impulsy sterujace diodą pojawią się gdy pin 2 pozostanie niepodłączony.
18,19 Linie UARTa odpowiednio nadawanie i odbiór. Zakres dopuszczalnych napięć: 0V-5V

Jak działa BBMagic BUTTON?

Każde naciśnięcie guzika powoduje wysłanie wiadomości poprzez radiowy link Bluetooth Low Energy.

    Moduł wykrywa:

  • pojedymcze kliknięcie
  • podwójne kliknięcie
  • przytrzymanie

wysyłając trzy różne komunikaty.

Dodatkowe funkcje BBMagic BUTTON

Detektor światła

  • Fotorezystor 10k
  • Zakres wartości 0 do 255

Cztery wejścia cyfrowe IN_0 – IN_3

  • Aktywne stanem niskim
  • Próbkowane tuż po wykryciu aktywności guzika

Monitorowanie stanu baterii

  • Pomiar napięcia zasilania przy każdej aktywności guzika

Pomiar temperatury chipu

  • ten pomiar może być interpretowany jako temperatura otoczenia o niskiej dokładnośći rzędu 3*C

Komunikacja

  • Bluetooth Smart zwany również Bluetooth Low Energy
  • Komunikacja szyfrowana i podpisywana cyfrowo AES-128
  • Bezpośrednia komunikacja z Raspberry Pi Zero W i Raspberry Pi 3 poprzez Bluetooth 4.0
  • Prosta obsługa programowa z wykorzystaniem bibliotek

Zasilanie

  • bateria 3V CR2032 – pady do wlutowania uchwytu: 21 (+) i 22 (-)
  • 2 x bateria 1,5V AA lub AAA – pady do wlutowania przewodów: 7 (+) and 8 (-)
  • 2 x akumulator 1,2V NiCd lub NiMH – pady do wlutowania przewodów: 7 (+) and 8 (-)
  • Z jakiegokolwiek źródła o napięciu z przedziału: 1,8V do 3,6V – pady do wlutowania przewodów: 7 (+) i 8 (-)
  • Poprzez stabilizator – Podłącz ‘+’ do 10, a ‘-‘ do 22, 23 lub 24. Pady do wlutowania stabilizatora w obudowie TO-92 – 7,8,9 (np.:L78L33, TS2950CT-3.3, LP2950CZ-3.3RAG, MCP1702-3302E, LM2936Z-3.3, LT1121CZ-3.3). Jak dobrać stabilizator: Jak zasilić BBMagic METEO moduł z Bluetooth Low Energy
Tagi , , .Dodaj do zakładek Link.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *