Ciao a tutti, finalmente ho avuto un poco di tempo per completare il demo board del mio flat field panel motorizzato per il telescopio.
Il progetto, per chi non si ricordasse, consisteva nel creare uno schedino collegato e comandato da NINA (sw astronomico) con opzione manuale.
Ora ho completato la versione manuale. Premo un pulsante e la scheda fa qualcosa, premo l'altro la scheda fa un'altra cosa.
https://drive.google.com/file/d/1OuWZrfMpJY9kn0UmqQ4S5WqcPMYeOtgc/view?usp=sharing
Ora bisogna collegarlo a NINA.
Come detto non sono un programmatore e nel tempo ho avuto modo di divertirmi a fare diverse cose con i Microchip programmate in C, ma niente riguardo la comunicazione con il PC, quindi proprio non ne so niente.
Ho trovato un codice (questo https://github.com/jlecomte/ascom-telescope-cover-v2/tree/master#microcontroller-compatibility ) ma purtroppo è scritto per un micro diverso, Seeed Studio XIAO SAMD21(Seeeduino XIAO).
Qualcuno ha idea di come utilizzare quella parte di codice Seeduino riguardo la comunicazione e metterla nel mio in modo che possa funzionare?
In alternativa, sapete se esiste qualcosa di poter cannibalizzare per metterlo nel mio?
temo tu stia partendo dalla parte sbagliata
per fare come chiedi bisognerebbe decodificare il codice che indichi
capire cosa fa
capire a cosa risponde
decodificare quindi il protocollo di scambio dati
e ricostruirne quindi l'equivalente in Arduino
è come voler duplicare una nave da guerra della seconda guerra mondiale analizzando adesso il relitto di un'ALTRA nave, nemica, che è stata affondata nel 44 da quella che vuoi duplicare
troppi passaggi da ricostruire e troppo poche informazioni per farlo
per avere un minimo di speranze di riuscita devi partire dalle specifiche del programma su PC, che ti dirà per filo e per segno il protocollo da usare
e già così scrivere la parte arduino non è detto che sia semplice
Il firmware di cui hai messo il link è scritto usando il framework Arduino quindi migrare su un Nano è poca cosa in realtà.
Il parsing dei comandi viene fatto con la classica Serial, da quel punto di vista non c'è nessuna differenza.
L'unica cosa non compatibile è la libreria FlashStorage perché il nano non ha flash accessibile per lo storage.
Quindi o ignori il salvataggio persistente della calibrazione dei servo oppure lo riadatti usando l'EEPROM del nano.
Fatto, firmware completato, lunghezza della rotazione a parte che ho già implementato ma non si vede nel video.
In realtà non ho dovuto convertire niente. Fatto ex novo con Arduino IDE e la NANO.

Questo il risultato collegato al mio "sistema di sviluppo", se lo vogliamo chiamare così.
Dico tranquillamente che ho preso spunto da qualcosa di esistente qua e là, un po' solo per il tappo motorizzato, un po' per il pannello LED , un po' per altre cosine.
Soprattutto per la parte di comunicazione, che mi mancava, ma leggendo alcune istruzioni non è poi tutta quella roba, anzi è piuttosto semplice. Forse se avessi trovato quel documento nel forum americano che ho visto solo alla fine delle mie ricerche dove con 4 esempi mi ha dato gli spunti che mi servivano avrei fatto anche prima. Vabbè.
La si riesce a simulare anche dalla finestra "monitor seriale" di Arduino IDE.
Il resto l'ho personalizzato alle mie esigenze.
https://drive.google.com/file/d/1DjswgjpVRPOE6FNnk4w0iToc09BsUXUy/view?usp=drive_link
Lo pubblicherò sul mio sito, già in programma ed impostata la pagina, appena avrò un po' di tempo.

Ho implementato anche il secondo otturatore, per il telescopio guida. Ho aggiunto al pin successivo, 10, il PWM e pilotato il secondo servomotore.