Ciao!
Progetto davvero interessante.
Riguardo alla tua domanda, raggiungere una portata di 30 metri con i classici sensori tipo ultrasuoni o infrarossi purtroppo è praticamente impossibile: come hai giustamente notato, si fermano a 6–7 metri e non sono adatti all’ambiente marino (nebbia, pioggia, luce solare li mandano in crisi).
Per quello che cerchi tu, ti suggerisco di valutare un piccolo radar FMCW (a onde radio) di quelli usati nel settore automotive, che stanno diventando sempre più accessibili. Un esempio interessante è il Texas Instruments IWR6843, che può rilevare ostacoli statici e in movimento anche a 50–100 metri, con un angolo abbastanza stretto (perfetto per il "cono" frontale di una barca a motore lento come la tua).
In alternativa, potresti anche valutare un lidar long-range, tipo il Benewake TF03 o il LightWare SF30, che hanno portate fino a 100 metri e un fascio molto stretto (quindi perfetti per “guardare a prua”). Sono più semplici da interfacciare rispetto a un radar, ma vanno protetti molto bene dagli agenti atmosferici, perché soffrono nebbia e acqua salata.
Personalmente ti consiglio di usare un ESP32 al posto di un semplice Arduino, soprattutto se prevedi di analizzare i dati in tempo reale: il radar o lidar produce una discreta quantità di informazioni, e avere più potenza di calcolo ti aiuta anche a filtrare i dati e prendere decisioni migliori sul controllo del pilota.
Se vuoi posso darti una mano anche lato codice o schema di collegamento. Tienici aggiornati, sarebbe bello vedere come procede.