KA-Nucleo-UniExp (PL): Difference between revisions
From Kamamilabs.com - Wiki
Anna Kubacka (talk | contribs) Utworzono nową stronę "__jzpdf__ ====== Description ====== [https://kamami.pl/kamod-kamami/234527-ka-nucleo-uniexp-ekspander-shield-zgodny-z-arduinonucleo-z-bluetooth-20edr-mems-lis35d-i-czujn..." |
No edit summary Tag: Manual revert |
||
(8 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
__jzpdf__ | __jzpdf__ | ||
====== | ====== Opis ====== | ||
[https://kamami.pl/kamod-kamami/234527-ka-nucleo-uniexp-ekspander-shield-zgodny-z-arduinonucleo-z-bluetooth-20edr-mems-lis35d-i-czujnikiem-temperatury.html KA-Nucleo-UniExp] | [https://kamami.pl/kamod-kamami/234527-ka-nucleo-uniexp-ekspander-shield-zgodny-z-arduinonucleo-z-bluetooth-20edr-mems-lis35d-i-czujnikiem-temperatury.html KA-Nucleo-UniExp] to wielofunkcyjny ekspander (shield) dla NUCLEO i Arduino wyposażony w interfejs Bluetooth 2.0+EDR (HC-05), MEMS 3DoF LIS35, LED-RGB, joystickiem i analogowym czujnikiem temperatury STLM20 opracowany i produkowany przez firmę KAMAMI. | ||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-UniExp_modul.jpg|none|400px|thumb|center]] | ||
</center> | </center> | ||
===== Podstawowe cechy i parametry ===== | |||
*Zgodność z systemami NUCLEO i Arduino | |||
*Wbudowany moduł Bluetooth v2.0+EDR o parametrach: | |||
**Profil SPP (Serial Port Protocol) | |||
**Prędkość transmisji asynchronicznej do 2,1 Mb/s | |||
**Prędkość transmisji synchronicznej do 1 Mb/s | |||
*Wbudowany akcelerometr MEMS 3D z I2C | |||
**Sprzętowy selektor adresu na magistrali | |||
**Zakres pomiarowy +/-2g lub +/-8gMaksymalna częstotliwość pomiarów 100/400 Hz | |||
*Wbudowany czujnik temperatury z wyjściem analogowym (-40…+85°C) | |||
*Wbudowana LED RGB | |||
*Wbudowany joystick 5-stykowy | |||
*Przedłużone złącza szpilkowe | |||
===== | ===== Wyposażenie standardowe ===== | ||
<center> | <center> | ||
{| class="wikitable" style="width: 1000px;" | {| class="wikitable" style="width: 1000px;" | ||
|- | |- | ||
! style="text-align: center;"| | ! style="text-align: center;"|Kod | ||
! style="text-align: center;"| | ! style="text-align: center;"|Opis | ||
|- | |- | ||
| style="text-align: center;"|<b>KA-Nucleo-UniExp</b> | | style="text-align: center;"|<b>KA-Nucleo-UniExp</b> | ||
| style="text-align: center;"| | | style="text-align: center;"| | ||
* | *Zmontowany i uruchomiony moduł | ||
|} | |} | ||
</center> | </center> | ||
===== | ===== Schemat elektryczny ===== | ||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-UniExp_schemat.png|none|800px|thumb|center]] | ||
</center> | </center> | ||
===== | ===== Widok płytki ===== | ||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-UniExp_obrys.png|none|300px|thumb|center]] | ||
</center> | </center> | ||
===== | ===== Czujnik temperatury ===== | ||
W ekspanderze zastosowano półprzewodnikowy czujnik temperatury STLM20 z wyjściem analogowym. Napięcie na wyjściu czujnika zmienia się zgodnie ze wzorem: | |||
<center> | <center> | ||
{| class="wikitable" style="width: 300px;" | {| class="wikitable" style="width: 300px;" | ||
|- | |- | ||
! style="text-align: center;"|Vo = (–11,69mV)/°C × T + 1,8663V [V] | ! style="text-align: center;"|Vo = (–11,69mV)/°C × T + 1,8663V [V] | ||
|} | |} | ||
</center> | </center> | ||
gdzie: | |||
*T - | *T - temperatura zmierzona przez czujnik | ||
*Vo – | *Vo – napięcie na wyjściu czujnika | ||
Mierzona temperatura ma więc wartość: | |||
<center> | <center> | ||
{| class="wikitable" style="width: 300px;" | {| class="wikitable" style="width: 300px;" | ||
|- | |- | ||
! style="text-align: center;"|T=(1,8663−Vo)/0,01169 [°C] | ! style="text-align: center;"|T=(1,8663−Vo)/0,01169 [°C] | ||
|} | |} | ||
</center> | </center> | ||
Wyjście czujnika temperatury dołączono do linii A2, która spełnia rolę kanału wejściowego ADC_IN4 (linia GPIO PA4 w STM32) | |||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-UniExp_czujnik_temp.png|none|500px|thumb|center]] | ||
</center> | </center> | ||
===== Bluetooth | ===== Interfejs Bluetooth ===== | ||
W ekspanderze zastosowano moduł Bluetooth HC-05, komunikujący się z mikrokontrolerem za pomocą interfejsu | |||
UART (UART1 w STM32). Sposób dołączenia modułu do mikrokontrolera STM32 przedstawiono w tabeli poniżej. | |||
<center> | <center> | ||
{| class="wikitable" style="width: 1000px;" | {| class="wikitable" style="width: 1000px;" | ||
|- | |- | ||
! style="text-align: center;"| HC-05 | ! style="text-align: center;"|Linie HC-05 | ||
! style="text-align: center;"| | ! style="text-align: center;"|Nazwa linii | ||
! style="text-align: center;"|GPIO | ! style="text-align: center;"|GPIO w STM32 | ||
! style="text-align: center;"| STM32 | ! style="text-align: center;"|Interfejs STM32 | ||
|- | |- | ||
Line 107: | Line 107: | ||
Mikroswitch Sw1 służy do przełączania trybu pracy modułu, w tym wprowadzania w tryb AT. Zalecanym sposobem | |||
przełączenia modułu w tryb AT jest wciśnięcie i przytrzymanie Sw1 przed włączeniem zasilania (interfejs UART pracuje | |||
wtedy z prędkością 38400 b/s). Moduł sygnalizuje wejście w ten tryb pracy miganiem LED D1 z częstotliwością | |||
1 Hz. Wysoki stan na wejściu KEY modułu można wymusić także z poziomu mikrokontrolera (PA0/A0). | |||
Jeżeli LED D1 miga z częstotliwością 2 Hz oznacza to oczekiwanie na sparowanie lub poprawne sparowanie, które | |||
dodatkowo jest sygnalizowane za pomocą świecenia LED D2. | |||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-UniExp_bluetooth.png|none|600px|thumb|center]] | ||
</center> | </center> | ||
===== MEMS 3D | ===== Akcelerometr MEMS 3D ===== | ||
Ekspander jest wyposażony w akcelerometr MEMS 3D (LIS35DE), komunikujący się z mikrokontrolerem za pomocą | |||
magistrali I2C (kanał I2C1 w STM32). Sposób dołączenia akcelerometru pokazano w tabeli poniżej. | |||
<center> | <center> | ||
{| class="wikitable" style="width: 1000px;" | {| class="wikitable" style="width: 1000px;" | ||
|- | |- | ||
! style="text-align: center;"| LIS35DE | ! style="text-align: center;"|Linie LIS35DE | ||
! style="text-align: center;"| | ! style="text-align: center;"|Nazwa linii | ||
! style="text-align: center;"|GPIO | ! style="text-align: center;"|GPIO w STM32 | ||
! style="text-align: center;"|STM32 | ! style="text-align: center;"|Interfejs STM32 | ||
! style="text-align: center;"| | ! style="text-align: center;"|Uwagi | ||
|- | |- | ||
Line 129: | Line 135: | ||
| style="text-align: center;"|PB8 | | style="text-align: center;"|PB8 | ||
| style="text-align: center;"|SCL/I2C1 | | style="text-align: center;"|SCL/I2C1 | ||
| rowspan="2" style="text-align: center;"| | | rowspan="2" style="text-align: center;"|Linie podciągnięte do plusa zasilania rezystorami 4,7 kΩ | ||
|- | |- | ||
Line 152: | Line 158: | ||
|} | |} | ||
</center> | </center> | ||
Akcelerometr zastosowany w zestawie ma następujący adres bazowy na magistrali I2C: 001110xb. Symbol „x” | |||
oznacza „0” lub „1” w zależności od położenia zwory JP1. | |||
Linie komunikacyjne magistrali I2C są podciągnięte do plusa zasilania za pomocą rezystorów 4,7kΩ. | |||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-UniExp_akcelerometr.png|none|600px|thumb|center]] | ||
</center> | </center> | ||
<center> | <center> | ||
{| class="wikitable" style="width: 500px;" | {| class="wikitable" style="width: 500px;" | ||
|- | |- | ||
! style="text-align: center;"| | ! style="text-align: center;"|Zwarte styki JP1 | ||
! style="text-align: center;"| | ! style="text-align: center;"|Adres bazowu U1 | ||
! style="text-align: center;"|SA0 | ! style="text-align: center;"|SA0 | ||
Line 177: | Line 185: | ||
===== LED-RGB ===== | ===== LED-RGB ===== | ||
Wbudowane diody LED-RGB są sterowane bezpośrednio z linii GPIO mikrokontrolera zgodnie z tabelą poniżej. | |||
Diody świecą jeżeli na linii sterującej jest stan logiczny „0”.) | |||
<center> | <center> | ||
{| class="wikitable" style="width: 1000px;" | {| class="wikitable" style="width: 1000px;" | ||
|- | |- | ||
! style="text-align: center;"| LED | ! style="text-align: center;"|Dioda LED | ||
! style="text-align: center;"| | ! style="text-align: center;"|Nazwa linii | ||
! style="text-align: center;"|GPIO | ! style="text-align: center;"|GPIO w STM32 | ||
! style="text-align: center;"| | ! style="text-align: center;"|Uwagi | ||
|- | |- | ||
Line 190: | Line 199: | ||
| style="text-align: center;"|D12 | | style="text-align: center;"|D12 | ||
| style="text-align: center;"|PA6 | | style="text-align: center;"|PA6 | ||
| rowspan="3" style="text-align: center;"| | | rowspan="3" style="text-align: center;"|LED świecą, gdy stan na liniach GPIO jest "0" | ||
|- | |- | ||
Line 196: | Line 205: | ||
| style="text-align: center;"|D11 | | style="text-align: center;"|D11 | ||
| style="text-align: center;"|PA7 | | style="text-align: center;"|PA7 | ||
|- | |- | ||
Line 205: | Line 215: | ||
</center> | </center> | ||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-UniExp_LED_RGB.png|none|600px|thumb|center]] | ||
</center> | </center> | ||
===== Joystick ===== | ===== Joystick ===== | ||
Wbudowany w ekspander 5-stykowy joystick jest dołączony bezpośrednio do linii GPIO mikrokontrolera zgodnie | |||
z tabelą poniżej. Każda linia jest podciągnięta do plusa zasilania za pomocą rezystora 10 kΩ. | |||
<center> | <center> | ||
{| class="wikitable" style="width: 1000px;" | {| class="wikitable" style="width: 1000px;" | ||
|- | |- | ||
! style="text-align: center;"| | ! style="text-align: center;"|Kierunek joysticka | ||
! style="text-align: center;"| | ! style="text-align: center;"|Nazwa linii | ||
! style="text-align: center;"|GPIO | ! style="text-align: center;"|GPIO w STM32 | ||
! style="text-align: center;"| | ! style="text-align: center;"|Uwagi | ||
|- | |- | ||
| style="text-align: center;"| | | style="text-align: center;"|Góra | ||
| style="text-align: center;"|D4 | | style="text-align: center;"|D4 | ||
| style="text-align: center;"|PB5 | | style="text-align: center;"|PB5 | ||
| rowspan="5" style="text-align: center;"| | | rowspan="5" style="text-align: center;"|Linie podciągnięte do plusa zasilania rezystorami 10 kΩ | ||
|- | |- | ||
| style="text-align: center;"| | | style="text-align: center;"|Dół | ||
| style="text-align: center;"|D10 | | style="text-align: center;"|D10 | ||
| style="text-align: center;"|PB6 | | style="text-align: center;"|PB6 | ||
|- | |- | ||
| style="text-align: center;"| | | style="text-align: center;"|Lewo | ||
| style="text-align: center;"|D3 | | style="text-align: center;"|D3 | ||
| style="text-align: center;"|PB3 | | style="text-align: center;"|PB3 | ||
|- | |- | ||
| style="text-align: center;"| | | style="text-align: center;"|Prawo | ||
| style="text-align: center;"|D5 | | style="text-align: center;"|D5 | ||
| style="text-align: center;"|PB4 | | style="text-align: center;"|PB4 | ||
Line 246: | Line 258: | ||
</center> | </center> | ||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-UniExp_joystick.png|none|600px|thumb|center]] | ||
</center> | </center> | ||
===== | ===== Mapa przypisań linii GPIO ===== | ||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-UniExp mapa GPIO.png|none|1000px|thumb|center]] | ||
</center> | </center> | ||
Latest revision as of 16:09, 1 November 2024
Opis
KA-Nucleo-UniExp to wielofunkcyjny ekspander (shield) dla NUCLEO i Arduino wyposażony w interfejs Bluetooth 2.0+EDR (HC-05), MEMS 3DoF LIS35, LED-RGB, joystickiem i analogowym czujnikiem temperatury STLM20 opracowany i produkowany przez firmę KAMAMI.
Podstawowe cechy i parametry
- Zgodność z systemami NUCLEO i Arduino
- Wbudowany moduł Bluetooth v2.0+EDR o parametrach:
- Profil SPP (Serial Port Protocol)
- Prędkość transmisji asynchronicznej do 2,1 Mb/s
- Prędkość transmisji synchronicznej do 1 Mb/s
- Wbudowany akcelerometr MEMS 3D z I2C
- Sprzętowy selektor adresu na magistrali
- Zakres pomiarowy +/-2g lub +/-8gMaksymalna częstotliwość pomiarów 100/400 Hz
- Wbudowany czujnik temperatury z wyjściem analogowym (-40…+85°C)
- Wbudowana LED RGB
- Wbudowany joystick 5-stykowy
- Przedłużone złącza szpilkowe
Wyposażenie standardowe
Kod | Opis |
---|---|
KA-Nucleo-UniExp |
|
Schemat elektryczny
Widok płytki
Czujnik temperatury
W ekspanderze zastosowano półprzewodnikowy czujnik temperatury STLM20 z wyjściem analogowym. Napięcie na wyjściu czujnika zmienia się zgodnie ze wzorem:
Vo = (–11,69mV)/°C × T + 1,8663V [V] |
---|
gdzie:
- T - temperatura zmierzona przez czujnik
- Vo – napięcie na wyjściu czujnika
Mierzona temperatura ma więc wartość:
T=(1,8663−Vo)/0,01169 [°C] |
---|
Wyjście czujnika temperatury dołączono do linii A2, która spełnia rolę kanału wejściowego ADC_IN4 (linia GPIO PA4 w STM32)
Interfejs Bluetooth
W ekspanderze zastosowano moduł Bluetooth HC-05, komunikujący się z mikrokontrolerem za pomocą interfejsu UART (UART1 w STM32). Sposób dołączenia modułu do mikrokontrolera STM32 przedstawiono w tabeli poniżej.
Linie HC-05 | Nazwa linii | GPIO w STM32 | Interfejs STM32 |
---|---|---|---|
Tx | D2 | PA10 | UART1/RxD |
Rx | D8 | PA9 | UART1/TxD |
KEY | A0 | PA0 | - |
RESET | nRST | nRES | - |
Mikroswitch Sw1 służy do przełączania trybu pracy modułu, w tym wprowadzania w tryb AT. Zalecanym sposobem
przełączenia modułu w tryb AT jest wciśnięcie i przytrzymanie Sw1 przed włączeniem zasilania (interfejs UART pracuje
wtedy z prędkością 38400 b/s). Moduł sygnalizuje wejście w ten tryb pracy miganiem LED D1 z częstotliwością
1 Hz. Wysoki stan na wejściu KEY modułu można wymusić także z poziomu mikrokontrolera (PA0/A0).
Jeżeli LED D1 miga z częstotliwością 2 Hz oznacza to oczekiwanie na sparowanie lub poprawne sparowanie, które
dodatkowo jest sygnalizowane za pomocą świecenia LED D2.
Akcelerometr MEMS 3D
Ekspander jest wyposażony w akcelerometr MEMS 3D (LIS35DE), komunikujący się z mikrokontrolerem za pomocą magistrali I2C (kanał I2C1 w STM32). Sposób dołączenia akcelerometru pokazano w tabeli poniżej.
Linie LIS35DE | Nazwa linii | GPIO w STM32 | Interfejs STM32 | Uwagi |
---|---|---|---|---|
SCL | D15 | PB8 | SCL/I2C1 | Linie podciągnięte do plusa zasilania rezystorami 4,7 kΩ |
SDA | D14 | PB9 | SDA/I2C1 | |
INT1 | A1 | PA1 | - | - |
INT2 | D7 | PA8 | - | - |
Akcelerometr zastosowany w zestawie ma następujący adres bazowy na magistrali I2C: 001110xb. Symbol „x” oznacza „0” lub „1” w zależności od położenia zwory JP1. Linie komunikacyjne magistrali I2C są podciągnięte do plusa zasilania za pomocą rezystorów 4,7kΩ.
Zwarte styki JP1 | Adres bazowu U1 | SA0 |
---|---|---|
1-2 | 0011101b | 1 |
2-3 | 0011100b | 0 |
LED-RGB
Wbudowane diody LED-RGB są sterowane bezpośrednio z linii GPIO mikrokontrolera zgodnie z tabelą poniżej. Diody świecą jeżeli na linii sterującej jest stan logiczny „0”.)
Dioda LED | Nazwa linii | GPIO w STM32 | Uwagi |
---|---|---|---|
Red | D12 | PA6 | LED świecą, gdy stan na liniach GPIO jest "0" |
Green | D11 | PA7
| |
Blue | A3 | PB0 |
Joystick
Wbudowany w ekspander 5-stykowy joystick jest dołączony bezpośrednio do linii GPIO mikrokontrolera zgodnie z tabelą poniżej. Każda linia jest podciągnięta do plusa zasilania za pomocą rezystora 10 kΩ.
Kierunek joysticka | Nazwa linii | GPIO w STM32 | Uwagi |
---|---|---|---|
Góra | D4 | PB5 | Linie podciągnięte do plusa zasilania rezystorami 10 kΩ |
Dół | D10 | PB6 | |
Lewo | D3 | PB3 | |
Prawo | D5 | PB4 | |
OK | D6 | PB10 |