BBMagic BUTTON wielofunkcyjny bateryjny bezprzewodowy


BBMagic BUTTON battery
BBMagic BUTTON

BBMagic BUTTON wykrywa:

  • pojedymcze i podwójne kliknięcie guzika znajdującego się na PCB,
  • przytrzymanie guzika znajdującego się na PCB,
  • pojedymcze i podwójne kliknięcie przycisku podłączonego do pinów 24 i 25,
  • przytrzymanie przycisku podłączonego do pinów 24 i 25,

Może zatem relizować conajmniej trzy różne funkcje dla każdego z dwóch przycisków.

Programowanie z BBMagic BUTTON

Dzięki bibliotece bbmagic_lib odbieranie i przetwarzanie danych przez Raspberry Pi jest bardzo proste. Wiele przykładów możesz pobrać z działu Download.
Aby odbierać informacje (poniższy kod pisany jest dla biblioteki bbmagic_lib_1.4):

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 guzika PCB, 2 – podwójne kliknięcie guzika PCB, 3 – przytrzymanie guzika PCB,
11 – pojedyncze kliknięcie przycisku na pinach 24 i 25, 12 – podwójne kliknięcie przycisku na pinach 24 i 25, 13 – przytrzymanie przycisku na pinach 24 i 25.
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 w stopniach Celsjusza (kodowanie U2). Po skalibrowaniu może być interpretowana jako temperatura otoczenia.
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, 18, 19 Nie używane
15, 16 Pady do podłączenia alternatywnej diody LED wraz z szeregowym rezystorem. Pad 15 – anoda LED z szeregowym rezystorem, Pad 16 – katoda LED. Impulsy sterujace diodą pojawią się gdy pin 2 pozostanie niepodłączony do masy.
24, 25 Pady do podłączenia drugiego przycisku

Jak działa BBMagic BUTTON?

Każde naciśnięcie któregokolwiek z guzików powoduje wysłanie wiadomości poprzez radiowy link BBMagic over Bluetooth SMART.

    Moduł wykrywa:

  • pojedymcze i podwójne kliknięcie guzika znajdującego się na PCB
  • przytrzymanie na pół sekundy guzika znajdującego się na PCB
  • pojedymcze i podwójne kliknięcie przycisku podłączonego do pinów 24 i 25
  • przytrzymanie na pół sekundy przycisku podłączonego do pinów 24 i 25

wysyłając sześć różnych komunikatów.

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

  • Po skalibrowaniu wartość ta może być interpretowana jako temperatura otoczenia.

Komunikacja

  • BBMagic over Bluetooth Smart
  • Komunikacja szyfrowana i podpisywana cyfrowo AES-128
  • Bezpośrednia komunikacja z Raspberry Pi posiadającym chip Bluetooth SMART
  • Prosta obsługa programowa z wykorzystaniem biblioteki bbmagic_lib

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.

Komentarze są wyłączone.