KA-Nucleo-Weather: Difference between revisions
From Kamamilabs.com - Wiki
No edit summary Tag: Manual revert |
|||
(42 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
====== | __jzpdf__ | ||
[https://kamami.pl/kamod-kamami/333318-ka-nucleo-weather-ekspander-shield-z-sensorami-srodowiskowymi-cisnienia-wilgotnosci-temperatury-natezenia-swiatla.html KA-Nucleo-Weather] | ====== Description ====== | ||
[https://kamami.pl/kamod-kamami/333318-ka-nucleo-weather-ekspander-shield-z-sensorami-srodowiskowymi-cisnienia-wilgotnosci-temperatury-natezenia-swiatla.html KA-Nucleo-Weather] is an functional expander for NUCLEO and Arduino boards with set of environmental sensors: pressure, humidity, temperature and light intensity sensors as well as 5-way joystick and RGB LED. | |||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-Weather_modul.png|none|400px|thumb|center]] | ||
</center> | </center> | ||
===== | ===== Basic features and parameters ===== | ||
* | *Compatibility with NUCLEO and Arduino systems | ||
* | *Embedded MEMS pressure sensor (LPS331): | ||
** | **Measurement range 260 to 1260mbar | ||
** | **Measurement output data rate (ODR) 1 Hz to 25 Hz | ||
** | **ADC resolution 16 bits | ||
** | **Interface: SPI/I2C (used I2C) | ||
* | *Embedded MEMS humidity sensor (HTS221): | ||
** | **Measurement range 0 to 100% (relative humidity) | ||
** | **Measurement output data rate (ODR) 1 Hz to 12,5 Hz | ||
** | **ADC resolution 16 bits | ||
** | **Interface: SPI/I2C (used I2C) | ||
* | *Embedded digital temperature sensor (STLM75): | ||
** | **Measurement range –55°C to +125°C | ||
** | **ADC conversion time <150ms | ||
** | **Integrated programmable thermostat | ||
** | **ADC resolution 9 bits | ||
** | **Interface: SMbus/I2C | ||
* | *Embedded digital light intensity sensor ALS (TSL25721): | ||
** | **Approximates human eye response | ||
** | ** Integrated analog amplifiers with programmable gain | ||
** | **Two measurement canals | ||
** | **Integrated programmable comparators | ||
** | ** Measurement dynamic range 45,000,000:1 | ||
** | **Maximum light intensity to 60000 lux | ||
** | **ADC resolution 16 bits | ||
* | *Embedded RGB LED | ||
* | *Embedded 5-way joystick | ||
* | *Extended pins connector | ||
===== | ===== Standard equipment ===== | ||
<center> | <center> | ||
{| class="wikitable" style="width: 1000px;" | {| class="wikitable" style="width: 1000px;" | ||
|- | |- | ||
! style="text-align: center;"| | ! style="text-align: center;"|Code | ||
! style="text-align: center;"| | ! style="text-align: center;"|Description | ||
|- | |- | ||
| style="text-align: center;"|<b>KA-Nucleo-Weather</b> | | style="text-align: center;"|<b>KA-Nucleo-Weather</b> | ||
| style="text-align: center;"| | | style="text-align: center;"| | ||
* | *Assembled and launched module | ||
|} | |} | ||
</center> | </center> | ||
===== | ===== Electrical schematics ===== | ||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-Weather_schemat.png|none|800px|thumb|center]] | ||
</center> | </center> | ||
===== | ===== Board view ===== | ||
<br> | |||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-Weather_obrys_PCB.png|none|200px|thumb|center]] | ||
</center> | </center> | ||
===== | ===== Temperature sensor ===== | ||
In expander was used semiconductor temperature sensor STLM75 with digital output. Communication interface of temperature sensor is connected to common (for all sensors) I2C bus. Communication lines of I2C interface are pulled up to power supply by 4,7 kΩ resistors. Connection method of temperature sensor to microcontroller is showing on schematic. Output of temperature sensor is connected to line A2, which is input canal of ADC_IN4 (PA4 GPIO pin of STM32). | |||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-Weather_obrys_schemat_temp_sens.png|none|500px|thumb|center]] | ||
</center> | </center> | ||
<br> | |||
<center> | <center> | ||
{| class="wikitable" style="width: 1000px;" | {| class="wikitable" style="width: 1000px;" | ||
|- | |- | ||
! style="text-align: center;"| | ! style="text-align: center;"|Line STLM75 | ||
! style="text-align: center;"| | ! style="text-align: center;"|Line name | ||
! style="text-align: center;"|GPIO | ! style="text-align: center;"|GPIO in STM32 | ||
! style="text-align: center;"| | ! style="text-align: center;"|STM32 interface | ||
! style="text-align: center;"| | ! style="text-align: center;"|Comments | ||
|- | |- | ||
Line 83: | Line 83: | ||
| style="text-align: center;"|PB8 | | style="text-align: center;"|PB8 | ||
| rowspan="2" style="text-align: center;"|I2C1 | | rowspan="2" style="text-align: center;"|I2C1 | ||
| rowspan="3" style="text-align: center;"| | | rowspan="3" style="text-align: center;"|Lines was pulled up to power supply lines by 4,7 kΩ resistors | ||
|- | |- | ||
Line 97: | Line 97: | ||
|} | |} | ||
<br> | |||
Jumper JP1 make possible choosing base address of STLM75 chip according to table below: | |||
{| class="wikitable" style="width: 500px;" | {| class="wikitable" style="width: 500px;" | ||
|- | |- | ||
! style="text-align: center;"| | ! style="text-align: center;"|Closed pins JP1 | ||
! style="text-align: center;"|A0 | ! style="text-align: center;"|A0 | ||
! style="text-align: center;"| | ! style="text-align: center;"|I2C base address | ||
|- | |- | ||
| style="text-align: center;"|1-2 | | style="text-align: center;"|1-2 | ||
| style="text-align: center;"|1 | | style="text-align: center;"|1 | ||
| style="text-align: center;"|90h/91h | | style="text-align: center;"|90h/91h | ||
|- | |- | ||
| style="text-align: center;"|2-3 | | style="text-align: center;"|2-3 | ||
Line 118: | Line 116: | ||
</center> | </center> | ||
===== | ===== Light intensity sensor (ALS) ===== | ||
Expander is equipped with digital sensor of light intensity in environment TSL25721. Sensor has I2C interface. Communication bus of this sensor is connected to common (for all sensors) I2C bus. I2C communication lines are pulled up to power supply by 4,7 kΩ resistors. Connection method of TSL25721 sensor to microcontroller is showing on schematic. | |||
<center> | |||
[[File:KA-Nucleo-Weather_obrys_schemat_ALS_sens.png|none|500px|thumb|center]] | |||
</center> | |||
<br> | |||
<center> | <center> | ||
{| class="wikitable" style="width: 1000px;" | {| class="wikitable" style="width: 1000px;" | ||
|- | |- | ||
! style="text-align: center;"| | ! style="text-align: center;"|Line TSL25721 | ||
! style="text-align: center;"| | ! style="text-align: center;"|Line name | ||
! style="text-align: center;"|GPIO | ! style="text-align: center;"|GPIO in STM32 | ||
! style="text-align: center;"| | ! style="text-align: center;"|STM32 interface | ||
! style="text-align: center;"|Comments | |||
|- | |- | ||
| style="text-align: center;"| | | style="text-align: center;"|SCL | ||
| style="text-align: center;"| | | style="text-align: center;"|D15 | ||
| style="text-align: center;"| | | style="text-align: center;"|PB8 | ||
| style="text-align: center;"| | | rowspan="2" style="text-align: center;"|I2C1 | ||
| rowspan="2" style="text-align: center;"|Lines was pulled up to power supply lines by 4,7 kΩ resistors | |||
|- | |- | ||
| style="text-align: center;"| | | style="text-align: center;"|SDA | ||
| style="text-align: center;"| | | style="text-align: center;"|D14 | ||
| style="text-align: center;"|PA9 | | style="text-align: center;"|PA9 | ||
|- | |- | ||
| style="text-align: center;"| | | style="text-align: center;"|INT | ||
| style="text-align: center;"|A0 | | style="text-align: center;"|A0 | ||
| style="text-align: center;"|PA0 | | style="text-align: center;"|PA0 | ||
| style="text-align: center;"|- | | style="text-align: center;"|- | ||
| style="text-align: center;"|- | | style="text-align: center;"|- | ||
|} | |} | ||
</center> | </center> | ||
<br> | |||
TSL25721 sensor is placed in I2C bus under base address 72h/73h. | |||
===== Humidity sensor ===== | |||
Expander is equipped with digital humidity sensor HTS221 with I2C communication interface. Communication bus of this sensor is connected to common (for all sensors) I2C bus. I2C communication lines are pulled up to power supply by 4,7 kΩ resistors. Connection method of HTS221 sensor to microcontroller is showing on schematic. | |||
<br> | |||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-Weather_obrys_schemat_humi_sens.png|none|500px|thumb|center]] | ||
</center> | </center> | ||
<br> | |||
<center> | <center> | ||
{| class="wikitable" style="width: 1000px;" | {| class="wikitable" style="width: 1000px;" | ||
|- | |- | ||
! style="text-align: center;"| | ! style="text-align: center;"|Line HTS221 | ||
! style="text-align: center;"| | ! style="text-align: center;"|Line name | ||
! style="text-align: center;"|GPIO | ! style="text-align: center;"|GPIO in STM32 | ||
! style="text-align: center;"| | ! style="text-align: center;"|STM32 interface | ||
! style="text-align: center;"| | ! style="text-align: center;"|Comments | ||
|- | |- | ||
Line 184: | Line 176: | ||
| style="text-align: center;"|D15 | | style="text-align: center;"|D15 | ||
| style="text-align: center;"|PB8 | | style="text-align: center;"|PB8 | ||
| style="text-align: center;"| | | rowspan="2" style="text-align: center;"|I2C1 | ||
| rowspan="2" style="text-align: center;"| | | rowspan="2" style="text-align: center;"| Lines was pulled up to power supply lines by 4,7 kΩ resistors | ||
|- | |- | ||
| style="text-align: center;"|SDA | | style="text-align: center;"|SDA | ||
| style="text-align: center;"|D14 | | style="text-align: center;"|D14 | ||
| style="text-align: center;"| | | style="text-align: center;"|PA9 | ||
|- | |- | ||
| style="text-align: center;"| | | style="text-align: center;"|DRDY | ||
| style="text-align: center;"| | | style="text-align: center;"|D8 | ||
| style="text-align: center;"| | | style="text-align: center;"|PA9 | ||
| style="text-align: center;"|- | | style="text-align: center;"|- | ||
| style="text-align: center;"|- | | style="text-align: center;"|- | ||
|} | |} | ||
</center> | </center> | ||
<br> | |||
HTS221 sensor is placed in I2C bus under base address BEh/BFh. | |||
===== Pressure sensor ===== | |||
Expander is equipped with digital pressure sensor LPS331 with I2C communication interface. Communication bus of this sensor is connected to common (for all sensors) I2C bus. I2C communication lines are pulled up to power supply by 4,7 kΩ resistors. Interrupt output (INT1 and INT2) of sensor LPS331 can work in push-pull mode and don't need pulling up to power supply. Connection method of LPS331 sensor to microcontroller is showing on schematic. | |||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-Weather_schemat_press_sens.png|none|350px|thumb|center]] | ||
</center> | </center> | ||
<br> | |||
<center> | <center> | ||
{| class="wikitable" style="width: | {| class="wikitable" style="width: 1000px;" | ||
|- | |||
! style="text-align: center;"|Line LPS331 | |||
! style="text-align: center;"|Line name | |||
! style="text-align: center;"|GPIO in STM32 | |||
! style="text-align: center;"|STM32 interface | |||
! style="text-align: center;"|Comments | |||
|- | |- | ||
| style="text-align: center;"|SCL | |||
| style="text-align: center;"|D15 | |||
| style="text-align: center;"|PB8 | |||
| rowspan="2" style="text-align: center;"|I2C1 | |||
| rowspan="2" style="text-align: center;"| Lines was pulled up to power supply lines by 4,7 kΩ resistors | |||
|- | |- | ||
| style="text-align: center;"| | | style="text-align: center;"|SDA | ||
| style="text-align: center;"| | | style="text-align: center;"|D14 | ||
| style="text-align: center;"| | | style="text-align: center;"|PA9 | ||
|- | |- | ||
| style="text-align: center;"| | | style="text-align: center;"|INT1 | ||
| style="text-align: center;"| | | style="text-align: center;"|A1 | ||
| style="text-align: center;"| | | style="text-align: center;"|PA1 | ||
| style="text-align: center;"|- | |||
| rowspan="2" style="text-align: center;"|Outputs should be configured as push-pull | |||
|- | |||
| style="text-align: center;"|INT2 | |||
| style="text-align: center;"|A2 | |||
| style="text-align: center;"|PA4 | |||
| style="text-align: center;"|- | |||
|} | |} | ||
</center> | </center> | ||
<br> | |||
LPS331 sensor is placed in I2C bus under base address BAh/BBh. | |||
===== LED-RGB ===== | ===== LED-RGB ===== | ||
On-board LED-RGB are controlled direct with GPIO pins of microcontroller (according to table below). Diodes are on, if state of control line has logical state „0”. | |||
<center> | <center> | ||
{| class="wikitable" style="width: 1000px;" | {| class="wikitable" style="width: 1000px;" | ||
|- | |- | ||
! style="text-align: center;"| | ! style="text-align: center;"|LED | ||
! style="text-align: center;"| | ! style="text-align: center;"|Line name | ||
! style="text-align: center;"|GPIO | ! style="text-align: center;"|GPIO in STM32 | ||
! style="text-align: center;"| | ! style="text-align: center;"|Comments | ||
|- | |- | ||
| style="text-align: center;"|Red | | style="text-align: center;"|Red | ||
| 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;"|LEDs are on, if state on GPIO pins is „0” | ||
|- | |- | ||
| style="text-align: center;"|Green | | style="text-align: center;"|Green | ||
| style="text-align: center;"|D11 | | style="text-align: center;"|D11 | ||
| style="text-align: center;"|PA7 | | style="text-align: center;"|PA7 | ||
|- | |- | ||
| style="text-align: center;"|Blue | | style="text-align: center;"|Blue | ||
| style="text-align: center;"|A3 | | style="text-align: center;"|A3 | ||
| style="text-align: center;"|PB0 | | style="text-align: center;"|PB0 | ||
|} | |} | ||
</center> | </center> | ||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-Weather_obrys_schemat_LED_RGB.png|none|500px|thumb|center]] | ||
</center> | </center> | ||
===== Joystick ===== | ===== Joystick ===== | ||
Embedded 5-way tact switch is connected direct to GPIO pins of microcontroller (according to table below). Each of pins are pulled up to power supply by using 10 kΩ resistor. | |||
<center> | <center> | ||
{| class="wikitable" style="width: 1000px;" | {| class="wikitable" style="width: 1000px;" | ||
|- | |- | ||
! style="text-align: center;"| | ! style="text-align: center;"|Joystick direction | ||
! style="text-align: center;"| | ! style="text-align: center;"|Line name | ||
! style="text-align: center;"|GPIO | ! style="text-align: center;"|GPIO in STM32 | ||
! style="text-align: center;"| | ! style="text-align: center;"|Comments | ||
|- | |- | ||
| style="text-align: center;"| | | style="text-align: center;"|Up | ||
| 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;"|Lines pulled up to power supply by 10 kΩ resistor. | ||
|- | |- | ||
| style="text-align: center;"| | | style="text-align: center;"|Down | ||
| 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;"|Left | ||
| 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;"|Right | ||
| style="text-align: center;"|D5 | | style="text-align: center;"|D5 | ||
| style="text-align: center;"|PB4 | | style="text-align: center;"|PB4 | ||
Line 308: | Line 308: | ||
</center> | </center> | ||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-Weather_obrys_schemat_joy.png|none|500px|thumb|center]] | ||
</center> | </center> | ||
===== | ===== Signal connections map of GPIO pins ===== | ||
<center> | <center> | ||
[[ | [[File:KA-Nucleo-Weather_broszura.png|none|800px|thumb|center]] | ||
</center> | </center> | ||
Latest revision as of 16:09, 1 November 2024
Description
KA-Nucleo-Weather is an functional expander for NUCLEO and Arduino boards with set of environmental sensors: pressure, humidity, temperature and light intensity sensors as well as 5-way joystick and RGB LED.
Basic features and parameters
- Compatibility with NUCLEO and Arduino systems
- Embedded MEMS pressure sensor (LPS331):
- Measurement range 260 to 1260mbar
- Measurement output data rate (ODR) 1 Hz to 25 Hz
- ADC resolution 16 bits
- Interface: SPI/I2C (used I2C)
- Embedded MEMS humidity sensor (HTS221):
- Measurement range 0 to 100% (relative humidity)
- Measurement output data rate (ODR) 1 Hz to 12,5 Hz
- ADC resolution 16 bits
- Interface: SPI/I2C (used I2C)
- Embedded digital temperature sensor (STLM75):
- Measurement range –55°C to +125°C
- ADC conversion time <150ms
- Integrated programmable thermostat
- ADC resolution 9 bits
- Interface: SMbus/I2C
- Embedded digital light intensity sensor ALS (TSL25721):
- Approximates human eye response
- Integrated analog amplifiers with programmable gain
- Two measurement canals
- Integrated programmable comparators
- Measurement dynamic range 45,000,000:1
- Maximum light intensity to 60000 lux
- ADC resolution 16 bits
- Embedded RGB LED
- Embedded 5-way joystick
- Extended pins connector
Standard equipment
Code | Description |
---|---|
KA-Nucleo-Weather |
|
Electrical schematics
Board view
Temperature sensor
In expander was used semiconductor temperature sensor STLM75 with digital output. Communication interface of temperature sensor is connected to common (for all sensors) I2C bus. Communication lines of I2C interface are pulled up to power supply by 4,7 kΩ resistors. Connection method of temperature sensor to microcontroller is showing on schematic. Output of temperature sensor is connected to line A2, which is input canal of ADC_IN4 (PA4 GPIO pin of STM32).
Line STLM75 | Line name | GPIO in STM32 | STM32 interface | Comments |
---|---|---|---|---|
SCL | D15 | PB8 | I2C1 | Lines was pulled up to power supply lines by 4,7 kΩ resistors |
SDA | D14 | PA9 | ||
OS/INT | D7 | PA8 | - |
Jumper JP1 make possible choosing base address of STLM75 chip according to table below:
Closed pins JP1 | A0 | I2C base address |
---|---|---|
1-2 | 1 | 90h/91h |
2-3 | 0 | 92h/93h |
Light intensity sensor (ALS)
Expander is equipped with digital sensor of light intensity in environment TSL25721. Sensor has I2C interface. Communication bus of this sensor is connected to common (for all sensors) I2C bus. I2C communication lines are pulled up to power supply by 4,7 kΩ resistors. Connection method of TSL25721 sensor to microcontroller is showing on schematic.
Line TSL25721 | Line name | GPIO in STM32 | STM32 interface | Comments |
---|---|---|---|---|
SCL | D15 | PB8 | I2C1 | Lines was pulled up to power supply lines by 4,7 kΩ resistors |
SDA | D14 | PA9 | ||
INT | A0 | PA0 | - | - |
TSL25721 sensor is placed in I2C bus under base address 72h/73h.
Humidity sensor
Expander is equipped with digital humidity sensor HTS221 with I2C communication interface. Communication bus of this sensor is connected to common (for all sensors) I2C bus. I2C communication lines are pulled up to power supply by 4,7 kΩ resistors. Connection method of HTS221 sensor to microcontroller is showing on schematic.
Line HTS221 | Line name | GPIO in STM32 | STM32 interface | Comments |
---|---|---|---|---|
SCL | D15 | PB8 | I2C1 | Lines was pulled up to power supply lines by 4,7 kΩ resistors |
SDA | D14 | PA9 | ||
DRDY | D8 | PA9 | - | - |
HTS221 sensor is placed in I2C bus under base address BEh/BFh.
Pressure sensor
Expander is equipped with digital pressure sensor LPS331 with I2C communication interface. Communication bus of this sensor is connected to common (for all sensors) I2C bus. I2C communication lines are pulled up to power supply by 4,7 kΩ resistors. Interrupt output (INT1 and INT2) of sensor LPS331 can work in push-pull mode and don't need pulling up to power supply. Connection method of LPS331 sensor to microcontroller is showing on schematic.
Line LPS331 | Line name | GPIO in STM32 | STM32 interface | Comments |
---|---|---|---|---|
SCL | D15 | PB8 | I2C1 | Lines was pulled up to power supply lines by 4,7 kΩ resistors |
SDA | D14 | PA9 | ||
INT1 | A1 | PA1 | - | Outputs should be configured as push-pull |
INT2 | A2 | PA4 | - |
LPS331 sensor is placed in I2C bus under base address BAh/BBh.
LED-RGB
On-board LED-RGB are controlled direct with GPIO pins of microcontroller (according to table below). Diodes are on, if state of control line has logical state „0”.
LED | Line name | GPIO in STM32 | Comments |
---|---|---|---|
Red | D12 | PA6 | LEDs are on, if state on GPIO pins is „0” |
Green | D11 | PA7 | |
Blue | A3 | PB0 |
Joystick
Embedded 5-way tact switch is connected direct to GPIO pins of microcontroller (according to table below). Each of pins are pulled up to power supply by using 10 kΩ resistor.
Joystick direction | Line name | GPIO in STM32 | Comments |
---|---|---|---|
Up | D4 | PB5 | Lines pulled up to power supply by 10 kΩ resistor. |
Down | D10 | PB6 | |
Left | D3 | PB3 | |
Right | D5 | PB4 | |
OK | D6 | PB10 |