# Termoigrometro ST03

<abstract>
L'ST03 è un termoigrometro RS485 progettato per Valter Violanti adattando la scheda Acme Systems Harvest 10
per simulare il funzionamento della vecchia versione ST01 basata su PICMicro 
</abstract>

<img width="1024px" src="./st03_pinout.jpg">


## Documentazione

* Repository GitHub <https://github.com/tanzilli/lora3a-st03.git>
* @article='st03_riot'
* @article='st03_ttgo'
* [Schema elettrico ST03](./ST03_schematic.pdf)
* [Piano componenti](./ST03_components_view.png)
* @article='st03_snap'
* Sorgente per PIC del vecchio nodo [T628A16.ASM](./T628A16.ASM)

## Programmazione scheda

* Aprire una sessione terminale (sempre in alto a sinistra)

Dare il seguenti comandi:

	cd lora3a-st03

Quindi inserire il programmatore e dare il seguente comando:

	sudo make flash

## Connessioni tra Atmel ICE e connettore J6 sulla ST03

| Atmel ICE| ST03    |
|----------|---------|
| 1        |       5 |
| 2        |         |
| 3        |         |
| 4        |         |
| 5        |         |
| 6        |       6 |
| 7        |       4 |
| 8        |         |
| 9        |       3 |
| 10       |       2 |

## Compilazione esempi

	cd RIOT/examples/default
	make BOARD=lora3a-sensor1 EXTERNAL_BOARD_DIRS=/home/pi/lora3a-boards/boards flash term PORT=/dev/ttyUSB0

## Algoritmi di estrazione delle letture

Questo è l'algoritmo di estrazione della lettura a partire dal binario letto dal sensore SHT-75

	// Estrae dal capo dati in ricezione il valore letto dal PIC16F628A
	iTem = ((rxDataBuf[0]*256)&0xFF00)+((rxDataBuf[1])&0xFF);
	iUmi = ((rxDataBuf[2]*256)&0xFF00)+((rxDataBuf[3])&0xFF);
	
	if (pfb==0x00) {
		temp = -40 + 0.01 * iTem;
		umid = -4 + 0.0405 * iUmi + -0.0000028 * (float)iUmi * (float)iUmi;
	}

## Led lampeggiante 

	#include <stdio.h>
	#include <string.h>
	#include "thread.h"
	#include "xtimer.h"
	
	#include "periph/gpio.h"
	
	int main(void)
	{
	    gpio_init(GPIO_PIN(PA, 5), GPIO_OUT);
	
	    (void) printf("\r\n");
	    (void) printf("Welcome to RIOT!\r\n");
	
	    for(;;) {
	        gpio_set(GPIO_PIN(PA, 5));
	        xtimer_msleep(1000U);
	        gpio_clear(GPIO_PIN(PA, 5));
	        xtimer_msleep(1000U);
	    }
	    return 0;
	}

## Link e datasheet

* [Chip RS485 MAX3483](./MAX3483.pdf)
* [Nuovo sensore Texas HDC3020](./hdc3020.pdf)
* Vecchio sensore Sensirion SHT-75
	* [Datasheet SHT-75](./SHT-75.pdf)
	* [Web page](https://www.sensirion.com/en/environmental-sensors/humidity-sensors/pintype-digital-humidity-sensors/)
* [Embit EMB-LR1276S Datasheet Datasheet](http://www.embit.eu/wp-content/uploads/Datasheet-EMB-LR1276S-rev1_1.pdf)
* Microchip
	* [Microchip SAM R34/R35 Low Power LoRa® Sub-GHz SiP Datasheet](https://ww1.microchip.com/downloads/en/DeviceDoc/SAM-R34-R35-Low-Power-LoRa-Sub-GHz-SiP-Data-Sheet-DS70005356C.pdf)
	* [Microchio SAM L21 Datasheet](http://ww1.microchip.com/downloads/en/DeviceDoc/SAM_L21_Family_DataSheet_DS60001477C.pdf)


