Apro questo topic come idea preliminare, e giusto nel caso poi il tutto (se funzionera' ) possa venire utile anche a qualcun'altro.
Premetto che al momento e' in fase solo preliminare, mi mancano alcuni componenti che devono arrivare, quindi il software lo sto scrivendo "al volo" per portarmi avanti, dato che posso testarne solo una parte (inoltre, conoscendomi, ci saranno molto probabilmente alcune modifiche che mi verranno in mente in corso d'opera da aggiungerci)
Mi e' stato chiesto da una onlus se esistesse un "coso" che potesse essere agganciato ad un ROV, per mandarlo sott'acqua e fare una serie di registrazioni di profondita' e temperatura dell'acqua, ma che avesse anche uno schermo che fosse visibile dalla camera di navigazione durante l'esplorazione (e che possibilmente non costasse un rene) ... dato che l'unica cosa che fa log di temperatura e profondita' che ho trovato per sub, apparentemente, oltre a costare uno sproposito e' un "cosino" senza neppure un display, e che per giunta legge solo ogni 10 secondi, e' nata l'idea di autocostruirlo.
L'idea di partenza e' stata di farlo non solo "foolproof", ma proprio "blindato", dato che non e' detto che un'operatore di ROV se ne intenda anche di apparecchiature elettroniche, e che potrebbe finire nelle mani di chiunque (ho visto cose ...), cosi ho optato per un sistema con un solo comando, l'interruttore di accensione, che infilero' nel corpo in alluminio di un vecchio faro per camere subacquee che mi hanno procurato, che ha un'anello esterno con un magnete come interruttore (piu "blindato" di cosi ... ).
Il circuito e' piuttosto elementare a livello di hardware (la partita a tetris che ci vorra' poi per far stare tutto nel contenitore e' un'altro discorso), un 328P (poi usero' un PB, ma solo perche' ne ho alcuni inutilizzati, va bene anche il classico 328P), un display OLED da 1.3, una microSD con il suo zoccolino, un sensore che legga sia temperatura che pressione e sia adatto a lavorare sott'acqua, una volta opportunamente resinato, e poco altro, ho shakerato bene e ne e' uscito questo schema:
Il sensore (MS5837-30BA) condivide l'I2C con il display, mentre la SD ha la sua SPI, che condivide il connettore con l'ICSP portandoci anche il reset.
L'idea e' di usare la MCU senza quarzo, con l'oscillatore interno, far andare tutto a 3.3V (circa, usero' una cella LiPo), e di leggere i dati una volta ogni secondo e mezzo circa (4 letture ogni 50mS circa di cui fare la media), visualizzarli sul display, scriverli sulla microSD in formato CSV, fare un breve lampeggio del led per confermare la scrittura ed attendere fino alla successiva lettura, questo come comportamento generale ... all'accensione dovro' fare un controllo iniziale per vedere se tutto va bene, se il display inizializza, se c'e' la microSD inserita, se la batteria e' troppo scarica, in caso di un qualsiasi errore mandero' tutto in blocco in una funzione che fara' lampeggiare in continuazione il led (250mS on/250mS off) con un while(1), mentre se tutto sara' ok, iniziera' direttamente a fare le letture e visualizzare e scrivere i dati senza altri interventi.
Sto' buttando giu (dalla finestra) qualche riga di software, appena inizia ad avere un senso lo posto qui per eventuali suggerimenti e critiche.