Doverosa premessa: alcune delle foto sono state riprese in aree private dopo avere contattato il proprietario.
Durante una girata nel bosco mi sono trovato in un ambiente inaspettato ovvero la presenza di calcareous tufa (io pensavo che si chiamassero travertini fluviali ma aggiornandomi ho scoperto che il termine travertini e' relativo a precipitazione di carbonato derivante da sorgenti termali con materiale compatto e ben stratificato; in questo caso si deve usare il termine calcareous tufa perche' non si tratta di sedimenti porosi,mal stratificati e scarsamente cementati e la temperatura dell'acqua era di 16 gradi C in tutti i punti misurati)
Gli affioramenti sono molto poco estesi arealmente e partono a monte dalla strada asfaltata che conduce a Villa Barone - San Giorgio sino al Borgo di Bagnolo a valle. (circa 500 m lineari per un dislivello di 50 m)
La formazione affiorante e' la Formazione di M.Morello che passa verso il basso a SIllano. La cosa che mi ha incuriosito e' che mi e' capitato di rilevare su diversi fiumi impostati sulla Formazione di M.Morello ma non avevo mai visto la presenza di calcareous tufa
A monte della strada non c'e' circolazione idrica superficiali negli impluvi mentre e' molto abbondante al di sotto della strada forse in corrispondenza di una linea di sorgenti attorno a quota 200 m slm. Da notare una rottura di pendio in corrispondenza della strada che a valle ha un versante meno acclive dove sono presenti gli ulivi (c'e' sicuramente un intervento antropico di terrazzamento ma non sembra tale da giustificare la differenza di pendenza)
Mappa delle foto
Con un conduciumetro portatile ho provato a misurare in vari punti la conducibilita' (valori in carta espressi in microS/cm). In generale si ha una conducibilita' modesta che ha la tendenza ad aumentare verso le quote maggiori)
Mappa della misure di conducibilita' (microS/cm)
Foto 1 Villa Barone
Foto 2 Vasca con troppo pieno (probabile sorgente)
Foto 3 Fosso Pian di Scalini ramo Ovest
Foto 4
Foto 5 Cascata
Foto 6 Alveo asciutto a monte della strada asfaltata
La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferimento e' il seguente https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display (oppure https://github.com/hexeguitar/ESP32_TFT_PIO)
Si puo' usare tramite Arduino Ide importando le due librerie TFT_eSPI and XPT2046_Touchscreen
Iniziando dallo schermo TFT prima di provare gli esempi della libreria si deve modificare il file User_Setup.h nel folder in Arduino/libraries/TFT_eSPI
Per provare la sola componente TouchScreen si puo' usare il seguente esempio (quello di default non funziona perche' non sono mappati in modo corretto i pin)
if (touchscreen.tirqTouched() && touchscreen.touched()) {
// Get Touchscreen points
TS_Point p = touchscreen.getPoint();
// Calibrate Touchscreen points with map function to the correct width and height
x = map(p.x, 200, 3700, 1, 320);
y = map(p.y, 240, 3800, 1, 240);
z = p.z;
printTouchToSerial(x, y, z);
}
}
Il led RGB e' controllabile tramite questo script
#definePIN_RED4 // GPIO23
#definePIN_GREEN16 // GPIO22
#definePIN_BLUE17 // GPIO21
voidsetup() {
pinMode(PIN_RED, OUTPUT);
pinMode(PIN_GREEN, OUTPUT);
pinMode(PIN_BLUE, OUTPUT);
}
voidloop() {
// color code #00C9CC (R = 0, G = 201, B = 204)
setColor(0, 201, 204);
delay(1000); // keep the color 1 second
// color code #F7788A (R = 247, G = 120, B = 138)
setColor(247, 120, 138);
delay(1000); // keep the color 1 second
// color code #34A853 (R = 52, G = 168, B = 83)
setColor(52, 168, 83);
delay(1000); // keep the color 1 second
}
voidsetColor(int R, int G, int B) {
analogWrite(PIN_RED, R);
analogWrite(PIN_GREEN, G);
analogWrite(PIN_BLUE, B);
}
Attaccando uno speaker esterno si puo' generare un suono utilizzando un altoparlante esterno collegando ai pin che sono predisposti sul DAC 2 (GPIO 26)
#defineDAC_CH226
voidsetup() {
}
voidloop() {
for (int deg = 0; deg < 360; deg = deg + 1) {
dacWrite(DAC_CH2, int(128 + 64 * sin(deg * PI / 180)));
}
}
Per usare LVGL ho provato a passare da Arduino IDE ma ho trovato un mondo di problemi. La soluzione piu' semplice e' il progetto PlatformIO (sempre con base codice Arduino)
in seguito si toglie il commento in platformio.ini in corrispondenza della propria scheda (ci sono molti modelli con differenti risoluzione e touch sia capacitivi che resistivi) e si fa il build
[platformio]
#default_envs = esp32-1732S019C
#default_envs = esp32-1732S019N
#default_envs = esp32-2424S012C
#default_envs = esp32-2424S012N
#default_envs = esp32-2432S022N
#default_envs = esp32-2432S022C
#default_envs = esp32-2432S024C
#default_envs = esp32-2432S024N
#default_envs = esp32-2432S024R
default_envs = esp32-2432S028R
#default_envs = esp32-2432S028Rv2
#default_envs = esp32-2432S028Rv3
Per personalizzare l'interfaccia grafica non sono riuscito ad importare il progetto dentro SquareLine Studio, un programma per creare interfacce di LVGL (il programma non e'stabile in nessuna delle versioni ed ha la necessita' di funzionare con sudo sotto Linux per non meglio chiariti motivi)
Per aggirare il problema ho creato un progetto ex novo Arduino in SquareLine
impostante le dimesioni dello schermo a 320x240x16 colori e nominando la prima finestra scrMain
Dopo aver testato l'interfaccia ho esportato la UI ho copiato il folder /scr/ui nel folder ui di esp32-smartdisplay-demo
Il dataset visto nel precedente post e' fornito anche da determinazione mineralogiche come la speciazione delle argille. Ho provato a vedere se la regressione con la rete neurale riusciva a fare previsioni dove il metodo della profondita' di picco normalizzata non mi ha mai funzionato nel dottorato
Lo spettro e' stato associato quindi al contenuto in illite e fatto girare il medesimo script del post precedete
Grafico Loss
Dataset di validazione
Dataset di test
i risultati seppure non eccezionali sono molto migliori di quelli che ho mai ottenuto in dottorato
Dopo aver trovato questo esempio sulla regressione con Tensorflow/Keras ho ritirato fuori un set di misure iperspettrali di laboratorio effettuato con FieldSpec in laboratorio per vedere se il metodo poteva essere utilizzato per la regressione della concentrazione di carbonati in campioni di terreno naturali
I campioni analizzati erano stati tutti setacciati a 0.075 mm ed erano stati passati in forno per eliminare l'umidita'. Di seguito gli spettri
Tutti i campioni sono stati analizzati in laboratorio per la determinazione chimica del contenuto in carbonato di calcio
Gli spettri sono stati letti dai file originali in .asd e convertiti in un csv mediante la libreria Python SpecDal
L'ultima colonna e' il dato di laboratorio mentre le altre colonne corrispondono alla riflettanza alle differenti lunghezze d'onda e costituiscono le features
Ho provato a non effettuare la rimozione del continuum perche' le misure sono fatte in condizioni controllate su materiale preparato (con parita' di granulometria ed umidita')
Mediante lo script sottostante e' stata effettuata la regressione fino a 100 epochs (non si avevano vantaggi per numeri superiori). Il dataset originario di 40 misure e' stato diviso an 80% di addestramento (di cui 20% di validazione) e 20% di test
Dataset di validazione
Dataset di test
Durante il dottorato, su una serie differente ed usando la profondita' di picco normalizzata a 2345 nm, avevo avuto una regressione migliore utilizzando anche una matematica piu' semplice
L'aspetto interessante di questo approccio e' che non e' necessario conoscere a priori la lunghezza d'onda di assorbimento desiderato. L'algoritmo pur non conoscendolo esplicitamente lo invidua nelle features in modo autonomo
da osservare che l'interpolazione avviene tramite una spline cubica per cui su cuspidi non e' detto che il risultato sia accettabile. SciPy offre altre opzioni per la curva di interpolazione
Con il tempo la pedaliera del Logitech G920 ha cominciato a fare i capricci in particolare per quanto riguarda l'acceleratore
Ho provato a smontarla per rimediare
Dopo avere tolto le brugole dai pedali si rovescia la pedaliera e si tolgono tutte le viti con testa argentata. Attenzione che due sono poco visibili perche' nascoste sotto al blocco zigrinato per il tappeto
Una volta tolte le viti si separa il guscio della base...c'e' da fare attenzione al blocco del cavo
La componente elettrica e' molto semplice, un potenziometro per ogni pedale.
Una volta tolta tutta la polvere accumulata e spruzzato il pulisci contatti sui potenziometri la pedaliera e' tornata a funzionare
Si deve fare molta attenzione a richiudere perche' e' molto semplice rompere i fili stringendoli tra i due gusci (ovviamente cosa che ho fatto)
Le schede Luckfox Pico Mini A (a differenza delle sorelle maggiori) non hanno un connettore RJ45 e nonostante i pin da saldare non sembrano poter disporre di connessione di rete Ethernet.
In realta' basta saldare un cavo ethernet come da foto e modificare il kernel per abilitare la rete
I colori del cavo ethernet da collegare sono
TXP : verde bianco
TXN : verde
RXP : arancio bianco
RXN : arancio
Per compilare il kernel sono preferito partire dall'SDK